Brain Studio has been developed by the Computational Neurodynamics Lab at Imperial College London. The aim is to automate and speed-up the process of designing and testing large-scale spiking neural networks (SNNs), through a suite of new simulation tools. In particular, this suite provides (1) a framework for the compact representation of modular SNNs, suitable for large-scale brain circuits and cognitive systems, (2) a generic and powerful simulator that allows the fast implementation, visualization and real-time adjustments of SNNs, and (3) a fast optimization technique, which could be used in order to mimic the dynamical behaviour of specific neurons in the brain, using simple phenomenological models.
As the computational foundation of these features, Brain Studio integrates NeMo, a high performance spiking neural network simulator that was originally developed in the Computational Neurodynamics Lab at Imperial College London by Fidjeland and Shanahan, and has the form of a C++ library. NeMo takes advantage of the large number of CUDA-based graphics processing units (GPUs) of the NVidia graphics cards to provide a remarkably high memory bandwidth, and run parallel simulations with large number of neurons and synapses in real time. In a recent commercial of-the-shelf desktop computer, this system is able to simulate up to 500.000 Izhikevich neurons in real time, connected with 10.000 synapses each, under biologically plausible conditions that correspond to almost 5 billion spike events per second.
NeMo has programming interfaces in C/C++, Python and MATLAB. However, neurons and synapses are added one at a time through coding and so it can be quite complicated and laborious. Brain Studio allows for the design of a network topology via a GUI. The GUI model describe separate groups of neurons and connectivity patterns of synaptic pathways between groups of neurons. The GUI monitors and visualises the simulations that are run in a separate simulation back end that is implemented in Python. The GUI and the simulation back end communicate via TCP/IP to allow for remote monitoring.
In line with graph representations, in Brain Studio a population of neurons whatever the type, be it Hodgkin-Huxley, Izhikevich or what ever are considered nodes. All synaptic pathways whatever the type are considered edges. This is illustrated in the figure below. This generic model is implemented in the python back end simulator architecture. All specific neuron population types are derived from a Node class. All synaptic pathways types are derived from an Edge class. The Brain Studio framework is fully extensible allowing for new types of nodes and edges to be added to the back end by deriving from the respective Node or Edge class. The front end GUI does not require any modification when adding new nodes and edges.
To report a bug or issue with Brain Studio or to request a feature please click HERE
The development of Brain Studio was supported by the EU FET grant (GA: 641100) TIMESTORM - Mind and Time: Investigation of the Temporal Traits of Human-Machine Convergence.