Concepedia

Publication | Open Access

Brian 2, an intuitive and efficient neural simulator

744

Citations

65

References

2019

Year

TLDR

Spiking neural network simulators typically require either low‑level programming, which is error‑prone and hampers reproducibility, or high‑level description languages that cannot capture complex experimental logic, limiting performance and flexibility. Brian 2 aims to overcome these limitations by enabling researchers to define models with simple, high‑level descriptions while still achieving efficient simulation. It does so through runtime code generation that compiles concise model specifications into optimized low‑level code, allowing interleaving with user code and supporting complex dynamics such as plasticity, closed‑loop control, and real‑time auditory input.

Abstract

Brian 2 allows scientists to simply and efficiently simulate spiking neural network models. These models can feature novel dynamical equations, their interactions with the environment, and experimental protocols. To preserve high performance when defining new models, most simulators offer two options: low-level programming or description languages. The first option requires expertise, is prone to errors, and is problematic for reproducibility. The second option cannot describe all aspects of a computational experiment, such as the potentially complex logic of a stimulation protocol. Brian addresses these issues using runtime code generation. Scientists write code with simple and concise high-level descriptions, and Brian transforms them into efficient low-level code that can run interleaved with their code. We illustrate this with several challenging examples: a plastic model of the pyloric network, a closed-loop sensorimotor model, a programmatic exploration of a neuron model, and an auditory model with real-time input.

References

YearCitations

Page 1