Abstract

Brian 2 is a fundamental rewrite of the popular Brian [1,2] simulator for spiking neural networks. It is written in the Python programming language and focuses on simplicity and extensibility: neuronal and synaptic models can be described using mathematical formulae and with the use of physical units [3]. Brian has been traditionally used to simulate networks of single-compartment neurons; complex morphologies, modeled as multi-compartment neurons, were not supported. We have recently added support for such models: a neuron's morphology can be either created from a file (in the SWC format [4]) or be created iteratively in the simulation script itself, using a convenient syntax. The flexibility of the Brian simulator applies to multi-compartment models in the same way as to single-compartment models: the model dynamics are governed by arbitrary user-provided differential equations, models can be flexibly parameterized over all the compartments and all variables describing the internal state of the model (voltages, currents , conductances, etc) are accessible to the user. The simulation of multi-compartment models is more complex than that of non-electrically coupled single-compartment models: in addition to the numerical integration of the differential equations governing the change of the membrane potential in a single compartment, the currents flowing across neighboring compartments have to be taken into account. To this end, Brian employs a domain-decomposition method which corrects an initial solution valid for uncoupled compartments, taking the actual coupling into account. This method has the advantage that it is easy to parallelize, since most of computations are performed independently for each compartment. We demonstrate the advantage of this by parallelizing the computation over multiple processor cores using the OpenMP framework. For the future, we are planning to further accelerate the simulation speed by making use of the massively-parallel processing capabilities of graphical processing units. With this addition, we have significantly enlarged the range of research questions that can be investigated using Brian. Brian is made available under a free software license and all development takes place in public code repositories.

Highlights

  • Brian 2 is a fundamental rewrite of the popular Brian [1,2] simulator for spiking neural networks

  • The flexibility of the Brian simulator applies to multi-compartment models in the same way as to single-compartment models: the model dynamics are governed by arbitrary user-provided differential equations, models can be flexibly parameterized over all the compartments and all variables describing the internal state of the model are accessible to the user

  • The simulation of multi-compartment models is more complex than that of non-electrically coupled singlecompartment models: in addition to the numerical integration of the differential equations governing the change of the membrane potential in a single compartment, the currents flowing across neighboring compartments have to be taken into account

Read more

Summary

Introduction

Brian 2 is a fundamental rewrite of the popular Brian [1,2] simulator for spiking neural networks. Brian has been traditionally used to simulate networks of single-compartment neurons; complex morphologies, modeled as multi-compartment neurons, were not supported.

Results
Conclusion
Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call