v0.12.1 and v0.12.1 released!
Posted onThis are the first releases containing AdEx cells and major performance optimisations for large scale simulations. v0.12.1 is a bugfix release to fix broken numerics on Apple Clang.
Arbor is a multi-compartment neuron simulation library; compatible with next-generation accelerators; best-practices applied to research software; focussed on community-driven development.
This are the first releases containing AdEx cells and major performance optimisations for large scale simulations. v0.12.1 is a bugfix release to fix broken numerics on Apple Clang.
From the abstract:
Arbor is a software library designed for efficient simulation of large-scale networks of biological neurons with detailed morphological structures. It combines customizable neuronal and synaptic mechanisms with high-performance computing, supporting multi-core CPU and GPU systems. In humans and other animals, synaptic plasticity processes play a vital role in cognitive functions, including learning and memory. Recent studies have shown that intracellular molecular processes in dendrites significantly influence single-neuron dynamics. However, for understanding how the complex interplay between dendrites and synaptic processes influences network dynamics, computational modeling is required. To enable the modeling of large-scale networks of morphologically detailed neurons with diverse plasticity processes, we have extended the Arbor library to support simulations of a large variety of spike-driven plasticity paradigms. To showcase the features of the extended framework, we present examples of computational models, beginning with single-synapse dynamics, progressing to multi-synapse rules, and finally scaling up to large recurrent networks. While cross-validating our implementations by comparison with other simulators, we show that Arbor allows simulating plastic networks of multi-compartment neurons at nearly no additional cost in runtime compared to point-neuron simulations. In addition, we demonstrate that Arbor is highly efficient in terms of runtime and memory use as compared to other simulators. Using the extended framework, as an example, we investigate the impact of dendritic structures on network dynamics across a timescale of several hours, finding a relation between the length of dendritic trees and the ability of the network to efficiently store information. By our extension of Arbor, we aim to provide a valuable tool that will support future studies on the impact of synaptic plasticity, especially, in conjunction with neuronal morphology, in large networks.
From the abstract:
Computational neuroscience has traditionally focused on isolated scales, limiting understanding of brain function across multiple levels. While microscopic models capture biophysical details of neurons, macroscopic models describe large-scale network dynamics. Integrating these scales, however, remains a significant challenge. In this study, we present a novel co-simulation framework that bridges these levels by integrating the neural simulator Arbor with The Virtual Brain (TVB) platform. Arbor enables detailed simulations from single-compartment neurons to populations of such cells, while TVB models whole-brain dynamics based on anatomical features and the mean neural activity of a brain region. By linking these simulators for the first time, we provide an example of how to model and investigate the onset of seizures in specific areas and their propagation to the whole brain. This framework employs an MPI intercommunicator for real-time bidirectional interaction, translating between discrete spikes from Arbor and continuous TVB activity. Its fully modular design enables independent model selection for each scale, requiring minimal effort to translate activity across simulators. The novel Arbor-TVB co-simulator allows replacement of TVB nodes with biologically realistic neuron populations, offering insights into seizure propagation and potential intervention strategies. The integration of Arbor and TVB marks a significant advancement in multi-scale modeling, providing a comprehensive computational framework for studying neural disorders and optimizing treatments.
We will be giving tutorial on Arbor at the 1st EBRAINS Student Conference on Interdisciplinary Brain Research in Nice (10-13 March 2026)
Arbor is a library for simulating biophysically detailed neuron models on modern hardware. It comes with a friendly Python interface hiding its blazingly fast C++ core; scaling from laptops to at least 4000 GPUs. In this tutorial, we will show you the basics of designing detailed cell models, how to run them using Arbor, and how to grow them into larger networks. We will demonstrate how to create data driven models using the Allen Brain Atlas as an example. Arbor is free and open-source software, developed in the Human Brain Project and EBRAINS.
From the abstract:
Understanding how molecular events in ion channels impact neuronal excitability, as derived from the calculation of the time course of the membrane potentials, can help elucidate the mechanisms of neurological disease-linked mutations and support neuroactive drug design. Here, we propose a multiscale simulation approach which couples molecular simulations with neuronal simulations to predict the variations in membrane potential and neural spikes.
Details here!
Details here!
After much more delay than anticipated, we are very happy to present a new Arbor release. Nearly 8 months of work is in it, much of which focussed on speed, optimisation, fixes and build system changes. This release includes Python 3.12 wheels as probably one of the first packages on PyPI 😄.
external_connections_on method to specify how simulations might be interacting. See documentation for more.iexpr: temperature, capacitance, resistivity, membrane potential and the following ionic parameters: internal and external concentration, diffusivity, and reversal potential. See documentation.sigmoid(x), relu(x) and tanh(x). Control volume area is exposed through NMODL.arbor.context(12, None) is now arb.context(threads=12, gpu=None). In the case no arguments are supplied, the context initialized to default_allocation, which means it will use the total number of threads and first GPU that are locally available. arbor.simulation constructed without an explicit arbor.context also initializes a default_allocation.A full changelog is available in CHANGELOG.md.
The release is out on PyPI, so give it a go:
python -m venv env && source env/bin/activate
pip install arbor
python -c 'import arbor; arbor.print_config()'
Should you encounter any problems, don’t hesitate to let us know.
For the past months we’ve had a weekly public-ish meeting with some modelers. Today we announce that this meeting is now open to all! Every Wednesday 13:00 CET we convene in the Arbor Community channel on Gitter to have a videochat for an hour of questions, answers, demonstrations, anything related to Arbor really. Please join if you’re interested in sharing your work, getting help or just getting an idea of what’s going on in our community.
You can join on Gitter or through a Matrix client.
The Arbor workshop at the HBP Summit 2023 has concluded. To those who attended: thanks for your interest! Please reach out if you are thinking of using Arbor for your science.
Slides are available below:
Network.ipynb