Original Research Article
PCSIM: A Parallel Simulation Environment for Neural Circuits Fully Integrated with Python
1 Institute For Theoretical Computer Science, Graz University of Technology, Austria
2 Software Competence Center Hagenberg, Austria
2 Software Competence Center Hagenberg, Austria
The Parallel Circuit SIMulator (PCSIM) is a software package for simulation of neural circuits. It is primarily designed for distributed simulation of large scale networks of spiking point neurons. Although its computational core is written in C++, PCSIM's primary interface is in the Python programming language, which is a powerful programming environment and allows the user to easily integrate the neural circuit simulator with data analysis and visualization tools to manage the full neural modeling life cycle. The main focus of this paper is to describe PCSIM's full integration into Python and the benefits thereof. In particular we will investigate how the automatically generated bidirectional interface and PCSIM's object-oriented modular framework enable the user to adopt a hybrid modeling approach: using and extending PCSIM's functionality either employing pure Python or C++ and thus combining the advantages of both worlds. Furthermore, we describe several supplementary packages written in pure Python and tailored towards setting up and analyzing neural simulations.
Keywords: neural simulation, Python, C++, Boost.Python, Py++, spiking neurons
Copyright: © Pecevski, Natschläger and Schuch. 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: Dejan Pecevski, Institute for Theoretical Computer Science, Graz University of Technology, Inffeldgasse 16b/1, A-8010 Graz, Austria, dejan@igi.tugraz.at
Received: 14 September 2008; paper pending published: 21 October 2008;
Edited by:
Rolf Kötter, Radboud University Nijmegen, The Netherlands
*Correspondence: Dejan Pecevski, Institute for Theoretical Computer Science, Graz University of Technology, Inffeldgasse 16b/1, A-8010 Graz, Austria, dejan@igi.tugraz.at


