Code Generation in Computational Neuroscience: A Review of Tools and Techniques.

Inga Blundell, Romain Brette, Thomas A Cleland, Thomas G Close, Daniel Coca, Andrew P Davison, Sandra Diaz-Pier, Carlos Fernandez Musoles, Padraig Gleeson, Dan F M Goodman, Michael Hines, Michael W Hopkins, Pramod Kumbhar, David R Lester, Bóris Marin, Abigail Morrison, Eric Müller, Thomas Nowotny, Alexander Peyser, Dimitri Plotnikov, Paul Richmond, Andrew Rowley, Bernhard Rumpe, Marcel Stimberg, Alan B Stokes, Adam Tomkins, Guido Trensch, Marmaduke Woodman, Jochen Martin Eppler
Author Information
  1. Inga Blundell: Forschungszentrum Jülich, Institute of Neuroscience and Medicine (INM-6), Institute for Advanced Simulation (IAS-6), JARA BRAIN Institute I, Jülich, Germany.
  2. Romain Brette: Sorbonne Université, INSERM, CNRS, Institut de la Vision, Paris, France.
  3. Thomas A Cleland: Department of Psychology, Cornell University, Ithaca, NY, United States.
  4. Thomas G Close: Monash Biomedical Imaging, Monash University, Melbourne, VIC, Australia.
  5. Daniel Coca: Department of Automatic Control and Systems Engineering, University of Sheffield, Sheffield, United Kingdom.
  6. Andrew P Davison: Unité de Neurosciences, Information et Complexité, CNRS FRE 3693, Gif sur Yvette, France.
  7. Sandra Diaz-Pier: Forschungszentrum Jülich, Simulation Lab Neuroscience, Jülich Supercomputing Centre, Institute for Advanced Simulation, Jülich Aachen Research Alliance, Jülich, Germany.
  8. Carlos Fernandez Musoles: Department of Automatic Control and Systems Engineering, University of Sheffield, Sheffield, United Kingdom.
  9. Padraig Gleeson: Department of Neuroscience, Physiology and Pharmacology, University College London, London, United Kingdom.
  10. Dan F M Goodman: Department of Electrical and Electronic Engineering, Imperial College London, London, United Kingdom.
  11. Michael Hines: Department of Neurobiology, School of Medicine, Yale University, New Haven, CT, United States.
  12. Michael W Hopkins: Advanced Processor Technologies Group, School of Computer Science University of Manchester, Manchester, United Kingdom.
  13. Pramod Kumbhar: Blue Brain Project, EPFL Campus Biotech, Geneva, Switzerland.
  14. David R Lester: Advanced Processor Technologies Group, School of Computer Science University of Manchester, Manchester, United Kingdom.
  15. Bóris Marin: Department of Neuroscience, Physiology and Pharmacology, University College London, London, United Kingdom.
  16. Abigail Morrison: Forschungszentrum Jülich, Institute of Neuroscience and Medicine (INM-6), Institute for Advanced Simulation (IAS-6), JARA BRAIN Institute I, Jülich, Germany.
  17. Eric Müller: Kirchhoff-Institute for Physics Universität Heidelberg, Heidelberg, Germany.
  18. Thomas Nowotny: Centre for Computational Neuroscience and Robotics, School of Engineering and Informatics University of Sussex, Brighton, United Kingdom.
  19. Alexander Peyser: Forschungszentrum Jülich, Simulation Lab Neuroscience, Jülich Supercomputing Centre, Institute for Advanced Simulation, Jülich Aachen Research Alliance, Jülich, Germany.
  20. Dimitri Plotnikov: Forschungszentrum Jülich, Simulation Lab Neuroscience, Jülich Supercomputing Centre, Institute for Advanced Simulation, Jülich Aachen Research Alliance, Jülich, Germany.
  21. Paul Richmond: Department of Computer Science University of Sheffield, Sheffield, United Kingdom.
  22. Andrew Rowley: Advanced Processor Technologies Group, School of Computer Science University of Manchester, Manchester, United Kingdom.
  23. Bernhard Rumpe: RWTH Aachen University, Software Engineering Jülich Aachen Research Alliance, Aachen, Germany.
  24. Marcel Stimberg: Sorbonne Université, INSERM, CNRS, Institut de la Vision, Paris, France.
  25. Alan B Stokes: Advanced Processor Technologies Group, School of Computer Science University of Manchester, Manchester, United Kingdom.
  26. Adam Tomkins: Department of Automatic Control and Systems Engineering, University of Sheffield, Sheffield, United Kingdom.
  27. Guido Trensch: Forschungszentrum Jülich, Simulation Lab Neuroscience, Jülich Supercomputing Centre, Institute for Advanced Simulation, Jülich Aachen Research Alliance, Jülich, Germany.
  28. Marmaduke Woodman: Institut de Neurosciences des Systèmes Aix Marseille Université, Marseille, France.
  29. Jochen Martin Eppler: Forschungszentrum Jülich, Simulation Lab Neuroscience, Jülich Supercomputing Centre, Institute for Advanced Simulation, Jülich Aachen Research Alliance, Jülich, Germany.

