This article is part of the Research Topic Python in neuroscience

Original Research ARTICLE

Front. Neuroinform., 27 January 2009 | doi: 10.3389/neuro.11.011.2008

PyNN: a common interface for neuronal network simulators

1
Unité de Neurosciences Intégratives et Computationelles, CNRS, Gif sur Yvette, France
2
Kirchhoff Institute for Physics, University of Heidelberg, Heidelberg, Germany
3
Honda Research Institute Europe GmbH, Offenbach, Germany
4
Berstein Center for Computational Neuroscience, Albert-Ludwigs-University, Freiburg, Germany
5
Neurobiology and Biophysics, Institute of Biology III, Albert-Ludwigs-University, Freiburg, Germany
6
Institut de Neurosciences Cognitives de la Méditerranée, CNRS, Marseille, France
7
Laboratory of Computational Neuroscience, Ecole Polytechnique Fédérale de Lausanne, Lausanne, Switzerland
8
Institute for Theoretical Computer Science, Graz University of Technology, Graz, Austria
Computational neuroscience has produced a diversity of software for simulations of networks of spiking neurons, with both negative and positive consequences. On the one hand, each simulator uses its own programming or configuration language, leading to considerable difficulty in porting models from one simulator to another. This impedes communication between investigators and makes it harder to reproduce and build on the work of others. On the other hand, simulation results can be cross-checked between different simulators, giving greater confidence in their correctness, and each simulator has different optimizations, so the most appropriate simulator can be chosen for a given modelling task. A common programming interface to multiple simulators would reduce or eliminate the problems of simulator diversity while retaining the benefits. PyNN is such an interface, making it possible to write a simulation script once, using the Python programming language, and run it without modification on any supported simulator (currently NEURON, NEST, PCSIM, Brian and the Heidelberg VLSI neuromorphic hardware). PyNN increases the productivity of neuronal network modelling by providing high-level abstraction, by promoting code sharing and reuse, and by providing a foundation for simulator-agnostic analysis, visualization and data-management tools. PyNN increases the reliability of modelling studies by making it much easier to check results on multiple simulators. PyNN is open-source software and is available from http://neuralensemble.org/PyNN .
Keywords:
Python, interoperability, large-scale models, simulation, parallel computing, reproducibility, computational neuroscience, translation
Citation:
Davison AP, Brüderle D, Eppler J, Kremkow J, Muller E, Pecevski D, Perrinet L and Yger P (2009). PyNN: a common interface for neuronal network simulators. Front. Neuroinform. 2:11. doi: 10.3389/neuro.11.011.2008
Received:
21 September 2008;
 Paper pending published:
21 October 2008;
Accepted:
22 December 2008;
 Published online:
27 January 2009.

Edited by:

Rolf Kötter, Radboud University Nijmegen, The Netherlands

Reviewed by:

Graham Cummins, Montana State University, USA
Fred Howell, Textensor Limited, UK
Copyright:
© 2009 Davison, Brüderle, Eppler, Kremkow, Muller, Pecevski, Perrinet and Yger. This is an open-access article subject to an exclusive license agreement between the authors and the Frontiers Research Foundation, which permits unrestricted use, distribution, and reproduction in any medium, provided the original authors and source are credited.
*Correspondence:
Andrew Davison, UNIC, Bât. 32/33, CNRS, 1 Avenue de la Terrasse, 91198 Gif sur Yvette, France. e-mail: andrew.davison@unic.cnrs-gif.fr
Back to top