ANNarchy: a code generation approach to neural simulations on parallel hardware
- PMID: 26283957
- PMCID: PMC4521356
- DOI: 10.3389/fninf.2015.00019
ANNarchy: a code generation approach to neural simulations on parallel hardware
Abstract
Many modern neural simulators focus on the simulation of networks of spiking neurons on parallel hardware. Another important framework in computational neuroscience, rate-coded neural networks, is mostly difficult or impossible to implement using these simulators. We present here the ANNarchy (Artificial Neural Networks architect) neural simulator, which allows to easily define and simulate rate-coded and spiking networks, as well as combinations of both. The interface in Python has been designed to be close to the PyNN interface, while the definition of neuron and synapse models can be specified using an equation-oriented mathematical description similar to the Brian neural simulator. This information is used to generate C++ code that will efficiently perform the simulation on the chosen parallel hardware (multi-core system or graphical processing unit). Several numerical methods are available to transform ordinary differential equations into an efficient C++code. We compare the parallel performance of the simulator to existing solutions.
Keywords: Python; code generation; neural simulator; parallel computing; rate-coded networks; spiking networks.
Figures
Similar articles
-
PyNN: A Common Interface for Neuronal Network Simulators.Front Neuroinform. 2009 Jan 27;2:11. doi: 10.3389/neuro.11.011.2008. eCollection 2008. Front Neuroinform. 2009. PMID: 19194529 Free PMC article.
-
Brian: a simulator for spiking neural networks in python.Front Neuroinform. 2008 Nov 18;2:5. doi: 10.3389/neuro.11.005.2008. eCollection 2008. Front Neuroinform. 2008. PMID: 19115011 Free PMC article.
-
Brian2CUDA: Flexible and Efficient Simulation of Spiking Neural Network Models on GPUs.Front Neuroinform. 2022 Oct 31;16:883700. doi: 10.3389/fninf.2022.883700. eCollection 2022. Front Neuroinform. 2022. PMID: 36387586 Free PMC article.
-
GPUPeP: Parallel Enzymatic Numerical P System simulator with a Python-based interface.Biosystems. 2020 Oct;196:104186. doi: 10.1016/j.biosystems.2020.104186. Epub 2020 Jun 11. Biosystems. 2020. PMID: 32535178 Review.
-
Code Generation in Computational Neuroscience: A Review of Tools and Techniques.Front Neuroinform. 2018 Nov 5;12:68. doi: 10.3389/fninf.2018.00068. eCollection 2018. Front Neuroinform. 2018. PMID: 30455637 Free PMC article. Review.
Cited by
-
On the Role of Cortex-Basal Ganglia Interactions for Category Learning: A Neurocomputational Approach.J Neurosci. 2018 Oct 31;38(44):9551-9562. doi: 10.1523/JNEUROSCI.0874-18.2018. Epub 2018 Sep 18. J Neurosci. 2018. PMID: 30228231 Free PMC article.
-
PyRates-A Python framework for rate-based neural simulations.PLoS One. 2019 Dec 16;14(12):e0225900. doi: 10.1371/journal.pone.0225900. eCollection 2019. PLoS One. 2019. PMID: 31841550 Free PMC article.
-
Sensory coding and contrast invariance emerge from the control of plastic inhibition over emergent selectivity.PLoS Comput Biol. 2021 Nov 29;17(11):e1009566. doi: 10.1371/journal.pcbi.1009566. eCollection 2021 Nov. PLoS Comput Biol. 2021. PMID: 34843455 Free PMC article.
-
SNS-Toolbox: An Open Source Tool for Designing Synthetic Nervous Systems and Interfacing Them with Cyber-Physical Systems.Biomimetics (Basel). 2023 Jun 10;8(2):247. doi: 10.3390/biomimetics8020247. Biomimetics (Basel). 2023. PMID: 37366842 Free PMC article.
-
SHIP: a computational framework for simulating and validating novel technologies in hardware spiking neural networks.Front Neurosci. 2024 Jan 8;17:1270090. doi: 10.3389/fnins.2023.1270090. eCollection 2023. Front Neurosci. 2024. PMID: 38264497 Free PMC article.
References
-
- Behnel S., Bradshaw R. W., Seljebotn D. S. (2009). Cython tutorial, in Proceedings 8th Python Science Conference, eds Varoquaux G., van der Walt S., Millman J. (Pasadena, CA), 4–14.
LinkOut - more resources
Full Text Sources
Other Literature Sources
