
Arbor – a morphologically-detailed neural network simulation library for contemporary high-performance computing architectures Nora Abi Akar Ben Cumming Vasileios Karakasis Scientific Software & Libraries Scientific Software & Libraries Scientific Computing Support CSCS CSCS CSCS Zurich,¨ Switzerland Zurich,¨ Switzerland Lugano, Switzerland [email protected] [email protected] [email protected] Anne Kusters¨ Wouter Klijn Alexander Peyser SimLab Neuroscience, JSC, IAS SimLab Neuroscience, JSC, IAS SimLab Neuroscience, JSC, IAS Forschungszentrum Jlich Forschungszentrum Jlich Forschungszentrum Jlich Julich,¨ Germany Julich,¨ Germany Julich,¨ Germany [email protected] [email protected] [email protected] Stuart Yates Scientific Software & Libraries CSCS Zurich,¨ Switzerland [email protected] Abstract—We introduce Arbor, a performance portable library models handling complex, bifurcating dendritic arbors [2] for simulation of large networks of multi-compartment neurons and assuming binary axonal firing and velocity allowed for on HPC systems. Arbor is open source software, developed under the mathematical construction of entire neurons. With the the auspices of the HBP. The performance portability is by virtue of back-end specific optimizations for x86 multicore, Intel KNL, addition of synaptic models in the ensuing decades, the and NVIDIA GPUs. When coupled with low memory overheads, fundamental formal description of biological neuronal networks these optimizations make Arbor an order of magnitude faster was captured at the scale of cellular behavior. than the most widely-used comparable simulation software. The The evolution of computing equipment ranging from the single-node performance can be scaled out to run very large desktop PC to supercomputing centers has enabled a plethora models at extreme scale with efficient weak scaling. Index Terms—HPC, GPU, neuroscience, neuron, software of tools for numerically computing predictions of neuronal network behavior that is comparable with a variety of experi- I. INTRODUCTION mental results, thus allowing the rigorous testing of possible functional models with varying levels of experimental verifi- “What I cannot create, I do not understand.” cation, mathematical validity and stability, and computational – Feynmann’s blackboard, February 1988 performance. In 1984, the publication of the Thomas algorithm arXiv:1901.07454v1 [q-bio.NC] 17 Jan 2019 The electrical basis of neuronal activity was experimentally for neurons and its implementation in CABLE and NEURON established in 1902 by Bernstein [1, Review] with preliminary were the computational breakthrough for efficient computations chemical models of ionic electrodiffusion. Further refinement of complex dendritic arbors and the diffusion of computational by Hodgkin, Huxley, Katz and Stmpfli of the connection simulation to the wider neuroscientific community [3]. Contin- between ionic flow, electrical activity, and axonal firing quickly uing improvements to NEURON and the addition of automated followed in the wet lab with the classical series of experiments code generation for neuron models to allow the injection of on squid giant axons. However, the crucial breakthrough efficient C code by neuroscientists not versed in programming in understanding the link between biological activity and made NEURON the premier neuronal network simulator for electrical activity in neuronal networks was the theoretical multicompartment neurons. description by Hodgkin and Huxley in 1952 in mathematical However, the field of neuronal network simulators is diverse, and engineering language which allowed the computation of encompassing point neuron simulators like NEST, interpreted the depolarization and repolarization of neurons from a few simulators for fast prototyping like BRIAN, and high-resolution experimentally accessible parameters. Full multicompartment simulators like GENESIS [4, Review]. As the field expands its ambitions from small neuronal networks towards the 1011 neurons in a human brain, and beyond by a further two orders of magnitude to include electrically active glial cells, issues of J1 J2 parallel computational performance have begun to dominate the field [4], featuring experimental simulators like SPLIT. Both NEURON and NEST have been ported to MPI for large clusters and high-performance computing (HPC) centers; Jmembrane petascale-capable code has been developed as CoreNEURON, NEST 4G and Arbor. Use cases have included the neocortical Fig. 1: Current balance in dendrite section, Jmembrane = J2 − J1. The simulations [5], macaque visual cortical areas [6], and olfactory membrane is treated as a leaky capacitor with extra current sources, surrounding an ohmic conductor of variable radius. bulb simulations [7]. New HPC architectures such as the addition of ubiquitous GPU resources have been a new challenge, requiring new code adaptation with codes such as CoreNEURON and GeNN for single-node GPU neuronal networks. Developing performant densities, derived from: the membrane capacitance; a surface algorithms for computing the Hines matrix on GPUs and other density of ion channels; and point sources from synapses and vectorize hardware has been an additional hurdle [8], [9]. The experimentally-injected currents. The synapse and ion channel development of Arbor [10] has focused on tackling issues of currents themselves are functions of local states that are in vectorization and emerging hardware architectures by using turn governed by a system of voltage-dependent ODEs. modern C++ and automated code generation, within an open- source and open-development model. The resulting equations have the form II. MODEL Arbor simulates networks of spiking neurons, and in partic- ular, networks of multi-compartment neurons. @ @v @v X rev @S In this model, the only interaction between cells is mediated σ = cm · + gk(s (x; t))(v − e ) · @x @x @t k k @x by spikes1, discrete events initiated by one neuron which are channels k then propagated and distributed to typically many other neurons X syn syn syn syn + Ii (sk (t); v(xk )) δxk after a delay. This abstracts the process by which an action synapses k X potential is generated by a neuron and then carried via an axon + Iinj(t) δxinj; to a number of remote synapses. k k injections k For simulation purposes, this interaction between neurons is (1a) modeled as a tuple: source neuron, destination neuron, synapse d on the destination neuron, propagation time, and a weight. The s (x; t) = f (s ; v(x; t)); (1b) dt k i k strictly positive propagation times allow for semi-independent d evolution of neuron state: if ∆T is the minimum propagation ssyn(t) = f syn(ssyn; v(xsyn; t); t); (1c) dt k i k k time, then the integration of the neuron state from time t to t + ∆T=2 only needs spikes that were generated at t < t − ∆T=2. While Arbor supports a number of neuron models, the main focus is on the simulation of multi-compartment neurons. Here where σ is the axial conductivity of the intracellular medium; each cell is modeled as a branching, one dimensional electrical cm is the membrane areal capacitance; gk is the areal con- system with dynamics governed by the cable equation, with ductance for an ion channel of type k as a function of an ion channel state sk, with corresponding reversal potential ion channels and synapses represented by additional current rev ek ; S(x) is the membrane surface area as a function of sources. (See [11] for an early example of this model applied to syn axial distance x; Ik is the current produced by a synapse at a crustacean axon.) The domain is discretized (hence the term syn syn position xk as a function of the synaptic state sk and local multi-compartment) and the consequent system of differential inj inj voltage; and Ik (t) is the injected current at position xk. The equations is integrated numerically. Spikes are generated when syn the membrane voltage at a given point — typically on the functions fk and fk encode the biophysical properties of the soma — exceeds a fixed threshold. ion channels and synapses, and will vary from simulation to The cable equation is derived from the balance of trans- simulation. membrane currents with the axial currents that travel through Arbor performs a vertex-centered 1-D finite volume dis- the intracellular medium (Fig. 1). Membrane currents com- cretization in space, using a first-order approximation for the prise a mixture of discrete currents and distributed current axial current flux. This provides a coupled set of ODEs for the 1Interaction via gap junctions is under development in Arbor, but is not discretized voltages Vi for each control volume Xi, the synapse syn currently supported. states sk , and the discretized states of the ion channels sk;i in Xi: cell implementations, while target-specific vectorization, code- generation and cell group implementations allow hardware- dVi X X c = σ (V − V ) − Iinj(t) i dt i;j j i k optimized performance of models specified in a portable and inj j: Xj \Xi=6 ; k: xk 2Xi generic way. X syn syn − Ik (sk ;Vi) (2a) A. Cells and recipes k: xsyn2X k i The basic unit of abstraction in an Arbor model is the cell. X rev − Si · gk(sk;i)(Vi − ek ); A cell represents the smallest model that can be simulated, channels k and forms the smallest unit of work that can be distributed ds across processes. Cells interact with each other only via spike k;i = f (s ;V ); (2b) dt k k;i i exchange. dssyn Cells can be of various types, admitting different representa- k = f syn(ssyn;V ; t); (2c) dt k k i tions and implementations. Arbor
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages9 Page
-
File Size-