The BrainX Ecosystem#
brainspike is the point-neuron modeling layer of the BrainX ecosystem — a family of composable, JAX-based packages
for brain modeling and brain-inspired computing. Each package owns one concern,
and brainspike builds on them: state management, physical units,
event-driven operators, training/analysis tooling, and online learning.
State management for JAX-based brain modeling. Provides the State
abstraction, init_all_states, environ.context (dt/t), the
brainstate.nn modules and connectivity, and the brainstate.transform
primitives (jit / for_loop / scan / checkpointed_*) that
drive every brainspike model.
Physical units for neuroscience. Every brainspike parameter carries a
unit (mV, ms, nS, …) so dimensional errors are caught at
construction time rather than producing silently wrong results.
Event-driven sparse operators. Supplies the sparse, spike-event linear algebra behind large recurrent and balanced networks, keeping memory and compute proportional to the events that actually occur.
Surrogate gradients, initializers, optimizers, metrics, and visualization.
Home of braintools.surrogate (passed as spk_fun=),
braintools.init, braintools.optim, braintools.metric, and
braintools.visualize used throughout the training examples.
Linear-memory online learning for spiking networks. The published engine (BrainScale preprint → BrainTrace) that reformulates real-time recurrent learning so memory scales linearly with the number of neurons, exploiting the same neuron-aligned synaptic state as AlignPre/AlignPost.
Installing the ecosystem#
The whole stack installs together:
pip install BrainX
See Installation for per-backend (CPU / CUDA / TPU) options.
See Also#
Citing brainspike — how to cite the framework.