Neuromorphic Intermediate Representation: A Unified Instruction Set for Interoperable Brain-Inspired Computing

Jens E. Pedersen,Steven Abreu,Matthias Jobst,Gregor Lenz,Vittorio Fra,Felix C. Bauer,Dylan R. Muir,Peng Zhou,Bernhard Vogginger,Kade Heckel,Gianvito Urgese,Sadasivan Shankar,Terrence C. Stewart,Sadique Sheik,Jason K. Eshraghian
DOI: https://doi.org/10.1038/s41467-024-52259-9
2024-09-30
Abstract:Spiking neural networks and neuromorphic hardware platforms that simulate neuronal dynamics are getting wide attention and are being applied to many relevant problems using Machine Learning. Despite a well-established mathematical foundation for neural dynamics, there exists numerous software and hardware solutions and stacks whose variability makes it difficult to reproduce findings. Here, we establish a common reference frame for computations in digital neuromorphic systems, titled Neuromorphic Intermediate Representation (NIR). NIR defines a set of computational and composable model primitives as hybrid systems combining continuous-time dynamics and discrete events. By abstracting away assumptions around discretization and hardware constraints, NIR faithfully captures the computational model, while bridging differences between the evaluated implementation and the underlying mathematical formalism. NIR supports an unprecedented number of neuromorphic systems, which we demonstrate by reproducing three spiking neural network models of different complexity across 7 neuromorphic simulators and 4 digital hardware platforms. NIR decouples the development of neuromorphic hardware and software, enabling interoperability between platforms and improving accessibility to multiple neuromorphic technologies. We believe that NIR is a key next step in brain-inspired hardware-software co-evolution, enabling research towards the implementation of energy efficient computational principles of nervous systems. NIR is available at <a class="link-external link-http" href="http://neuroir.org" rel="external noopener nofollow">this http URL</a>
Neural and Evolutionary Computing
What problem does this paper attempt to address?