Arbor

ArborArbor is a software library designed from the ground up for simulators of large networks of multi-compartment neurons on hybrid/accelerated/many core computer architectures.

Performance portability was completed for the three main target HPC architectures available through the HBP: Intel x86 CPUs (AVX2 and AVX512), Intel KNL (AVX512) and NVIDIA GPUs (CUDA).

Optimized kernels are automatically generated to target each architecture, and the system used in Arbor can be extended to new architectures in the future.

The other enhancements and features implemented in Arbor are:

  • Fully parallelized event generation and queuing from spikes.
  • Efficient sampling of model state on CPU and GPU implementations, e.g. voltage and current.
  • Significant refactoring to prepare the code for general release.
  • A Python interface for users.

The source code was released publicly on GitHub with an open source BSD license, along with documentation on Read the Docs, and automatic testing was set up on Travis CI.

Date of releaseAugust 2019
Version of software0.2.1
Version of documentation0.2.1
Software availablehttps://github.com/eth-cscs/arbor
Documentationhttp://arbor.readthedocs.io
https://github.com/eth-cscs/arbor
ResponsibleBenjamin Cumming (ETHZ): bcumming@cscs.ch
Alexander Peyser (JUELICH): a.peyser@fz-juelich.de
Requirements & dependencies
Target system(s)