Abstract

Advances in experimental techniques and computational power allowing researchers to gather anatomical and electrophysiological data at unprecedented levels of detail have fostered the development of increasingly complex models in computational neuroscience. Large-scale, biophysically detailed cell models pose a particular set of computational challenges, and this has led to the development of a number of domain-specific simulators. At the other level of detail, the ever growing variety of point neuron models increases the implementation barrier even for those based on the relatively simple integrate-and-fire neuron model. Independently of the model complexity, all modeling methods crucially depend on an efficient and accurate transformation of mathematical model descriptions into efficiently executable code. Neuroscientists usually publish model descriptions in terms of the mathematical equations underlying them. However, actually simulating them requires they be translated into code. This can cause problems because errors may be introduced if this process is carried out by hand, and code written by neuroscientists may not be very computationally efficient. Furthermore, the translated code might be generated for different hardware platforms, operating system variants or even written in different languages and thus cannot easily be combined or even compared. Two main approaches to addressing this issues have been followed. The first is to limit users to a fixed set of optimized models, which limits flexibility. The second is to allow model definitions in a high level interpreted language, although this may limit performance. Recently, a third approach has become increasingly popular: using code generation to automatically translate high level descriptions into efficient low level code to combine the best of previous approaches. This approach also greatly enriches efforts to standardize simulator-independent model description languages. In the past few years, a number of code generation pipelines have been developed in the computational neuroscience community, which differ considerably in aim, scope and functionality. This article provides an overview of existing pipelines currently used within the community and contrasts their capabilities and the technologies and concepts behind them.

Keywords

