brainevent.update_coo_on_binary_pre_p

brainevent.update_coo_on_binary_pre_p#

brainevent.update_coo_on_binary_pre_p = <brainevent.XLACustomKernel object>#

Low-level XLA custom-kernel primitive for update_coo_on_binary_pre.

This XLACustomKernel instance dispatches the COO weight update for pre-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 presynaptic neuron fires (pre_spike[pre_ids[i]] is nonzero), the weight is updated as weight[i] += post_trace[post_ids[i]]. This implements the presynaptic half of a spike-timing-dependent plasticity (STDP) rule, where the update magnitude depends on the postsynaptic 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_pre_p.available_backends(platform), and the default backend can be configured with update_coo_on_binary_pre_p.set_default(platform, backend).

See also

update_coo_on_binary_pre

High-level user-facing function wrapper.