June 28, 2026 9 min read

Rockpool vs Sinabs vs Norse vs Brian2 vs Nengo: SNN Framework Comparison

These five tools get compared as if they're competing for the same job. They aren't. Each one is built for a different point in the pipeline - hardware deployment, PyTorch research, biological realism, or cognitive modeling - and the "best" one depends entirely on which point that is.

Direct answer

Pick by deployment target, not popularity: Rockpool and Sinabs (both from SynSense) are for deploying trained SNNs onto SynSense's own neuromorphic chips (Xylo, DYNAP-CNN). Norse is for PyTorch-native SNN research with standard autograd, no specific hardware target. Brian2 is for biologically detailed neuroscience simulation with fine-grained differential-equation control, not deep-learning-style training. Nengo is for cognitive and neuromorphic modeling built on its own Neural Engineering Framework (NEF), with its own hardware backends (Loihi via NengoLoihi). None of them does ANN-to-SNN conversion as their primary function.

The comparison, side by side

FrameworkBuilt byPrimary use caseHardware targetPyTorch-native
RockpoolSynSenseDeploy SNNs to SynSense chipsXylo, DYNAP-CNNPartial
SinabsSynSenseTrain + deploy CNN-like SNNsDYNAP-CNN, SpeckYes
NorseAcademic/OSSPyTorch-native SNN researchNone specific (CPU/GPU)Yes
Brian2Academic/OSSBiological neuron simulationNone (CPU/GPU sim)No
NengoApplied Brain ResearchCognitive/NEF modelingLoihi (via NengoLoihi)No

Rockpool and Sinabs: built around specific silicon

Both come from SynSense, a neuromorphic hardware company, and both exist primarily to get a trained network running correctly on SynSense's own chips. Sinabs leans toward CNN-style spiking architectures with a training workflow that should feel familiar if you already know PyTorch; Rockpool covers a broader range of neuron models including the recurrent and analog-inspired dynamics SynSense's Dynap-family chips support. If you are not targeting SynSense hardware specifically, the chip-specific quantization and deployment tooling in both is dead weight you don't need.

Norse: the PyTorch-native research option

Norse positions itself closest to "just PyTorch, but the neurons spike." It uses standard PyTorch tensors, standard autograd (via surrogate gradients for the spike non-linearity), and doesn't assume any particular deployment target. This makes it a reasonable default for research that needs SNN building blocks without hardware lock-in, but it also means Norse alone doesn't solve the deployment problem - getting a Norse-trained model onto GPU, CPU, Loihi, or FPGA backends is left to the user or to separate tooling.

Norse answers "how do I train a spiking network in PyTorch." It does not answer "how do I run this trained network on five different backends." Those are different problems, and conflating them is the most common mistake in framework selection.

Brian2: simulation accuracy over deep learning scale

Brian2 is a neuroscience simulator first. It lets you write neuron and synapse models as differential equations directly and simulates them with high biological fidelity - this is the right tool if your goal is modeling realistic cortical dynamics, not training a deep network to classify images. It has no autograd-based training pipeline comparable to the PyTorch-based tools, so applying it to deep-learning-style SNN training (large networks, gradient descent, standard datasets) is fighting the tool's actual design intent.

Nengo: cognitive modeling with its own theoretical framework

Nengo is built on the Neural Engineering Framework (NEF), a specific theory for representing and transforming signals with populations of spiking neurons. It's the right choice if you're building cognitive models or want NengoLoihi's specific Loihi deployment path within that NEF framework. It is a poor fit if your starting point is "I have a trained PyTorch image classifier and want it to spike" - that's not the problem NEF is designed to solve.

What none of these five do

None of Rockpool, Sinabs, Norse, Brian2, or Nengo is built around taking an already-trained conventional ANN (a ResNet, an MLP) and converting it into an SNN via calibration methods like QCFS, then deploying the result across multiple unrelated backends (GPU, CPU, a Loihi simulator, FPGA) from one frontend. Sinabs and Rockpool deploy to specific chips; Norse trains in PyTorch without a deployment story; Brian2 and Nengo serve different scientific goals entirely. That gap - ANN-to-SNN conversion plus multi-backend deployment from one API - is the specific problem NeuroCUDA is built around, and it's worth being precise that this is a different job than what these five tools are doing, not a claim that they do the same job worse.

Sources & further reading

  1. Rockpool documentation, SynSense
  2. Sinabs documentation, SynSense
  3. Norse documentation and paper, Pehle & Pedersen
  4. Brian2 documentation, Stimberg, Brette & Goodman
  5. Nengo documentation, Applied Brain Research / Eliasmith lab

Frequently asked questions

What is the best spiking neural network framework?

There is no single best framework - the right choice depends on your goal. Rockpool and Sinabs are built for deploying SNNs to specific neuromorphic hardware (SynSense chips). Norse is built for PyTorch-native research with standard autograd. Brian2 is built for biologically detailed neuroscience simulation, not large-scale deep learning. Nengo is built for cognitive/neuromorphic modeling with its own NEF framework. Choosing based on your deployment target, not general popularity, gives the right answer.

What is the difference between Norse and Rockpool?

Norse is a PyTorch-native SNN library aimed at researchers who want standard PyTorch autograd and training workflows applied to spiking neurons, with no specific hardware target. Rockpool is built by SynSense specifically to deploy trained SNNs onto SynSense's own neuromorphic chips (like Xylo and DYNAP-CNN), with hardware-specific quantization and deployment tooling that Norse does not provide.

Is Brian2 good for deep learning spiking neural networks?

Brian2 is built for biologically detailed neuroscience simulation - modeling realistic neuron and synapse dynamics with fine-grained control over differential equations - rather than for training large-scale deep SNNs with gradient descent. It lacks the autograd-based training infrastructure that frameworks like Norse, Sinabs, or PyTorch-based tools provide, so it is a poor fit for deep-learning-style SNN training despite being excellent for simulation accuracy.