Neuromorphic Intermediate Representation (NIR)

A graph-based intermediate representation for computational graphs of spiking neural networks, enabling interoperability across different simulators and hardware.

Overview

By defining a common set of computational primitives (like Leaky-Integrate-and-Fire neurons and convolutions), NIR allows researchers and developers to define a model once and then translate it to run on different backends without having to rewrite the model from scratch for each platform. This decouples the model definition from the hardware or software-specific implementation details.

NIR is designed to be extensible and currently supports a range of popular SNN frameworks and hardware, including:

More information can be found in the NIR documentation and the Nature Communications paper.
It is actively being developed on GitHub with additional tools for PyTorch integrations.

Help Improve this Software Guide

Our software guide is maintained by the community. If you have updates, see an error, or want to suggest a new tool, please let us know by opening an issue on our GitHub repository.