• Documentation
  • Papers referencing ArNI-X
  • Author
  • News
  • How to try
The ArNI-X spiking neural network simulator

The very simple but powerful and flexible simulator for spiking neural networks. It does not require any programming. The network architecture (which can be almost arbitrary) is described using a simple declarative XML-based language. This feature determines lower entry threshold than for the simulators based on Pyhthon or other programming languages. For creation of complicated custom network structures, C++ API also provided.

No programming

Programming languages are used to describe algorithms. However, neural networs are not algorithms - they are data structures. Neural network is defined as a graph where vertices are neurons and arcs are synapses (or on the higher level, they may be populations and projections). It is not clear why to use here programming languages while much simpler declarative description can be sufficient. Following this idea, we created a simple declarative language based on XML to specify the network structure. However, programming (say, Python) may indeed be necessary for interpreting and displaying results obtained by the network or processes inside it and we provide Python codes for this.

In order to begin creating networks of their own, the users can get familiar with the ArNI-X tutorials inside the ArNI-X user manual.

Code and plot example

The network block constructor

The human brain, the greatest known spiking neural network, is very complex. It consists of many sections which differ by their internal structure, neuron properties and functionality. The practically applicably artificial spiking neural networks should also include various smaller standard blocks. Probably, the future big polyfunctional SNNs will be made from many typical sub-structires like builgings from the bricks.

ArNI-X makes this hierarchical construction easy. ArNI-X network descriptions can include other ArNI-X network descriptions.

SNN blocks

Emulation speed

At present, ArNI-X is implemented on CPU and GPU. It can use in parallel several GPU cards installed on one host. It makes possible to emulate in real time large networks including several tens of thousands neurons.

It can even utilize GPU clusters for network hyper-parameter optimization.

GPU cluster brain

Efficient tool for SNN-related studies

ArNI-X has been successfully used in several research projects devoted to application of spiking neural networks to reinforcement learning, classification and pattern recognition, rare event prediction, creation of dynamics models of objects and to other tasks.