Abstract
As the bridge between brain science and brain-inspired computation, computational neuroscience has been attracting more and more attention from researchers in different disciplines. However, the current neural simulators based on low-level language programming or pseudo-programming using high-level descriptive language can not full fill users’ basic requirements, including easy-to-learn-and-use, high flexibility, good transparency, and high-speed performance. Here, we introduce a Just-In-Time (JIT) compilation approach for neural dynamics simulation. The core idea behind the JIT approach is that any dynamical model coded with a high-level language can be just-in-time compiled into efficient machine codes running on a device of CPU or GPU. Based on the JIT approach, we develop a neural dynamics simulator in the Python framework called BrainPy, which is available publicly at https://github.com/PKU-NIP-Lab/BrainPy. BrainPy provides a friendly and highly flexible interface for users to define an arbitrary dynamical system, and the JIT compilation enables the defined model to run efficiently. We hope that BrainPy can serve as a general software for both research and education in computational neuroscience.
Y. Jiang and X. Liu—Equal contribution.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Abadi, M., et al.: Tensorflow: large-scale machine learning on heterogeneous distributed systems (2016). arXiv preprint arXiv:1603.04467
Blundell, I., et al.: Code generation in computational neuroscience: a review of tools and techniques. Front. Neuroinf. 12, 68 (2018)
Bower, J.M., Beeman, D.: The Book of GENESIS: Exploring Realistic Neural Models with the GEneral NEural SImulation System. Springer, Heidelberg (2012). https://doi.org/10.1007/978-1-4612-1634-6
Brette, R., et al.: Simulation of networks of spiking neurons: a review of tools and strategies. J. Comput. Neurosci. 23(3), 349–398 (2007)
Cannon, R.C., et al.: Lems: a language for expressing complex biological models in concise and hierarchical form and its use in underpinning neuroml 2. Front. Neuroinf. 8, 79 (2014)
Carnevale, N.T., Hines, M.L.: The NEURON Book. Cambridge University Press, Cambridge (2006)
Chou, T.S., et al.: Carlsim 4: an open source library for large scale, biologically detailed spiking neural network simulation using heterogeneous clusters. In: 2018 International Joint Conference on Neural Networks (IJCNN), pp. 1–8. IEEE (2018)
Dai, K., et al.: Brain modeling toolkit: an open source software suite for multiscale modeling of brain circuits. PLOS Comput. Biol. 16(11), e1008386 (2020)
Gewaltig, M.O., Diesmann, M.: Nest (neural simulation tool). Scholarpedia 2(4), 1430 (2007)
Gleeson, P., et al.: Neuroml: a language for describing data driven models of neurons and networks with a high degree of biological detail. PLoS Comput. Biol. 6(6), e1000815 (2010)
Harris, C.R., et al.: Array programming with numpy. Nature 585(7825), 357–362 (2020)
Lam, S.K., Pitrou, A., Seibert, S.: Numba: a llvm-based python jit compiler. In: Proceedings of the Second Workshop on the LLVM Compiler Infrastructure in HPC, pp. 1–6 (2015)
Modzelewski, K., Wachtler, M., Galindo, P.: Pyston (2021). https://github.com/pyston/pyston
Øksendal, B.: Stochastic Differential Equations: An Introduction with Applications. Springer, Heidelberg (2003). https://doi.org/10.1007/978-3-642-14394-6
Paszke, A., et al.: Pytorch: an imperative style, high-performance deep learning library. In: Wallach, H., Larochelle, H., Beygelzimer, A., d’Alché-Buc, F., Fox, E., Garnett, R. (eds.) Advances in Neural Information Processing Systems 32, pp. 8024–8035. Curran Associates, Inc. (2019). https://www.pytorch.org/
Plotnikov, D., Rumpe, B., Blundell, I., Ippen, T., Eppler, J.M., Morrison, A.: Nestml: a modeling language for spiking neurons (2016). arXiv preprint arXiv:1606.02882
Raikov, I., et al.: Nineml: the network interchange for ne uroscience modeling language. BMC Neurosci. 12(1), 1–2 (2011)
Stimberg, M., Brette, R., Goodman, D.F.: Brian 2, an intuitive and efficient neural simulator. Elife 8, e47314 (2019)
Stimberg, M., Goodman, D.F., Benichoux, V., Brette, R.: Equation-oriented specification of neural models for simulations. Front. Neuroinf 8, 6 (2014)
Team, T.P.: (2019). https://www.pypy.org/
Tikidji-Hamburyan, R.A., Narayana, V., Bozkus, Z., El-Ghazawi, T.A.: Software for brain network simulations: a comparative study. Front. Neuroinf. 11, 46 (2017)
Vitay, J., Dinkelbach, H.Ü., Hamker, F.H.: Annarchy: a code generation approach to neural simulations on parallel hardware. Front. Neuroinf. 9, 19 (2015)
Yavuz, E., Turner, J., Nowotny, T.: Genn: a code generation framework for accelerated brain simulations. Sci. Rep. 6(1), 1–14 (2016)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2021 Springer Nature Switzerland AG
About this paper
Cite this paper
Wang, C. et al. (2021). A Just-In-Time Compilation Approach for Neural Dynamics Simulation. In: Mantoro, T., Lee, M., Ayu, M.A., Wong, K.W., Hidayanto, A.N. (eds) Neural Information Processing. ICONIP 2021. Lecture Notes in Computer Science(), vol 13110. Springer, Cham. https://doi.org/10.1007/978-3-030-92238-2_2
Download citation
DOI: https://doi.org/10.1007/978-3-030-92238-2_2
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-92237-5
Online ISBN: 978-3-030-92238-2
eBook Packages: Computer ScienceComputer Science (R0)