References

  1. PLoS Comput Biol. 2012;8(8):e1002628 [PMID: 22912566]
  2. PLoS Comput Biol. 2015 May 13;11(5):e1004209 [PMID: 25970348]
  3. Front Neurosci. 2018 Apr 10;12:213 [PMID: 29692702]
  4. Sci Rep. 2020 Jan 15;10(1):410 [PMID: 31941893]
  5. Front Neuroinform. 2014 Sep 25;8:79 [PMID: 25309419]
  6. Front Neurosci. 2016 Jan 14;9:516 [PMID: 26834542]
  7. BMC Syst Biol. 2011 Dec 15;5:198 [PMID: 22172142]
  8. PLoS Comput Biol. 2010 Jun 17;6(6):e1000815 [PMID: 20585541]
  9. PLoS One. 2016 Jan 11;11(1):e0146581 [PMID: 26751378]
  10. Science. 2014 Aug 8;345(6197):668-73 [PMID: 25104385]
  11. Front Neuroinform. 2018 Oct 08;12:50 [PMID: 30349471]
  12. Neural Comput. 2015 Oct;27(10):2148-82 [PMID: 26313605]
  13. Front Neurosci. 2011 May 31;5:73 [PMID: 21747754]
  14. Philos Trans R Soc Lond B Biol Sci. 2001 Aug 29;356(1412):1209-28 [PMID: 11545699]
  15. Nat Biotechnol. 2005 Apr;23(4):495-6 [PMID: 15815679]
  16. IEEE Trans Biomed Circuits Syst. 2017 Feb;11(1):128-142 [PMID: 28113678]
  17. Front Neuroinform. 2014 Feb 04;8:6 [PMID: 24550820]
  18. Front Neuroinform. 2017 Feb 21;11:11 [PMID: 28270761]
  19. Network. 2012;23(4):167-82 [PMID: 23067314]
  20. IEEE Trans Biomed Circuits Syst. 2018 Oct;12(5):1027-1037 [PMID: 30047897]
  21. Sci Rep. 2016 Jan 07;6:18854 [PMID: 26740369]
  22. Front Neuroinform. 2015 Jul 31;9:19 [PMID: 26283957]
  23. Front Neuroinform. 2009 Jan 27;2:11 [PMID: 19194529]
  24. Front Neuroinform. 2018 May 01;12:20 [PMID: 29765315]
  25. Neuroinformatics. 2010 Oct;8(3):183-96 [PMID: 20857234]
  26. Neural Netw. 2009 Jul-Aug;22(5-6):791-800 [PMID: 19615853]
  27. Front Neuroinform. 2013 Jun 11;7:10 [PMID: 23781198]
  28. Front Neuroinform. 2008 Nov 18;2:5 [PMID: 19115011]
  29. Neuroinformatics. 2017 Jan;15(1):25-40 [PMID: 27628934]
  30. Front Neurosci. 2009 Sep 15;3(2):192-7 [PMID: 20011141]
  31. J Comput Neurosci. 2006 Oct;21(2):119-29 [PMID: 16732488]
  32. Bioinformatics. 2003 Mar 1;19(4):524-31 [PMID: 12611808]
  33. Neural Comput. 1997 Aug 15;9(6):1179-209 [PMID: 9248061]
  34. Neural Comput. 2000 May;12(5):995-1007 [PMID: 10905805]
  35. Neuroinformatics. 2014 Apr;12(2):307-23 [PMID: 24253973]
  36. IEEE Trans Neural Netw. 2003;14(6):1569-72 [PMID: 18244602]

Grants

  1. /Wellcome Trust
  2. R01 NS011613/NINDS NIH HHS

Word Cloud

Created with Highcharts 10.0.0codemodelcomputationalmodelslevelevenefficientdescriptionsmaylanguagegenerationdetaildevelopmentincreasinglyneurosciencesetnumberneuronmodelingmathematicaltranslatedwrittendifferentlanguagesapproacheslimithighapproachpipelinescommunityAdvancesexperimentaltechniquespowerallowingresearchersgatheranatomicalelectrophysiologicaldataunprecedentedlevelsfosteredcomplexLarge-scalebiophysicallydetailedcellposeparticularchallengesleddomain-specificsimulatorsevergrowingvarietypointincreasesimplementationbarrierbasedrelativelysimpleintegrate-and-fireIndependentlycomplexitymethodscruciallydependaccuratetransformationefficientlyexecutableNeuroscientistsusuallypublishtermsequationsunderlyingHoweveractuallysimulatingrequirescancauseproblemserrorsintroducedprocesscarriedhandneuroscientistscomputationallyFurthermoremightgeneratedhardwareplatformsoperatingsystemvariantsthuseasilycombinedcomparedTwomainaddressingissuesfollowedfirstusersfixedoptimizedlimitsflexibilitysecondallowdefinitionsinterpretedalthoughperformanceRecentlythirdbecomepopular:usingautomaticallytranslatelowcombinebestpreviousalsogreatlyenricheseffortsstandardizesimulator-independentdescriptionpastyearsdevelopeddifferconsiderablyaimscopefunctionalityarticleprovidesoverviewexistingcurrentlyusedwithincontrastscapabilitiestechnologiesconceptsbehindthemCodeGenerationComputationalNeuroscience:ReviewToolsTechniquesdomainspecificneuronalnetworkssimulation

Similar Articles

Cited By