Abstract
Brain-inspired computing, which is inspired by the information processing procedure and the biophysiological structure of the brain, is believed to have the potential to drive the next wave of computer engineering and provide a promising way for the next generation of artificial intelligence. The basic software for brain-inspired computing is the core link to realize the research goals of brain-inspired computing and build the ecological environment of brain-inspired computing applications. This paper reviews the status of the three major kinds of basic software for brain-inspired computing. Namely, the toolchains for neuromorphic chips, the software simulation frameworks, and the frameworks that integrate spiking neural networks (SNNs) and deep neural networks (DNNs). Afterward, we point out that a "general-purpose" hierarchical and HW/SW decoupled basic software framework would be beneficial to both the (computational) neuroscience and brain-inspired intelligence fields. And the notion “general-purpose” refers to the decoupling of software and hardware and supports the integration of computer science and neuroscience related research.

Similar content being viewed by others
Availability of data and material (data transparency)
Not applicable.
Code availability (software application or custom code)
Not applicable.
Notes
References
Abadi, M., Barham, P., Chen, J. et al.: TensorFlow: a system for large-scale machine learning. In: Proceedings of the 12th USENIX conference on Operating Systems Design and Implementation (2016)
Aimone, J.B., Severa, W., Vineyard, C.M.: Composing neural algorithms with Fugu. Proc. Int. Conf. Neuromorph. Syst. 3, 1–8 (2019a). https://doi.org/10.1145/3354265.3354268
Aimone, J.B., Severa, W., Vineyard, C.M.: Composing neural algorithms with Fugu. In: Proceedings of the International Conference on Neuromorphic Systems, 1–8 (2019b).
Akopyan, F., Sawada, J., Cassidy, A., et al.: TrueNorth: design and tool flow of a 65 maw 1 million neuron programmable neurosynaptic chip. IEEE Trans. Comput. Aided Des. Integr. Circuits Syst. 34(10), 1537–1557 (2015). https://doi.org/10.1109/TCAD.2015.2474396
Amir, A., Datta, P., Risk, W.P., et al.: Cognitive computing programming paradigm: a corelet language for composing networks of neurosynaptic cores. In: The 2013 International Joint Conference on Neural Networks (2013). https://doi.org/10.1109/IJCNN.2013.6707078
Bekolay, T., James, B., Eric, H., et al.: Nengo: a Python tool for building large-scale functional brain models. Front. Neuroinform. 7, 1–48 (2014). https://doi.org/10.3389/fninf.2013.00048
Benjamin, B.V., Gao, P., McQuinn, E., et al.: Neurogrid: a mixed-analog-digital multichip system for large-scale neural simulations. Proc. IEEE 102(5), 699–716 (2014). https://doi.org/10.1109/JPROC.2014.2313565
Brette, R., Rudolph, M., Carnevale, T., et al.: Simulation of networks of spiking neurons: a review of tools and strategies. J. Comput. Neurosci. 23, 349–398 (2007). https://doi.org/10.1007/s10827-007-0038-6
Brown, A.D., Chad, J.E., Kamarudin, R., et al.: SpiNNaker: event-based simulation—quantitative behaviour. IEEE Trans. Multiscale Comput. Syst. 4(3), 450–462 (2018). https://doi.org/10.1109/TMSCS.2017.2748122
Burkitt, A.N.: A review of the integrate-and-fire neuron model: I. Homogeneous synaptic input. Biol. Cybern. 95, 1–19 (2006). https://doi.org/10.1007/s00422-006-0068-6
Carnevale, N.T., Hines, M.L.: The NEURON Book. Cambridge University Press, Cambridge, Cambridge (2006). https://doi.org/10.1017/CBO9780511541612
Cassidy, A.S., Merolla, P., Arhur, J.V. et al.: Cognitive computing building block: a versatile and efficient digital neuron model for neurosynaptic cores. In: The 2013 International Joint Conference on Neural Networks (2013). https://doi.org/10.1109/IJCNN.2013.6707077
Chen, T., Moreau, T., Jiang, Z., et al.: TVM: an automated end-to-end optimizing compiler for deep learning. In: Proceedings of the 13th USENIX conference on Operating Systems Design and Implementation, pp. 579–594 (2018)
Davies, M., Srinivas, N., Lin, T.-H., et al.: Loihi: a neuromorphic manycore processor with on-chip learning. IEEE Micro 38(1), 82–99 (2018). https://doi.org/10.1109/MM.2018.112130359
Davison, A., Brüderle, D., Eppler, J., et al.: PyNN: a common interface for neuronal network simulators. Front. Neuroinform. 2, 1–11 (2009). https://doi.org/10.3389/neuro.11.011.2008
Deng, L., Wang, G., Li, G., et al.: Tianjic: a unified and scalable chip bridging spike-based and continuous neural computation. IEEE J. Solid-State Circuits 55(8), 2228–2246 (2020). https://doi.org/10.1109/JSSC.2020.2970709
Gewaltig, M.-O., Diesmann, M.: NEST (neural simulation tool). Scholarpedia 2(4), 1–1430 (2007)
Gidon, A., Zolnik, T.A., Fidzinski, P., et al.: Dendritic action potentials and computation in human layer 2/3 cortical neurons. Science 367, 83–87 (2020). https://doi.org/10.1126/science.aax6239
Hassabis, D., Kumaran, D., Summerfield, C., et al.: Neuroscience-inspired artificial intelligence. Neuron 95(2), 245–258 (2017). https://doi.org/10.1016/j.neuron.2017.06.011
Hazan, H., Saunders, D.J., Khan, H., et al.: BindsNET: a machine learning-oriented spiking neural networks library in python. Front. Neuroinform. 12, 1–89 (2018). https://doi.org/10.3389/fninf.2018.00089
Hodgkin, A.L., Huxley, A.F.: A quantitative description of membrane current and its application to conduction and excitation in nerve. Bull. Math. Biol. 52, 25–71 (1990). https://doi.org/10.1007/BF02459568
Izhikevich, E.M.: Simple model of spiking neurons. IEEE Trans. Neural Netw. 14(6), 1569–1572 (2003)
Jackson, B., Rajendran, B., Corrado, G., et al.: Nanoscale electronic synapses using phase change devices. ACM J. Emerg. Technol. Comput. Syst. 9(2), 1–12 (2013). https://doi.org/10.1145/2463585.2463588
Jordan, J., Ippen, T., Helias, M., et al.: Extremely scalable spiking neuronal network simulation code: from laptops to exascale computers. Front. Neuroinform. 12(2), 1–21 (2018). https://doi.org/10.3389/fninf.2018.00034
Knight, J.C., Komissarov, A., Nowotny, T.: PyGeNN: a Python library for GPU-enhanced neural networks. Front. Neuroinform. 15, 1–10 (2021). https://doi.org/10.3389/fninf.2021.659005
Lagorce, X., Ryad, B.: Stick: spike time interval computational kernel, a framework for general purpose computation using neurons, precise timing, delays, and synchrony. Neural Comput. 27(11), 2261–2317 (2015). https://doi.org/10.1162/NECO_a_00783
Li, X., Tang, J., Zhang, Q., et al.: Power-efficient neural network with artificial dendrites. Nat. Nanotechnol. 15, 776–782 (2020). https://doi.org/10.1038/s41565-020-0722-5
Lin, C.-K., Wild, A., Chinya, G.N., et al.: Programming spiking neural networks on Intel’s Loihi. Computer 51(3), 52–61 (2018). https://doi.org/10.1109/MC.2018.157113521
Ma, D., Shen, J., Gu, Z., et al.: Darwin: a neuromorphic hardware co-processor based on spiking neural networks. J. Syst. Architect. 77, 43–51 (2017). https://doi.org/10.1016/j.sysarc.2017.01.003
Marblestone, A.H., Wayne, G., Kording, K.P.: Toward an integration of deep learning and neuroscience. Front. Comput. Neurosci. 10, 1–94 (2016). https://doi.org/10.3389/fncom.2016.00094
Mozafari, M., Ganjtabesh, M., Nowzari-Dalini, A., et al.: SpykeTorch: efficient simulation of convolutional spiking neural networks with at most one spike per neuron. Front. Neurosci. 13, 1–625 (2019). https://doi.org/10.3389/fnins.2019.00625
Müller, E., Schmitt, S., Mauch, C., et al.: The operating system of the Neuromorphic BrainScaleS-1 system. arXiv (2020)
Mureşan, R.C., Ignat, I.: The “Neocortex” neural simulator a modern design. In: Proceedings of International Conference on Intelligent Engineering Systems (2004)
Neckar, A., Fok, S., Benjamin, B.V., et al.: Braindrop: a mixed-signal neuromorphic architecture with a dynamical systems-based programming model. Proc. IEEE 107(1), 144–164 (2019). https://doi.org/10.1109/JPROC.2018.2881432
Paszke, A., Gross, S., Massa, F., et al.: PyTorch: an imperative style, high-performance deep learning library. Adv. Neural. Inf. Process. Syst. 32, 8024–8035 (2019)
Pehle, C., Pedersen, J.E.: Norse—a deep learning library for spiking neural networks. Zenodo (2021). https://doi.org/10.5281/zenodo.4422025
Pei, J., Deng, L., Song, S., et al.: Towards artificial general intelligence with hybrid Tianjic chip architecture. Nature 572, 106–111 (2019). https://doi.org/10.1038/s41586-019-1424-8
Preissl, R., Wong, T.M., Datta, P. et al.: Compass: a scalable simulator for an architecture for cognitive computing. In: Proceedings of the International Conference on High Performance Computing, Networking, Storage and Analysis (2012). https://doi.org/10.1109/SC.2012.34
Prezioso, M., Merrikh-Bayat, F., Hoskins, B., et al.: Training and operation of an integrated neuromorphic network based on metal-oxide memristors. Nature 521, 61–64 (2015). https://doi.org/10.1038/nature14441
Qu, P., Zhang, Y., Fei, X., et al.: High performance simulation of spiking neural network on GPGPUs. IEEE Trans. Parallel Distrib. Syst. 31(11), 2510–2523 (2020). https://doi.org/10.1109/TPDS.2020.2994123
Rhodes, O., Bogdan, P.A., Brenninkmeijer, C., et al.: sPyNNaker: a Software Package for running PyNN Simulations on SpiNNaker. Front. Neurosci. 12, 1–816 (2018). https://doi.org/10.3389/fnins.2018.00816
Richards, B.A., Lillicrap, T.P., Beaudoin, P., et al.: A deep learning framework for neuroscience. Nat. Neurosci. 22, 1761–1770 (2019). https://doi.org/10.1038/s41593-019-0520-2
Richmond, P., Cope, A., Gurney, K., et al.: From model specification to simulation of biologically constrained networks of spiking neurons. Neuroinformatics 12, 307–323 (2014). https://doi.org/10.1007/s12021-013-9208-z
Roy, K., Jaiswal, A., Panda, P.: Towards spike-based machine intelligence with neuromorphic computing. Nature 575, 607–617 (2019). https://doi.org/10.1038/s41586-019-1677-2
Schemmel, J., Grübl, A., Hartmann, S. et al.: Live demonstration: a scaled-down version of the BrainScaleS wafer-scale neuromorphic system. In: 2012 IEEE International Symposium on Circuits and Systems (2012). https://doi.org/10.1109/ISCAS.2012.6272131
Snider, G., Amerson, R., Carter, D., et al.: From synapses to circuitry: using memristive memory to explore the electronic brain. Computer 44(2), 21–28 (2011). https://doi.org/10.1109/MC.2011.48
Stimberg, M., Goodman, D.F.M., Benichoux, V., Brette, R.: Equation-oriented specification of neural models for simulations. Front. Neuroinform. 8, 1–6 (2014). https://doi.org/10.3389/fninf.2014.00006
Stimberg, M., Goodman, D.F.M., Nowotny, T.: Brian2GeNN: accelerating spiking neural network simulations with graphics hardware. Sci. Rep. 10, 410 (2020). https://doi.org/10.1038/s41598-019-54957-7
Waldrop, M.: The chips are down for Moore’s law. Nature 530, 144–147 (2016). https://doi.org/10.1038/530144a
Wilson, M., Bhalla, U., Uhley, J., Bower, J: GENESIS: a system for simulating neural networks. In: Advances in neural information processing systems, p. 1 (1988).
Yao, P., Wu, H., Gao, B., et al.: Fully hardware-implemented memristor convolutional neural network. Nature 577, 641–646 (2020). https://doi.org/10.1038/s41586-020-1942-4
Yavuz, E., Turner, J., Nowotny, T.: GeNN: a code generation framework for accelerated brain simulations. Sci. Rep. 6, 18854 (2016). https://doi.org/10.1038/srep18854
Yu, S., Wu, Y., Jeyasingh, R., et al.: An electronic synapse device based on metal oxide resistive switching memory for neuromorphic computation. IEEE Trans. Electron Devices 58, 2729–2737 (2011). https://doi.org/10.1109/TED.2011.2147791
Zhang, T., Xu, B.: Research advances and perspectives on spiking neural networks. Chinese J. Comput. 9, 1767–1785 (2021). https://doi.org/10.11897/SP.J.1016.2021.01767
Zhang, Y., Qu, P., Ji, Y., et al.: A system hierarchy for brain-inspired computing. Nature 586, 378–384 (2020). https://doi.org/10.1038/s41586-020-2782-y
Zhang, Y., Qu, P., Zheng, W.: Towards “general purpose” brain-inspired computing system. Tsinghua Sci. Technol. 26(5), 664–673 (2021). https://doi.org/10.26599/TST.2021.9010010
Acknowledgements
Thank Beijing Innovation Center for Future Chips for providing the information about the neuromorphic chips.
Funding
Supported by the National Natural Science Foundation of China (62072266). Supported by the Open Project Program of the State Key Laboratory of Mathematical Engineering and Advanced Computing (Grant no. 2020A07). Supported by Tsinghua University-China Mobile Communications Group Co., Ltd. Joint Institute (Grant no. 62050340). Supported by Beijing National Research Center for Information Science and Technology (BNR2022RC01003).
Author information
Authors and Affiliations
Corresponding author
Ethics declarations
Conflict of interest
No.
Rights and permissions
About this article
Cite this article
Qu, P., Yang, L., Zheng, W. et al. A review of basic software for brain-inspired computing. CCF Trans. HPC 4, 34–42 (2022). https://doi.org/10.1007/s42514-022-00092-1
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s42514-022-00092-1