brainevent.update_coo_on_binary_post_p

brainevent.update_coo_on_binary_post_p#

brainevent.update_coo_on_binary_post_p = <brainevent.XLACustomKernel object>#

Low-level XLA custom-kernel primitive for update_coo_on_binary_post.

This XLACustomKernel instance dispatches the COO weight update for post-synaptic binary plasticity operation to registered backends (numba, pallas), using runtime shape/dtype metadata provided by the high-level wrapper.

For each synapse i in COO format, if the postsynaptic neuron fires (post_spike[post_ids[i]] is nonzero), the weight is updated as weight[i] += pre_trace[pre_ids[i]]. This implements the postsynaptic half of a spike-timing-dependent plasticity (STDP) rule, where the update magnitude depends on the presynaptic eligibility trace.

Beyond backend dispatch, the primitive stores JAX transformation bindings (JVP, transpose, batching, and call registration) so the operation integrates correctly with jit, vmap, and autodiff.

Available backends can be queried with update_coo_on_binary_post_p.available_backends(platform), and the default backend can be configured with update_coo_on_binary_post_p.set_default(platform, backend).

See also

update_coo_on_binary_post

High-level user-facing function wrapper.