BrainX EcosystemBuild, simulate and train brain models at every scale
BrainX Ecosystem brings together open-source JAX libraries for building brain models at every scale, fitting them to data with gradients, and running them on CPU, GPU or TPU.
One runtime from ion channel to whole brain
The same state objects, integrators and compiler run every model, so a detailed neuron can sit inside a network that sits inside a whole-brain model.
What you can do with it
- Full-scale simulation
Model ion channels, dendrites, spiking networks and whole-brain dynamics with one set of tools.
- AI compatibility
Use Flax, Optax and Orbax inside a brain model. It is all JAX, so they work together directly.
- Differentiable optimization
Fit models to recordings or train them on tasks with backprop through time, surrogate gradients or online learning.
- Powered by JAX
Compile models with jit and run the same code on a laptop CPU, a GPU or a TPU.
Eight packages, three layers
Install only what your model needs. Every package builds on BrainState.
ModelingPick by scale
- BrainSpikeSpiking networks of point neurons
- BrainCellBiophysically detailed neurons
- BrainMassWhole-brain neural-mass models
Shared infrastructureUsed by every model
- BrainUnitPhysical units for JAX
- BrainEventEvent-driven sparse operators
- BrainTraceOnline gradient learning
- BrainToolsVisualization and utilities
RuntimeUnder everything
- BrainStateState management and compilation on JAX
Using an AI coding agent? The BrainX skill teaches it the ecosystem. See every package
Why pick BrainX
How BrainX compares with other brain simulators. Partial means the feature exists through an add-on or with limits; the notes say which.
| Capability | BrainX | NEURON | Brian2 | NEST | NetPyNE | TVB |
|---|---|---|---|---|---|---|
| Multi-compartment neurons | Yes | Yes | Yes | Partialnote 1 | Yes | No |
| Large spiking networks of point neurons | Yes | Yes | Yes | Yes | Yes | Partialnote 2 |
| Whole-brain neural-mass models | Yes | No | No | Partialnote 3 | No | Yes |
| Physical-unit checking | Yes | Partialnote 4 | Yes | Partialnote 5 | Partialnote 4 | No |
| GPU or TPU | Yes | Partialnote 6 | Partialnote 7 | Partialnote 8 | Partialnote 6 | Partialnote 9 |
| Multi-node (MPI) simulation | Yes | Yes | No | Yes | Yes | Partialnote 10 |
| Differentiable end to end | Yes | No | No | No | No | Partialnote 11 |
| Built-in online gradient learning | Yes | No | No | Yes | No | No |
| Works with Flax and Optax | Yes | No | No | No | No | Partialnote 11 |
- NEST: one compartmental model (cm_default).
- TVB: by co-simulating with NEST, ANNarchy or NetPyNE through tvb-multiscale.
- NEST: rate neurons, but no whole-brain or connectome tooling.
- NEURON and NetPyNE: modlunit checks units in NMODL mechanism files only.
- NEST: in models written in NESTML only.
- NEURON and NetPyNE: GPU through CoreNEURON, with some mechanism restrictions.
- Brian2: GPU through the separate Brian2CUDA or Brian2GeNN packages.
- NEST: GPU through the separate NEST GPU project.
- TVB: RateML generates CUDA kernels for parameter sweeps.
- TVB: MPI spreads independent parameter-sweep runs, not one simulation.
- TVB: through the separate JAX library vbjax.