Original Research Article
PyNN: a common interface for neuronal network simulators
Andrew P. Davison 1*, Daniel Brüderle 2, Jochen Eppler 3, 4, Jens Kremkow 5, 6, Eilif Muller 7, Dejan Pecevski 8, Laurent Perrinet 6 and Pierre Yger 1
1 Unité de Neurosciences Intégratives et Computationelles, CNRS, France
2 Kirchhoff Institute for Physics, University of Heidelberg, Germany
3 Honda Research Institute, GmbH, Germany
4 Bernstein Center for Computational Neuroscience, Albert-Ludwigs-University, Germany
5 Neurobiology and Biophysics, Institute of Biology III, Albert-Ludwigs-University, Germany
6 Institut de Neurosciences Cognitives de la Méditerranée, CNRS, France
7 Laboratory of Computational Neuroscience, Ecole Polytechnique Fédérale de Lausanne, Switzerland
8 Institute For Theoretical Computer Science, Technische Universität Graz, Austria
2 Kirchhoff Institute for Physics, University of Heidelberg, Germany
3 Honda Research Institute, GmbH, Germany
4 Bernstein Center for Computational Neuroscience, Albert-Ludwigs-University, Germany
5 Neurobiology and Biophysics, Institute of Biology III, Albert-Ludwigs-University, Germany
6 Institut de Neurosciences Cognitives de la Méditerranée, CNRS, France
7 Laboratory of Computational Neuroscience, Ecole Polytechnique Fédérale de Lausanne, Switzerland
8 Institute For Theoretical Computer Science, Technische Universität 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
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
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. (2008) 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:
Fred Howell, Textensor Limited, Scotland, UK
Graham Cummins, Montana State University, USA
Graham Cummins, Montana State University, USA
*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