- Poster presentation
- Open Access
SpineML and Brian 2.0 interfaces for using GPU enhanced Neuronal Networks (GeNN)
© Nowotny et al; licensee BioMed Central Ltd. 2014
- Published: 21 July 2014
- Code Generation
- Graphical Processing Unit
- Application Programming Interface
- Computational Neuroscience
- Connectivity Matrice
The GPU enhanced Neuronal Networks (GeNN) framework [1, 2] was introduced in 2011 to facilitate the efficient use of graphical processing units (GPUs) as accelerators for neuronal network simulations, in particular as part of computational neuroscience investigations. GeNN is based substantially on code generation for the NVIDIA CUDA application programming interface. Code generation provides decisive advantages over stand-alone simulators in that (i) code can be optimized both for every individual model and for the specific GPU hardware detected at compile time, and (ii) code generation allows to provide a practically limitless number of pre-defined models while the generated simulation code remains as small and efficient as possible.
While GeNN is an important step towards facilitating the use of GPU acceleration for computational neuroscience applications it has been designed with expert users in mind. Particular emphasis has been put on flexibility and extendibility and, in case of conflict, these were prioritized over the easy of use.
In the work presented here we are aiming to make GeNN and the corresponding GPU acceleration now also available to non-expert users by providing two new interfaces from SpineCreator /SpineML  and the Brian 2 simulator [5, 6] to GeNN.
We have created prototype interfaces from SpineCreator using the SpineML markup language and from Brian 2 by modifying the code generation facilities within Brian 2 to generate valid GeNN input files. In both cases, a middleware was created that takes the model descriptions that were either available in SpineML (as generated by SpineCreator) or the internal representation in Brian 2 and translate them into the three main code parts necessary to run a GeNN simulation: (i) Neuron, synapse and network definitions including variables, parameters, code to integrate dynamical equations and properties of the connectivity, (ii) Code that runs the GeNN generated code to execute the simulation and (iii) code that regulates the transfer of information from SpineCreator/Brian 2 to GeNN and vice versa (e.g. for providing connectivity matrices and returning simulation results).
We believe that when the new SpineCreator and Brian 2 interfaces will have been fully developed, tested and released we can make a decisive difference in the uptake of GPU acceleration for neuronal network simulations. The completed prototypes show sufficient flexibility and ease of use to be appealing to a wide range of future users.
This work was supported by the EPSRC (Green Brain Project, grant numbers EP/J019690/1, EP/J019534/1 and Delivery Plan ‘Kickstart’ funding).
- Nowotny T: Flexible neuronal network simulation framework using code generation for NVIDIA CUDA. BMC Neurosci. 2011, 12 (Suppl 1): P239-10.1186/1471-2202-12-S1-P239.PubMed CentralView ArticleGoogle Scholar
- Nowotny T, Yavuz E, Turner J: GeNN. http://genn.sourceforge.net/, accessed 13-02-2014
- Cope AJ, Richmond P: SpineCreator. 2014, http://bimpa.group.shef.ac.uk/SpineML/index.php/Gui, accessed 13-02-2014Google Scholar
- Richmond P, Cope AJ, Gurney K, Allerton DJ: From Model Specification to Simulation of Biologically Constrained Networks of Spiking Neurons. Neuroinformatics. 10.1007/s12021-013-9208-z.Google Scholar
- Goodman D, Brette R: The Brian Simulator. Front. Neurosci. 2009, 3 (2): 192-197. 10.3389/neuro.01.026.2009.PubMed CentralView ArticlePubMedGoogle Scholar
- Stimberg M, Goodman DFM, Benichoux V, Brette R: Equation-oriented specification of neural models for simulations. Front. Neuroinf. 2014, 10.3389/fninf.2014.0000.Google Scholar
This article is published under license to BioMed Central Ltd. This is an Open Access article distributed under the terms of the Creative Commons Attribution License (http://creativecommons.org/licenses/by/4.0), which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited. The Creative Commons Public Domain Dedication waiver (http://creativecommons.org/publicdomain/zero/1.0/) applies to the data made available in this article, unless otherwise stated.