CNS - Neural Simulator Software



About CNS

CNS is light-weight software package for building and simulating networks of neurons, synapses and other kinds of neural elements. In CNS each kind of element is a node type; other non-neural node types exist for loading data, saving data, generating input data, and providing graphical display of network activities.

Presently a few types of elements are available in CNS, including leaky integrators, integrate and fire neurons, and conductance based synapes. It is relatively straight forward to modify the core code of CNS to add whatever new types of elements that may be needed.

CNS is written in C++ and Python, and is intended for computers running a fairly recent version of Linux.

How CNS works

CNS contains a software binary (i.e. an excutable program) which performs the actual simulation of neural networks. Neural networks are expressed as XML files, which are then submitted to the simulator for execution. The simulator will build and simulate the network specified in the XML file and save any requested data to disk.

An example of how a neuron element is represented in XML is shown below. This fragment shows a single integrate and fire neuron being defined. The neuron, which has typename IFNeuron, is provided with initial values for all its parameters and given the ID "LHN":

  <select_parent qname='.root' />
<add_node type='IFNeuron' lname='LHN'>
<config section='Node' debug='false' qself='true' />
<config section='IFNeuron' spikeV='9.5 mV' threshV='-25.8 mV' timestep='0.05 ms' membG='2.5 nS' recovV='-100 mV' membC='28.0 pF' membVrest='-84 mV' refractT='30 ms'/> </add_node>

CNS development status

CNS has been under development since January 2006, i.e., for only several months. As such it is very much still in alpha status. However it can presently be used for running simulations and collecting data using the currently implemented set of node types. It can also be used as basis for further development.

CNS is free, open source, software

The software is released under the GPL. This means it is 'open source'. It is freely available to be used, copied and extended.

Downloading and building

The software can be downloaded from the following link:

cns_0.3.5.tar.z

Building should be easy, provided your system containes the necessary libraries required by CNS. Particular pre-requisties that are not always installed on Linux systems by default are:

If you are using a popular distribution of Linux (e.g. Suse, RedHat, Madriva etc) then it should be possible to install these pre-requisites from the original distribution media. If you are not sure whether these exist on your system, attempting a build of CNS is one why to find out.

To build the software first download the source code and then unpack using :

tar xvfz cns_0.3.5.tar.z

In the unpacked directory run the command:

autoreconf -vif

In the same directory run the command:

configure

Finally start the actual compilation with:

make

If there were no problems the simulator binary should now be available under the subdirectory sim/ .

Further information, support, feedback

Please email me with any questions, or bug reports, at: