mlx-snn: Spiking Neural Networks on Apple Silicon via MLX
This provides Apple Silicon users with an efficient native option for SNN research, though it is incremental as it adapts existing methods to a new framework.
The authors tackled the lack of a native spiking neural network library for Apple Silicon by introducing mlx-snn, achieving up to 97.28% accuracy on MNIST with 2.0–2.5 times faster training and 3–10 times lower GPU memory than snnTorch on M3 Max hardware.
We introduce mlx-snn, the first spiking neural network (SNN) library built natively on Apple's MLX framework. As SNN research grows rapidly, all major libraries -- snnTorch, Norse, SpikingJelly, Lava -- target PyTorch or custom backends, leaving Apple Silicon users without a native option. mlx-snn provides six neuron models (LIF, IF, Izhikevich, Adaptive LIF, Synaptic, Alpha), four surrogate gradient functions, four spike encoding methods (including an EEG-specific encoder), and a complete backpropagation-through-time training pipeline. The library leverages MLX's unified memory architecture, lazy evaluation, and composable function transforms (mx.grad, mx.compile) to enable efficient SNN research on Apple Silicon hardware. We validate mlx-snn on MNIST digit classification across five hyperparameter configurations and three backends, achieving up to 97.28% accuracy with 2.0--2.5 times faster training and 3--10 times lower GPU memory than snnTorch on the same M3 Max hardware. mlx-snn is open-source under the MIT license and available on PyPI. https://github.com/D-ST-Sword/mlx-snn