brainevent.binary_fcnmv_p

Contents

brainevent.binary_fcnmv_p#

brainevent.binary_fcnmv_p = <brainevent.XLACustomKernel object>#

Low-level XLA custom-kernel primitive for binary_fcnmv.

This XLACustomKernel instance dispatches the binary (event-driven) fixed-connection matrix-vector multiplication operation to registered backends (numba, pallas, cuda_raw), using runtime shape/dtype metadata provided by the high-level wrapper.

Fixed-connection format stores connectivity where each neuron has a fixed number of incoming or outgoing connections. The event-driven formulation only processes active (spiking) neurons, skipping zero entries for efficiency.

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.

The primitive takes six positional arguments: (weights, indices, spikes, col_weights, col_indices, col_indptr). The final three arguments hold the optional column-major mirror used only by the CUDA transpose=False column-scatter path.

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

See also

binary_fcnmv

High-level user-facing function wrapper.