  Spiking neural networks and neuromorphic hardware platforms that emulate
neural dynamics are slowly gaining momentum and entering main-stream usage.
Despite a well-established mathematical foundation for neural dynamics, the
implementation details vary greatly across different platforms.
Correspondingly, there are a plethora of software and hardware implementations
with their own unique technology stacks. Consequently, neuromorphic systems
typically diverge from the expected computational model, which challenges the
reproducibility and reliability across platforms. Additionally, most
neuromorphic hardware is limited by its access via a single software frameworks
with a limited set of training procedures. Here, we establish a common
reference-frame for computations in neuromorphic systems, dubbed the
Neuromorphic Intermediate Representation (NIR). NIR defines a set of
computational primitives as idealized continuous-time hybrid systems that can
be composed into graphs and mapped to and from various neuromorphic technology
stacks. By abstracting away assumptions around discretization and hardware
constraints, NIR faithfully captures the fundamental computation, while
simultaneously exposing the exact differences between the evaluated
implementation and the idealized mathematical formalism. We reproduce three NIR
graphs across 7 neuromorphic simulators and 4 hardware platforms, demonstrating
support for an unprecedented number of neuromorphic systems. With NIR, we
decouple the evolution of neuromorphic hardware and software, ultimately
increasing the interoperability between platforms and improving accessibility
to neuromorphic technologies. We believe that NIR is an important step towards
the continued study of brain-inspired hardware and bottom-up approaches aimed
at an improved understanding of the computational underpinnings of nervous
systems.
