PCSIM: A Parallel Simulation Environment for Neural Circuits Fully Integrated with Python - PubMed (original) (raw)

PCSIM: A Parallel Simulation Environment for Neural Circuits Fully Integrated with Python

Dejan Pecevski et al. Front Neuroinform. 2009.

Abstract

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 implemented 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 PCSIM packages written in pure Python and tailored towards setting up and analyzing neural simulations.

Keywords: Boost.Python; PCSIM; Py++; Python; neural simulator; parallel simulation; spiking neurons.

PubMed Disclaimer

Figures

Figure 1

Figure 1

Architecture overview of PCSIM.

Figure 2

Figure 2

Simulation times of the CUBA network distributed over different number of processing nodes, compared to the expected simulation time (dashed line) (see text for details). Four different sizes of networks were simulated: 4000 neurons with on average 1.6 × 106 synapses (squares), 20000 neurons with on verage 40 × 106 synapses (circles), 50000 neurons with on average 250 × 106 synapses (diamonds) and 100000 neurons with on average 1 × 109 synapses (crosses). The plotted simulation times are averages over 12 simulation runs. The variation of simulation time between different simulation runs was small, therefore we did not show it.

Figure 3

Figure 3

The processing steps in the generation of the Python interface for PCSIM.

Figure 4

Figure 4

A diagram of the most important concepts within the network construction interface. The arrows indicate a “uses” relationship between the concepts.

Figure 5

Figure 5

(A) Network elements of different type (with different arrangement of input and output ports) interconnected together in a PCSIM network. Different colors of ports, gray or white, mark their different types, spiking or analog. (B) Neurons and synapses are specific subtypes of the more general concept of an network element. (C) Schematic diagram of the embedding of a network simulated with the Brian simulator into a PCSIM network element.

Figure 6

Figure 6

Plots from the output analysis example with the pypcsimplus package. (A) Spike response of the spiking network implemented in the Section “Custom Network Elements”, with input neurons emitting spikes generated from a homogeneous Poisson process with a rate of 5 Hz, for the first 0.4 s of the simulation. (B) Cross-correlogram of the spike response of the network model from (A). (C) Spike response of the spiking network implemented in the Section “Custom Network Elements”, when the input neurons emit spikes generated from an inhomogeneous Poisson process with a rate changing according to a sinusoidal function (see text for details). (D) Cross-correlogram of the spike response of the network model from (C).

Similar articles

Cited by

References

    1. Abrahams D., Grosse-Kunstleve R. W. (2003). Building hybrid systems with Boost.Python. C/C++ Users J. 21, 29–36
    1. Beazley D. (2003). Automated scientific software scripting with SWIG. Future Generat. Comput. Syst. 19, 599–60910.1016/S0167-739X(02)00171-1 - DOI
    1. Bower J. M., Beeman D. (1998). The Book of GENESIS (2nd ed.): Exploring Realistic Neural Models With the GEneral NEural SImulation System. New York, Springer-Verlag New York, Inc.
    1. Brette R., Rudolph M., Carnevale T., Hines M., Beeman D., Bower J. M., Diesmann M., Morrison A., Goodman P. H., Harris F. C., Jr, 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., Destexhe A. (2007). Simulation of networks of spiking neurons: a review of tools and strategies. J. Comput. Neurosci. 23, 349–39810.1007/s10827-007-0038-6 - DOI - PMC - PubMed
    1. Buzas P., Kovacs K., Ferecsko A. S., Budd J. M. L., Eysel U. T., Kisvarday Z. F. (2006). Model-based analysis of excitatory lateral connections in the visual cortex. J. Comp. Neurol. 499, 861–88110.1002/cne.21134 - DOI - PubMed

LinkOut - more resources