Evaluating the Connection-Set Algebra for the neural simulator NEST

Jochen Martin Eppler1, Håkon Enger2, Thomas Heiberg2, Birgit Kriener2, Hans Ekkehard Plesser2, Markus Diesmann1,3, Mikael Djurfeldt4,5

  1. Institute of Neuroscience and Medicine (INM-6), Computational and Systems Neuroscience, Research Center Jülich, Jülich, Germany
  2. Department of Mathematical Sciences and Technology, Norwegian University of Life Sciences, Ås, Norway
  3. Computational Neurophysics, RIKEN Brain Science Institute \& Computational Science Research Program, Wako City, Japan
  4. PDC Center for High Performance Computing, School of Computer Science and Communication, KTH, Stockholm, Sweden
  5. INCF Secretariat, Stockholm, Sweden


We present our ongoing work to evaluate the usability and efficiency of an implementation of the Connection Set Algebra (http://software.incf.org/software/csa) [1] for the neural simulation tool NEST (http://www.nest-initiative.org) [2].

Present day simulation languages work well for simple network structures like random or feed-forward networks. However, they either lack the required expressiveness or the required computational efficiency to specify the connectivity of complex hierarchical network models now under investigation. This increases the risk of errors in the model description or prevents the investigation of relevant model sizes. Therefore, a description language in the problem domain of the neuroscientist is required which guides the researcher to correct model specifications and avoids technical clutter.

The Connection Set Algebra (CSA) is a generic framework, which provides elementary connection sets and operators for combining them. It allows one to define network connectivity in a compact and accessible format. A prototype implementation of the CSA exists in form of a Python module (libcsa). NEST is a simulator for large heterogeneous networks of point neurons or neurons with a small number of compartments.

The concrete goals of this project are:

  1. Reduce the complexity of NEST's native connection routines through the use of CSA.
  2. Base the topology module of NEST on CSA in order to obtain better scaling, especially for very large networks on HPC facilities.
  3. Create a C++ implementation of CSA (libcsa) that can be used by neural simulators to describe network connectivity.

The result of this study is a test implementation and a quantitative assessment of the proposed technology.


Partially funded by "The Next-Generation Integrated Simulation of Living Matter" project, part of the Development and Use of the Next-Generation Supercomputer Project of the Ministry of Education, Culture, Sports, Science and Technology (MEXT) of Japan, the Helmholtz Alliance on Systems Biology, the Research Council of Norway and the International Neuroinformatics Coordinating Facility.


[1] Mikael Djurfeldt, under revision (2011)
[2] Marc-Oliver Gewaltig and Markus Diesmann (2007) NEST (Neural Simulation Tool), Scholarpedia 2 (4), p. 1430.


The Poster is available as PDF.


[1] Djurfeldt (2011) CNS*2011, BMC Neuroscience, doi:10.1186/1471-2202-12-S1-P80.
[2] Gewaltig & Diesmann (2007) Scholarpedia.
[3] Plesser & Austvoll (2009) BMC Neuroscience, doi:10.1186/1471-2202-10-S1-P56.
[4] Brunel (2000) J. Comput. Neurosci, doi:10.1023/A:1008925309027.
[5] Raikov & De Schutter (2010) FENS Abstr., vol.5, 059.26.
[6] Eppler et al (2009) Front. Neuroinform., doi:10.3389/neuro.11.012.2008.

Source code:

The example in the CSA box:

The balanced random network used for the benchmark:

We used CSA trunk revision 93 and NEST trunk revision 9325 for this study.