-
First step towards the Python front end. This commit sets up the structure of the python implementation * directory structure * git submodule for pybind11 * best practices for making bindings with pybind11 * unit testing for the python front end It implements the following features in the Python front end * execution contexts * gpu detection * thread count detection * MPI initialization helpers. Fixes #667.
fa549238
index.rst 1.75 KiB
Arbor
What is Arbor?
Arbor is a high-performance library for computational neurscience simulations.
The development team is from from high-performance computing (HPC) centers:
- Swiss National Supercomputing Center (CSCS), Jülich and BSC in work package 7.5.4 of the HBP.
- Aim to prepare neuroscience users for new HPC architectures;
Arbor is designed from the ground up for many core architectures:
- Written in C++11 and CUDA;
- Distributed parallelism using MPI;
- Multithreading with TBB and C++11 threads;
- Open source and open development;
- Sound development practices: unit testing, continuous Integration, and validation.
Features
We are actively developing Arbor, improving performance and adding features. Some key features include:
- Optimized back ends for CUDA, KNL and AVX2 intrinsics.
- Asynchronous spike exchange that overlaps compute and communication.
- Efficient sampling of voltage and current on all back ends.
- Efficient implementation of all features on GPU.
- Reporting of memory and energy consumption (when available on platform).
- An API for addition of new cell types, e.g. LIF and Poisson spike generators.
- Validation tests against numeric/analytic models and NEURON.