CoreNEURON : An Optimized Compute Engine for the NEURON Simulator

The NEURON simulator has been developed over the past three decades and is widely used by neuroscientists to model the electrical activity of neuronal networks. Large network simulation projects using NEURON have supercomputer allocations that individually measure in the millions of core hours. Supe...

Full description

Bibliographic Details
Main Authors: Pramod Kumbhar, Michael Hines, Jeremy Fouriaux, Aleksandr Ovcharenko, James King, Fabien Delalondre, Felix Schürmann
Format: Article
Language:English
Published: Frontiers Media S.A. 2019-09-01
Series:Frontiers in Neuroinformatics
Subjects:
Online Access:https://www.frontiersin.org/article/10.3389/fninf.2019.00063/full
id doaj-98ec45ccc4d74e37a387fecc37dbbf56
record_format Article
spelling doaj-98ec45ccc4d74e37a387fecc37dbbf562020-11-25T02:35:13ZengFrontiers Media S.A.Frontiers in Neuroinformatics1662-51962019-09-011310.3389/fninf.2019.00063476073CoreNEURON : An Optimized Compute Engine for the NEURON SimulatorPramod Kumbhar0Michael Hines1Jeremy Fouriaux2Aleksandr Ovcharenko3James King4Fabien Delalondre5Felix Schürmann6Blue Brain Project, École Polytechnique Fédérale de Lausanne (EPFL), Geneva, SwitzerlandDepartment of Neuroscience, Yale University, New Haven, CT, United StatesBlue Brain Project, École Polytechnique Fédérale de Lausanne (EPFL), Geneva, SwitzerlandBlue Brain Project, École Polytechnique Fédérale de Lausanne (EPFL), Geneva, SwitzerlandBlue Brain Project, École Polytechnique Fédérale de Lausanne (EPFL), Geneva, SwitzerlandBlue Brain Project, École Polytechnique Fédérale de Lausanne (EPFL), Geneva, SwitzerlandBlue Brain Project, École Polytechnique Fédérale de Lausanne (EPFL), Geneva, SwitzerlandThe NEURON simulator has been developed over the past three decades and is widely used by neuroscientists to model the electrical activity of neuronal networks. Large network simulation projects using NEURON have supercomputer allocations that individually measure in the millions of core hours. Supercomputer centers are transitioning to next generation architectures and the work accomplished per core hour for these simulations could be improved by an order of magnitude if NEURON was able to better utilize those new hardware capabilities. In order to adapt NEURON to evolving computer architectures, the compute engine of the NEURON simulator has been extracted and has been optimized as a library called CoreNEURON. This paper presents the design, implementation, and optimizations of CoreNEURON. We describe how CoreNEURON can be used as a library with NEURON and then compare performance of different network models on multiple architectures including IBM BlueGene/Q, Intel Skylake, Intel MIC and NVIDIA GPU. We show how CoreNEURON can simulate existing NEURON network models with 4–7x less memory usage and 2–7x less execution time while maintaining binary result compatibility with NEURON.https://www.frontiersin.org/article/10.3389/fninf.2019.00063/fullNEURONsimulationneuronal networkssupercomputingperformance optimization
collection DOAJ
language English
format Article
sources DOAJ
author Pramod Kumbhar
Michael Hines
Jeremy Fouriaux
Aleksandr Ovcharenko
James King
Fabien Delalondre
Felix Schürmann
spellingShingle Pramod Kumbhar
Michael Hines
Jeremy Fouriaux
Aleksandr Ovcharenko
James King
Fabien Delalondre
Felix Schürmann
CoreNEURON : An Optimized Compute Engine for the NEURON Simulator
Frontiers in Neuroinformatics
NEURON
simulation
neuronal networks
supercomputing
performance optimization
author_facet Pramod Kumbhar
Michael Hines
Jeremy Fouriaux
Aleksandr Ovcharenko
James King
Fabien Delalondre
Felix Schürmann
author_sort Pramod Kumbhar
title CoreNEURON : An Optimized Compute Engine for the NEURON Simulator
title_short CoreNEURON : An Optimized Compute Engine for the NEURON Simulator
title_full CoreNEURON : An Optimized Compute Engine for the NEURON Simulator
title_fullStr CoreNEURON : An Optimized Compute Engine for the NEURON Simulator
title_full_unstemmed CoreNEURON : An Optimized Compute Engine for the NEURON Simulator
title_sort coreneuron : an optimized compute engine for the neuron simulator
publisher Frontiers Media S.A.
series Frontiers in Neuroinformatics
issn 1662-5196
publishDate 2019-09-01
description The NEURON simulator has been developed over the past three decades and is widely used by neuroscientists to model the electrical activity of neuronal networks. Large network simulation projects using NEURON have supercomputer allocations that individually measure in the millions of core hours. Supercomputer centers are transitioning to next generation architectures and the work accomplished per core hour for these simulations could be improved by an order of magnitude if NEURON was able to better utilize those new hardware capabilities. In order to adapt NEURON to evolving computer architectures, the compute engine of the NEURON simulator has been extracted and has been optimized as a library called CoreNEURON. This paper presents the design, implementation, and optimizations of CoreNEURON. We describe how CoreNEURON can be used as a library with NEURON and then compare performance of different network models on multiple architectures including IBM BlueGene/Q, Intel Skylake, Intel MIC and NVIDIA GPU. We show how CoreNEURON can simulate existing NEURON network models with 4–7x less memory usage and 2–7x less execution time while maintaining binary result compatibility with NEURON.
topic NEURON
simulation
neuronal networks
supercomputing
performance optimization
url https://www.frontiersin.org/article/10.3389/fninf.2019.00063/full
work_keys_str_mv AT pramodkumbhar coreneuronanoptimizedcomputeenginefortheneuronsimulator
AT michaelhines coreneuronanoptimizedcomputeenginefortheneuronsimulator
AT jeremyfouriaux coreneuronanoptimizedcomputeenginefortheneuronsimulator
AT aleksandrovcharenko coreneuronanoptimizedcomputeenginefortheneuronsimulator
AT jamesking coreneuronanoptimizedcomputeenginefortheneuronsimulator
AT fabiendelalondre coreneuronanoptimizedcomputeenginefortheneuronsimulator
AT felixschurmann coreneuronanoptimizedcomputeenginefortheneuronsimulator
_version_ 1724804622243069952