Skip to content
Snippets Groups Projects
  • Benjamin Cumming's avatar
    Python Interface (#948) · cfad427a
    Benjamin Cumming authored
    A big update that wraps over 90% of the public C++ API, with enough functionality to let Python users to perform useful modelling.
    
    Key features
    - wrapping of cable cell functionality
      - user-defined explicit compartmentalisation not supported
    - `single_cell_model` abstraction unique to the Python wrapper that simplifies developing and testing single cell models
    - one-dimensional cell builder for Python wrapper that simplfies building cells that 
      - in and of itself limited in scope, but a very useful example of mapping a richer morphology builder onto `sample_tree`s.
    - parsing of region and location expressions from strings
      - implements a generic s-expression parser that we can use for other purposes later
    Unverified
    cfad427a
index.rst 3.40 KiB

Arbor

https://travis-ci.org/arbor-sim/arbor.svg?branch=master

What is Arbor?

Arbor is a high-performance library for computational neuroscience 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 end for CUDA
  • Optimized vector back ends for Intel (KNL, AVX, AVX2) and Arm (ARMv8-A NEON) 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.

Citing Arbor

Specific versions of Arbor can be cited via Zenodo:

  • v0.2: DOI-v0.2
  • v0.1: DOI-v0.1

The following BibTeX can be used to cite Arbor:

@INPROCEEDINGS{
    paper:arbor2019,
    author={N. A. {Akar} and B. {Cumming} and V. {Karakasis} and A. {Küsters} and W. {Klijn} and A. {Peyser} and S. {Yates}},
    booktitle={2019 27th Euromicro International Conference on Parallel, Distributed and Network-Based Processing (PDP)},
    title={{Arbor --- A Morphologically-Detailed Neural Network Simulation Library for Contemporary High-Performance Computing Architectures}},
    year={2019}, month={feb}, volume={}, number={},
    pages={274--282},
    doi={10.1109/EMPDP.2019.8671560},
    ISSN={2377-5750}}

Alternative citation formats for the paper can be downloaded here, and a preprint is available at arXiv.