Integrating CSA into NEST
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, see http://software.incf.org/software/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:
- Reduce the complexity of NEST's native connection routines through the use of CSA.
- Base the topology module of NEST on CSA in order to obtain better scaling, especially for very large networks on HPC facilities.
- 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.