Goodman and Brette Interpreted language A language in which code is translated into machine code continuously as the program runs rather than being entirely translated into machine code once before running (compiled). Interpreted languages are more ﬂexible than compiled ones but at the cost o f being slower. Python is an interpreted language, and although it is fast there is an overhead for every Python operation. Brian can achieve good per- formance by using the technique of vectorisation, similar to the same technique familiar to Matlab users, which makes the interpretation overhead small relative to overall simulation times for large networks. Brian is typically much faster than simulations coded in Matlab, and a little slower than simulations coded in C (Goodman and Brette, 2008). Brian is proportionally slower for small networks, which seems like a reason- able trade off given that smaller networks tend to take less time to run in absolute terms than larger networks. Currently, the main limitation of Brian is that it cannot run distributed simulations (although independent simulations can be run with job scheduling software such as Condor (Frey et al., 2002). Our plan for the future is to include some support for parallel processing with the same goals of simplicity and accessibility. For that purpose, we are focusing on using graphics cards with general purpose graphics processing units (GPUs), an inexpensive piece of hardware (around several hundred dollars) consisting of a large number of parallel processing cores (in the hundreds for the latest models (Luebke et al., 2004)). Using these cards gives the equivalent of a small parallel cluster in a single machine The Brian simulator at much lower cost. Early work in the case of auditory ﬁltering and the solution of nonlinear differential equations gives an indication of the speed improvements to be gained from using GPUs. Applying a bank of 6000 auditory ﬁlters (approximately the number of cochlear ﬁlters in the human auditory system) was around 7 times faster with a GPU than with a CPU, and for an even larger bank of ﬁlters approached 10–12 times faster (GPUs generally perform bet- ter as the data set gets larger). For solving non- linear differential equations, a key step in the simulation of many biophysically realistic neuron models, GPU performance was between 2 and 60 times better than the CPU depending on the equations and the number of neurons. We initiated the Brian project with the goal of providing a simple simulation tool to explore spiking neural models without spending too much time on their implementation. Our hope is that our efforts in developing Brian will make spiking neuron models more widely accessible for systems neuroscience research. ACKNOWLEDGMENTS This work was partially supported by the French ANR (ANR HIT), the CNRS and the Ecole Normale Supérieure. The authors would like to thank all those who have been involved in testing Brian and making suggestions for improving it. REFERENCES Badel, L., Lefort, S., Brette, R., Petersen, C. C. H., Gerstner, W., and Richardson, M. J. E. (2008). Dynamic I–V curves are reliable predictors of naturalistic pyramidal- neuron voltage traces. J. Neurophysiol. 99, 656–66. Bassi, S. (2007). A primer on Python for life science researchers. PLoS Comput. Biol. 3, e199. Bower, J. M., and Beeman, D. (1998). The Book of GENESIS: Exploring Realistic Neural Models with the GEneral NEural SImulation System, 2nd Edn. New York, Springer. Brette,R.,Rudolph,M.,Carnevale, T.,Hines, M.,Beeman,D.,Bower, J. M.,Diesmann, M., Morrison, A., Goodman, P. H., Harris, F. C., Zirpe, M., Natschläger, T., Pecevski, D.,Ermentrout,B.,Djurfeldt, M., Lansner, A., Rochel, O.,Vieville, T., Muller,E.,Davison,A.P.,Boustani, S. E., and Destexhe,A.(2007).Simulation of networks of spiking neurons: a review of tools and strategies. J. Comput. Neurosci. 23, 349–398. Carnevale, N. T., and Hines, M. L. (2006). The NEURON Book. Cambridge, Cambridge University Press. Davison, A. P., Brüderle, D., Eppler, J., Kremkow, J., Muller, E., Pecevski, D., Perrinet, L., and Yger, P. (2008). PyNN: a common interface for neu- ronal network simulators. Front. Neuroinformatics 2, 11. Deneve, S. (2008). Bayesian spiking neu- rons I: inference. Neural Comput. 20, 91–117. Diesmann, M., Gewaltig, M., and Aertsen, A. (1999). Stable propagation of synchronous spiking in cortical neu- ral networks. Nature 402, 529–533. Eppler, J. M., Helias, M., Muller, E., Diesmann, M., and Gewaltig, M. (2008). PyNEST: a convenient inter- face to the NEST simulator. Front. Neuroinformatics 2, 12. Frey, J., Tannenbaum, T., Livny, M., Foster, I., and Tuecke, S. (2002). Condor-G: a computation manage- ment agent for multi-institutional grids. Cluster Comput. 5, 237–246. Gewaltig, O., and Diesmann, M. (2007). NEST (NEural Simulation Tool). Scholarpedia 2, 1430. Goodman, D., and Brette, R. (2008). Brian: a simulator for spiking neural networks in Python. Front. Neuroinformatics 2, 5. Hines, M. L., and Carnevale, N. T. (2000). Expanding NEURON’s repertoire of mechanisms with NMODL. Neural Comput. 12, 995–1007. Hines, M. L., Davison,A. P., and Muller, E. (2009). NEURON and Python. Front. Neuroinformatics 3, 1. Jeffress, L. A. (1948). A place theory of sound localization. J. Comp. Physiol. Psychol. 41, 35–9. Luebke, D., Harris, M., Krüger, J., Purcell, T., Gov indaraju, N., Buck, I., Woolley, C., and Lefohn, A. (2004). GPGPU: General Purpose Computation on Graphics Hardware. Los Angeles, CA, ACM, p. 33. Mc A l p i n e , D. , Ji a n g , D. , a n d Palmer, A. R. (2001).A neural code for low-frequency sound localization in mammals. Nat. Neurosci. 4, 396–401. Pﬁster,J.,and Gerstner,W.(2006).Triplets of spikes in a model of spike timing- dependent plasticity. J. Neurosci. 26, 9673–9682. Song, S., Miller, K. D., and Abbott, L. F. (2000). Competitive Hebbian learning throughspike-timing-dependentsynap- tic plasticity. Nat. Neurosci. 3, 919–926. Stürzl, W., Kempter, R., and van Hemmen, J. L. (2000). Theory of arachnid prey localization. Phy. Rev. Lett. 84, 5668–5671. Tsodyks, M. V., and Markram, H. (1997). The neural code between neocorti- cal pyramidal neurons depends on neurotransmitter release probabil- ity. Proc. Natl. Acad. Sci. U. S. A. 94, 719–723. Conflict of Interest Statement: The authors declare that the research was conducted in the absence of any com- mercial or financial relationships that could be construed as a potential conﬂict of interest. Received: 22 April 2009; paper pending published: 26 June 2009; accepted: 08 July 2009; published: 15 September 2009. Citation: Front. Neurosci. (2009) 3, 2: 192- 197. doi: 10.3389/neuro.01.026.2009 Copyright © 2009 Goodman and Brette. 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. Frontiers in Neuroscience www.frontiersin.org September 2009 | Volume 3 | Issue 2 | 197