Arbor 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 release | August 2019 |
Version of software | 0.2.1 |
Version of documentation | 0.2.1 |
Software available | https://github.com/eth-cscs/arbor |
Documentation | http://arbor.readthedocs.io https://github.com/eth-cscs/arbor |
Responsible | Benjamin Cumming (ETHZ): bcumming@cscs.ch Alexander Peyser (JUELICH): a.peyser@fz-juelich.de |
Requirements & dependencies | |
Target system(s) |