Arbor is a multi-compartment neuron simulation library; compatible with next-generation accelerators; best-practices applied to research software; focussed on community-driven development.
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.
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.
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 😄.
Major new features
External Connectivity: Arbor can now interface with other simulators or processes through MPI. Contexts now accept a second MPI communicator and Recipes can implement a external_connections_on method to specify how simulations might be interacting. See documentation for more.
Arbor now supports checkpointing and resume from a previously stored checkpoint. Useful when a certain point in time needs to be explored in multiple directions, when you want to rewind to a previous state, etc. See documentation for more.
More painted parameters are now scalable through iexpr: temperature, capacitance, resistivity, membrane potential and the following ionic parameters: internal and external concentration, diffusivity, and reversal potential. See documentation.
A set of ANN activation functions for NMODL have been added: sigmoid(x), relu(x) and tanh(x). Control volume area is exposed through NMODL.
A revamped backend for ARM CPU’s that support Scalable Vector Extension (SVE). Arbor and modcc are now fully compatible, so users who have access to A64FX-based HPC can take full advantage of that hardware.
Breaking changes since v0.8.1
It is no longer possible to set binning and sampling policies, due to Arbor now having a fixed timestep. Removing exact delivery increases the speed of the simulation due to elimination of small steps, makes the numerics independent of presence of sampling, and also leads to a number of code simplifications.
Contexts are now constructed kwargs-only. So, 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.
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.
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.
How have you used Arbor and how do you plan to use Arbor going forward?
Brief user presentations
Discussion!
If you are working on large networks of morphologically detailed cells or would like to, don’t hesitate to join and bring your ideas, questions, struggles, etc.! We hope to create a fruitful event that’ll help you further.
At the 2023 edition of the Human Brain Project Summit Arbor will be present with both three posters and a hands-on session. One of the posters is ready and can be previewed at here. The hands-on takes place Monday 27 March. Keep an eye on the official program for the timeslot.
If you are working on large networks of morphologically detailed cells or would like to, don’t hesitate to join and bring your ideas, questions, struggles, etc.! We hope to create a fruitful event that’ll help you further.
As of today the Arbor-playground is online. The Playground is a version of Arbor compiled to the web, through Emscripten and Pyodide. This means you can take Arbor for a test drive right in your browser, without having to install anything. The Playground comes preloaded with a few models, we’re still working on you being able to load them yourself.