Print

发布时间: 2023-02-16
摘要点击次数:
全文下载次数:
DOI: 10.11834/jig.220266
2023 | Volume 28 | Number 2




    类脑视觉    




  <<上一篇 




  下一篇>> 





精细神经网络仿真方法研究进展
expand article info 张祎晨1, 黄铁军1,2
1. 北京大学计算机学院, 北京 100871;
2. 北京大学人工智能研究院, 北京 100871

摘要

树突对大脑神经元实现不同的信息处理功能有着重要作用。精细神经元模型是一种对神经元树突以及离子通道的信息处理过程进行精细建模的模型,可以帮助科学家在实验条件的限制之外探索树突信息处理的特性。由精细神经元组成的精细神经网络模型可通过仿真对大脑的信息处理过程进行模拟,对于理解树突的信息处理机制、大脑神经网络功能背后的计算机理具有重要作用。然而,精细神经网络仿真需要进行大量计算,如何对精细神经网络进行高效仿真是一个具有挑战的研究问题。本文对精细神经网络仿真方法进行梳理,介绍了现有主流仿真平台与核心仿真算法,以及可进一步提升仿真效率的高效仿真方法。将具有代表性的高效仿真方法按照发展历程以及核心思路分为网络尺度并行方法、神经元尺度并行方法以及基于GPU(graphics processing unit)的并行仿真方法3类。对各类方法的核心思路进行总结,并对各类方法中代表性工作的细节进行分析介绍。随后对各类方法所具有的优劣势进行分析对比,对一些经典方法进行总结。最后根据高效仿真方法的发展趋势,对未来研究工作进行展望。

关键词

神经形态计算; 大脑仿真; 树突计算; 精细神经元模型; 精细神经网络仿真

A review of detailed network simulation methods
expand article info Zhang Yichen1, Huang Tiejun1,2
1. School of Computer Science, Peking University, Beijing 100871, China;
2. Institute for Artificial Intelligence, Peking University, Beijing 100871, China
Supported by: National Key R&D Program of China (2021ZD0109803)

Abstract

Neurons in brain have complicated morphologies. Those tree-like components are called dendrites. Dendrites receive spikes from connected neurons and integrate all signals-received. Many experiments show that dendrites contain multiple types of ion channels, which can induce high nonlinearity in signal integration. The high nonlinearity makes dendrites become fundamental units in neuronal signal processing. So, understanding the mechanisms and function of dendrites in neurons and neural circuits becomes one core question in neuroscience. However, because of the highly complicated biophysical properties and limited experimental techniques, it's hard to get further insights about dendritic mechanisms and functions in neural circuits. Biophysically detailed multi-compartmental models are typical models for modelling all biophysical details of neurons, including 1) dynamics of dendrites, 2) ion channels, and 3) synapses. Detailed neuron models can be used to simulate the signal integration. Detailed network models can simulate biophysical mechanisms and network functions both, helping scientists explore the mechanisms behind different phenomena. However, detailed multi-compartmental neuron models has high computational complexity in simulation. When we simulate detailed networks, the computational complexity highly burdens current simulators. How to accelerate the simulation of detailed neural networks has been a challenging research topic for both neuroscience and computer science community. During last decades, lots of works try to use parallel computing techniques to achieve higher simulation efficiency. In this study, we review these high performance methods for detailed network simulation. First, we introduce typical detailed neuron simulators and their kernel simulation methods. Then we review those parallel methods that are used to accelerate detailed simulation. We classify these methods into three categories: 1) network-level parallel methods; 2) cellular-level parallel methods; and 3) GPU(graphics processing unit)-based parallel methods. Network-level parallel methods parallelize the computation of different neurons in network simulation. The computation inside each neuron is independent from other neurons, so different neurons can be parallelized. Before simulation, network-level methods assign the whole network to multiple processes or threads, and each process or thread simulate a group of neurons. With network-level parallel methods, scientists can use modern multi-core CPUs or supercomputers to simulate detailed network models. Cellular-level parallel methods further parallelize the computation inside each neuron. Before simulation, cell-level parallel methods first split each neuron into several subblocks. The computation of all subblocks is parallelized. With cellular-level parallel methods, scientists can make full use of the parallel capability of supercomputers to further boost simulation efficiency. In recent studies, more works start to use GPU in detailed-network simulation. The strong parallel power of GPU enables efficient simulation of detailed networks, and makes GPU-based parallel methods more efficient than CPU-based parallel methods. GPU-based parallel methods can also be categorized into network-level and cellular-level methods. GPU-based network-level methods compute each neuron with one GPU thread, while GPU-based cellular-level methods compute single neuron with multiple GPU threads. In summary, we review and analyze recent detailed network simulation methods and classify all methods into three categories as mentioned above. We further summarize the strength and weakness of these methods, and propose our opinion about future works on detailed network simulation.

Key words

neuromorphic computing; brain simulation; dendritic computing; detailed neuron model; detailed networksimulation

0 引言

理解大脑神经元的信息处理机制和计算原理是脑科学领域最重要的问题之一。大脑不同脑区的神经元具有很高的复杂性。不同于现有人工神经网络中的点神经元模型,生物大脑中单个神经元具有非常复杂的结构,这种复杂结构称为树突。大量研究工作表明树突在信息处理中表现出很强的非线性(Stuart和Sakmann,1994Schiller等,1997Larkum等,1999Schiller等,2000)。这种非线性特性对大脑神经元实现不同的信息处理功能有着重要作用(Payeur等,2019Gidon等,2020Poirazi和Papoutsi,2020)。由于实验条件的限制,人们对于树突的计算机理及其在神经环路信息处理中的作用与机制了解仍然十分有限。建模仿真可以在实验限制之外帮助人们理解大脑的计算机理。

精细神经元模型(Rall,1962Segev和Rall,1988)对真实神经元树突的信息处理过程进行模拟,可对真实大脑神经元的生物物理反应过程进行仿真,在实验条件限制之外对树突信息处理过程进行探索,是帮助人们理解树突计算机理的重要方式。

精细神经网络仿真帮助理解神经环路功能背后的实现机理。当仿真规模从单个神经元扩大到网络时,神经环路和大规模神经网络模型可以实现从离子通道到网络动力学的多尺度仿真(Markram等,2015Migliore等,2015Billeh等,2020Hjorth等,2020)。由于现有实验条件无法实现从离子通道到网络尺度的同时测量,因此大规模精细神经网络仿真可以帮助科学家摆脱实验条件的限制,对神经环路的信息处理过程以及功能进行理论分析,对于理解神经环路功能背后的机理具有重要作用(Einevoll等,2019)。

除了可以帮助科学家理解神经元树突的计算机理以及大脑神经环路功能背后的机制,精细神经元以及精细神经网络模型可能启发新型类脑智能算法(黄铁军等,2016曾毅等,2016)。

精细神经元所具有的强大计算能力使其在处理人工智能相关任务时表现出强大的可能性。由于树突在神经元信息处理中的非线性特性,单个精细神经元模型的响应需要多层人工神经网络才能拟合,表明单个精细神经元的计算能力与多层人工神经网络相当(Poirazi和Mel,2001Häusser和Mel,2003Poirazi等,2003Beniaguev等,2021)。因此,一些复杂任务只需要单个精细神经元就可以完成,例如求解异或问题(Gidon等,2020)、信号的时空滤波等(Payeur等,2019)。

精细神经网络学习过程仿真为精细神经元模型提供了学习算法,为构建基于精细神经元的类脑智能算法提供了基础。基于精细神经元的学习算法使得精细神经元模型可以通过不断学习逐渐“学会”完成复杂任务(Moldwin和Segev,2020Bicknell和Häusser,2021Moldwin等,2021Payeur等,2021),而不需要人为对模型相关参数进行调试。此外,精细神经网络学习过程仿真可以帮助科学家理解大脑学习机制(Urbanczik和Senn,2014Bono和Clopath,2017Sacramento等,2018Lillicrap等,2020)。对大脑学习机制的深入理解可能启发更强的人工智能算法(Hassabis等,2017Chavlis和Poirazi,2021)。

综上,结合精细神经元强大的计算能力以及精细神经元上的学习方法,精细神经网络在构建新型类脑智能模型、启发新型人工智能算法方面展现出强大的可能性。

精细神经元仿真对脑科学和人工智能领域的研究均有重要作用。由于精细神经元模型包含复杂的生理特性,其模型方程不存在解析解,只能通过仿真的方式得到模型在给定刺激下的响应。然而,精细神经元仿真需要进行大量计算,巨大的计算量给相关研究工作带来了很大的挑战。

精细神经元建模的理论基础主要包括Hodgkin和Huxley于1952年提出的HH模型(Hodgkin和Huxley,1952)以及Rall于1959年提出的电缆理论(cable theory)(Rall,1959)。HH模型通过一组常微分方程建模神经元各位点离子通道产生的电流;电缆理论使用偏微分方程建模不同位点间响应的相互影响(图 1)。

图 1 精细神经元模型(Kumbhar等, 2019)
Fig. 1 Detailed neuron model(Kumbhar et al., 2019)

综合HH模型与电缆理论,精细神经元模型可用偏微分方程描述为

$ {c_m}\frac{{\partial v(t, x)}}{{\partial t}} + \mathit{ion}(v(t, x)) = \frac{{{\partial ^2}v(t, x)}}{{\partial {x^2}}} $ (1)

式中,${c_m}$表示神经元细胞膜的电容值,$v\left({t, x} \right)$表示神经元各个位置以及各个时刻的电压值,$ion\left({v\left({t, x} \right)} \right)$表示离子通道产生的电流,通常为HH模型及其变种。通过建模各位点的电流响应,精细神经元模型可对树突的信息处理过程进行建模。使用数值方法求解上述方程的过程称为仿真。在实际中通常将单个神经元划分为成百上千个计算单元,这给仿真带来了巨大的计算量。

如何对精细神经元以及精细神经网络模型进行高效仿真是一个经典的研究问题。本文对精细仿真方法相关研究工作进行总结与梳理,从以下4个方面总结了相关方法(图 2):1)主流仿真平台与核心仿真算法;2)网络尺度并行仿真算法;3)神经元尺度并行仿真算法;4)基于GPU(graphics processing unit)的并行仿真算法。通过对现有方法进行分析,本文进一步对精细神经元仿真方法的未来研究方向进行展望。

图 2 本文组织架构
Fig. 2 Framework of this study

1 精细仿真平台与核心仿真方法

精细神经元仿真的本质是使用数值方法对精细神经元模型对应的偏微分方程进行求解。精细神经元仿真平台对仿真过程的实现进行封装,使用户可以不必了解仿真过程,专注于模型的构建。精细神经元仿真平台是精细神经元仿真、建模的基础。本节将对精细神经元仿真平台和平台中使用的数值仿真方法进行介绍。

1.1 精细仿真平台

GENESIS(Bower和Beeman,1998)是早期发布的经典仿真平台,支持精细神经元的建模仿真。NEURON(Hines和Carnevale,1997)是国际上最主流的通用神经计算仿真平台,在最大的神经元模型数据库ModelDB(McDougal等,2017)中80% 的模型均使用NEURON实现(Tikidji-Hamburyan等,2017)(图 3)。由于NEURON与GENESIS的开发时间较早,只能支持CPU硬件平台的仿真,且对于存储以及计算的优化相对较差,因此在进行大规模精细神经网络仿真时需要的存储及计算资源较多且仿真效率较低。

图 3 各仿真平台使用情况(Tikidji-Hamburyan等,2017)
Fig. 3 Software usage(Tikidji-Hamburyan et al., 2017)

GPU逐渐应用于精细神经仿真中。GPU由于其强大的计算能力广泛应用于科学计算、深度学习等领域(NVIDIA,2021)。为满足大规模网络仿真时的存储和计算效率要求,越来越多的平台使用GPU对精细神经网络进行仿真(Akar等,2019Kumbhar等,2019Ben-Shalom等,2022)。CoreNEURON(Kumbhar等,2019) 对NEURON的引擎进行了存储和计算效率上的优化,降低仿真所需内存并提高了仿真效率。此外,CoreNEURON支持使用GPU进行仿真,并针对仿真计算过程进一步优化,利用GPU强大的计算能力大幅提高了仿真效率。Arbor(Akar等,2019)同样是一款支持GPU的精细神经元仿真平台,通过针对多核CPU以及GPU的优化提高仿真效率。NeuroGPU(Ben-Shalom等,2022)相比CoreNEURON和Arbor使用更细粒度的并行算法对仿真进行加速,效率更高,但仿真准确性有所下降。

1.2 核心仿真方法

1.2.1 精细仿真整体过程

当前仿真平台均使用隐式有限差分法对偏微分方程式(1)进行求解。虽然实现上有所不同,其核心方法以及整体流程一致。隐式方法对方程中的位置电压使用未来时刻的电压值替代。对式(1)中的微分项使用差分项替换,可得

$ \begin{array}{c} {c_m}\frac{{{v_j}(t + \Delta t) - {v_j}(t)}}{{\Delta t}} + \mathit{ion}\left({{v_j}(t + \Delta t)} \right) = \\ \frac{{{v_{j + 1}}(t + \Delta t) - 2{v_j}(t + \Delta t) + {v_{j - 1}}(t + \Delta t)}}{{\Delta {x^2}}} \end{array} $ (2)

式中,Δ$t$表示离散所使用的时间步长,Δ$x$表示空间步长,$j$表示空间离散化后计算单元的编号。式(2)等号左侧差分项用于逼近$v$关于时间$t$的偏导,等号右侧差分项用于逼近$v$关于空间$x$的偏导。为求解各时刻的电压值,需要得到$v(t + \Delta t)$$v$($t$)的递推关系。然而,式(2)无法直接得到递推关系,因此需要对式(2)进行一系列变换。经过一系列推导后,可以得到线性方程组,即

$ \mathit{\boldsymbol{M}}\Delta \mathit{\boldsymbol{v}} = \mathit{\boldsymbol{r}} $ (3)

式中,$\mathit{\boldsymbol{M}}$表示由神经元动力学(包括离子通道电流、突触电流)以及不同计算单元之间电流的相互影响产生的系数矩阵,由于电流只在相邻计算节点之间流动,因此$\mathit{\boldsymbol{M}}$为稀疏的伪三对角线矩阵(图 4),只在相邻计算单元对应位置的值不为0;Δ$\mathit{\boldsymbol{v}}$表示所有计算单元的电压增量组成的向量;$\mathit{\boldsymbol{v}}$为方程组右值向量,由神经元动力学产生的电流所组成。求解线性方程组式(2),即可得到所有计算单元的电压增量,由此可以得到下一时刻各计算单元的电压值$\mathit{\boldsymbol{v = }}(\mathit{t} + \Delta \mathit{t}) = \mathit{\boldsymbol{v}}(\mathit{t}) + \Delta \mathit{\boldsymbol{v}}$

图 4 精细神经元模型与仿真流程
Fig. 4 Detailed neuron model and simulation procedure
((a)detailed neuron model; (b) simulation procedure; (c) corresponding linear equations)

由上述数值方法可知,精细神经元的仿真过程步骤如下(图 4):

1) 给定神经元模型各计算单元的电压初值;

2) 根据当前各计算单元的电压计算初始离子通道电流、各位点的轴向电流等值,并由这些值构造线性方程组式(3);

3) 通过求解线性方程组式(3),得到所有计算单元的电压增量;

4) 根据电压增量更新所有电压值得到下一时刻的电压。

以上步骤2)—4)迭代进行,最终可以得到模型所有计算单元在各时刻的电压值,即式(1)的数值解。整体仿真过程中,求解线性方程组的计算复杂度为${\rm{O}}\left({{n^3}} \right)$$n$表示每个神经元所包含的计算单元数目,为整个仿真过程的瓶颈。

1.2.2 Hines算法

为解决精细神经元仿真中求解方程组计算量过大的问题,Hines(1984)提出一种高效求解算法,称为Hines算法。Hines算法利用方程组的系数矩阵为伪三对角线稀疏矩阵这一特性,使用特殊的高斯消元法对方程组进行求解,将求解方程组的计算复杂度从${\rm{O}}\left({{n^3}} \right)$降低为${\rm{O}}(2n)$,如算法1所示。由于计算复杂度低且仿真精度高,Hines算法成为主流仿真平台的核心算法。

算法1 Hines算法(Valero-Lara等,2017)

1) void solveHines(double *$u$, double *$l$, double *$d$, double *$rhs$, int *$p$, int $cellSize$)

// $u$: 上对角线元素,$l$: 下对角线元素,$d$:对角线元素,*表示指针, $rhs$: 方程组右值,$p$:父节点,$ cellSize$:元素数目

2) int $i$;

3) double $factor$;

4) // 三角化过程

5) for $i$ = $cellSize $-1→0 do

6) $factor = u[i] / d[i]$;

7) $d[p[i]]$ -= $factor * l[i]$; // 消元

8) $rhs[p[i]]$ -= $factor * rhs[i]$; // 消元

9) end for;

10) $rhs$[0] /= $d$[0];

11) // 回代过程

12) for $i$ = 1 → $cellSize$-1 do

13) $rhs[i] -= l[i] * rhs[p[i]]$;

14) $rhs[i] /= d[i]$;

15) end for。

1.3 小结

现有仿真平台均使用隐式有限差分法对精细神经元进行仿真。Hines算法因其计算效率与仿真精度成为现有平台的核心仿真算法。尽管Hines算法在求解线性方程组中有很高的计算效率,但当建模较为精细时,计算复杂度依然很大。尤其在进行大规模网络仿真时,由于网络包含大量计算单元,使用Hines算法进行仿真耗时过长。同时由于模型较为复杂,现有神经形态硬件无法支持精细神经元模型的仿真。为解决仿真效率这一问题,相关工作尝试使用并行的方式对精细神经网络进行仿真。

2 网络尺度并行仿真方法

网络尺度并行主要用于精细神经网络仿真。由于各神经元求解线性方程组的计算互不影响,因此不同神经元的计算可以并行执行。网络尺度并行方法的主要思想是通过对网络进行划分,使每一物理计算核负责一组若干神经元模型的计算(图 5),从而充分利用硬件计算资源提升网络仿真效率。

图 5 CPU上的网络尺度并行方法
Fig. 5 Network-level parallel method on CPU

PGENESIS是经典仿真平台GENESIS的并行版本,通过网络尺度并行的方式使得GENESIS平台可以利用并行的方式进行大规模网络仿真(Goddard和Hood,1998)。

主流仿真平台NEURON同样支持网络尺度并行(Migliore等,2006Lytton等,2008)。进行大规模网络仿真时,整个网络划分到不同的硬件处理单元,通过多进程的方式进行并行。仿真中,各进程对网络中的各神经元进行计算,并对神经元产生的脉冲发放信号进行通信,不同进程上神经元产生的脉冲发放信号通过消息传递接口(message passing interface,MPI)传输(图 6)。Hines等人(2011)进一步对比了MPI通信的不同实现方式对仿真性能的影响。借助NEURON上的网络尺度并行方法,Lytton等人(2016)探究了使用不同数目的计算节点对不同类型、不同规模的网络进行仿真时的运行效率。实验结果表明网络尺度并行方法有很好的可扩展性,可以充分利用已有计算资源对大规模网络进行仿真。

图 6 NEURON中网络尺度并行算法(Migliore等,2006)
Fig. 6 Algorithm used to implement parallel simulation using NEURON(Migliore et al., 2006)

为进一步提升NEURON在大规模仿真时的计算效率,Kumbhar等人(2016)对NEURON的计算过程进行优化。不同于NEURON使用MPI的进程级并行,Kumbhar等人(2016)使用更轻量的线程级并行,效率更高。实验表明,使用线程级并行可将仿真效率提升约12%。此外,Kumbhar等人(2016)对NEURON中的数据存储方式进行优化,对计算时的数据进行向量化存储(图 7),提升存储带宽,进一步提升仿真计算效率。

图 7 优化数据存储(Kumbhar等,2016)
Fig. 7 Optimize data layout(Kumbhar et al., 2016)

由于线程级并行有着较高的仿真效率,Valero-Lara等人(2019)进一步提出同时使用多线程与多进程的网络尺度并行方法,使用MPI+OpenMP的实现方式对大规模网络进行仿真。为进一步提升仿真效率,Valero-Lara等人(2019)对如何同时进行计算与通信进行了探索。

网络尺度并行方法对不同神经元的计算进行并行,对大规模网络的仿真有显著的效率提升。网络尺度并行方法通过充分利用多核CPU、计算集群的算力,提高仿真中方程组求解以及整个仿真过程的效率。经典仿真平台NEURON与GENESIS已集成相关网络尺度并行方法,支持使用计算集群或超级计算机进行大规模网络的仿真。

然而,对于每个神经元自身的方程组求解,网络尺度并行方法依旧使用Hines算法串行进行,导致当网络中单神经元模型较为复杂时(例如包含上千计算单元的CA1模型(Migliore等,2004)、purkinje模型(Masoli等,2015),包含几万计算单元的树突棘尺度模型等),单个神经元对应方程组的求解需要大量计算,耗时过长,网络尺度并行无法取得令人满意的性能提升。为进一步提升仿真效率,相关工作提出神经元尺度的并行仿真方法。

3 神经元尺度并行仿真方法

神经元尺度并行方法对每个神经元内的求解线性方程组计算进行并行。相比于网络尺度的并行方法,神经元尺度并行粒度更细,并且可与网络尺度并行同时使用, 以进一步提升仿真性能。然而,神经元内部的方程组求解存在大量依赖关系,如何对其进行并行是一个需要研究的问题。为了使神经元内部计算可以并行,现有方法主要使用以下两种策略:1)神经元划分并行,将神经元划分为若干子块,对不同子块中不存在依赖关系的部分进行并行;2)基于关键值近似的并行,对关键计算节点的值进行近似增大并行度,从而进一步提升计算效率。

3.1 神经元划分并行方法

神经元不同分支上的节点计算互相独立是神经元尺度并行的主要依据。由Hines算法的实现过程可知,神经元模型中相连的计算节点之间存在计算的依赖关系,而不同分支上的节点计算相互独立,存在可并行性。

将神经元划分为若干子块是一种简单有效的并行方式。Hines等人于2008年提出了名为neuron splitting(Hines等,2008a)和multi-split(Hines等,2008b)的方法,将神经元划分为若干部分进行计算。其中,neuron splitting(Hines等,2008a)提出在计算时可将神经元模型划分为两部分进行并行,只需要额外付出少量的数据传输代价,就可以在不影响计算精度的情况下提高计算效率。multi-split(Hines等,2008b)对模型进行进一步划分,给出了将神经元模型划分为多个子块后的并行计算方式(图 8)。相比neuron splitting将模型划分为两部分,multi-split有更大的并行度,但同时也需要付出更多额外的计算和数据传输代价。NEURON平台已经集成了multi-split方法供用户直接使用。然而,multi-split方法需要用户人为对神经元进行划分,因此划分策略对效率有很大影响。

图 8 multi-split方法(Hines等,2008b)
Fig. 8 multi-split method(Hines et al., 2008b)

Eichner等人(2009)提出的基于多核CPU的仿真方法同样使用了multi-split对神经元的计算进行并行。为进一步提升并行度,该方法对神经元各计算节点进行重新编号,改变方程组求解时的依赖关系,使得可并行子块数目增多,以此提高计算效率。

然而,由于求解线性方程组的计算中各神经元计算节点之间的依赖关系,划分子块的方式虽然可以在一定程度上并行,但子块连接处的节点需要在与其相连的子块均完成计算后才能进行计算,导致部分子块需要等待其他子块完成计算后才能进行计算,并行度低,影响计算效率。

3.2 基于关键节点近似的并行方法

为提高可并行度,部分方法对关键节点的值进行近似,消除部分节点之间的依赖关系。例如,Mascagni(1991)对神经元两分支连接处的关键节点值进行假设,将原本无法并行的部分进行并行,完成分支的计算后再根据各分支的计算结果对原本假设的关键节点值进行求解,得到最终计算结果。然而,该方法需要首先使用假设值求解方程组,然后进行假设值节点的计算,相比传统的直接求解方程组需要进行额外计算。

Rempe和Chopp(2006)首先通过显式方法对各分支连接处节点的值进行近似,有了连接处节点的值后,对各分支的计算进行并行,再根据计算结果对预测值进行修正(图 9)。这种方式可以大幅提高并行度,然而,神经元中包含大量连接节点,对所有连接节点均进行近似会引入较大误差。Kozloski和Wagner(2011)Rempe和Chopp(2006)方法与Hines算法相结合,只对部分连接处节点使用显式方法进行近似,以提升仿真精度。

图 9 不同类型求解方法示意(Kozloski和Wagner,2011)
Fig. 9 Illustration of different methods(Kozloski and Wagner, 2011)

虽然这种对关键计算节点进行近似的方法可以增大神经元的并行度,但近似会带来结果的不准确,且部分方法需要引入额外的计算量,影响计算效率。

3.3 小结

神经元尺度并行方法对神经元内部计算进一步进行并行,理论上比网络尺度并行有更高的计算效率。然而,当前神经元尺度的并行方法存在精度以及计算效率方面的问题。现有神经元划分的方法着重解决划分之后如何计算的问题,对于划分策略没有进行过多研究,导致用户在实际使用时往往需要人为进行划分,计算效率较低。基于关键节点近似的并行方法由于近似值导致结果不够精确,此外,这类方法为增大并行度,往往需要引入额外的计算,影响计算效率。

4 基于GPU的并行仿真方法

GPU因为其强大的算力在高性能计算中得到广泛使用(NVIDIA,2021),同样得以用于精细神经元并行方法上,大幅提升了精细神经网络的仿真效率。基于GPU的并行仿真方法大体也可分为网络尺度并行和神经元尺度并行两类。网络尺度并行对不同神经元的计算进行并行;神经元尺度并行进一步对各神经元内部的计算进行并行。

4.1 基于GPU的网络尺度并行方法

网络尺度并行是GPU上使用的主流方法。由于网络尺度并行相对容易保证计算精度,相关研究工作提出基于GPU的网络尺度并行方法。GPU上的网络尺度并行方法核心思想与CPU上的并行方法类似,均利用神经元之间计算互相独立的特点对每个神经元的计算进行并行。不同点在于由于GPU拥有大量的物理计算单元,因此通常情况下每个线程负责一个神经元的计算(图 10)。

图 10 基于GPU的网络尺度并行方法
Fig. 10 Network-level parallel methods on GPU

针对GPU的硬件特性对方法实现进行优化可以充分利用GPU的硬件资源,进一步提升计算效率。Kumbhar等人(2016)在对NEURON计算过程进行优化的基础上进一步实现了GPU上的网络尺度并行仿真,并针对GPU进行优化,提升计算效率。Valero-Lara等人(2017)提出了Hines算法的并行方法cuHinesBatch,并比较了不同数据存储方式对该算法在GPU上计算效率的影响(图 11),相比于经典串行Hines算法,其计算效率提高超过一个量级。

图 11 不同数据排列方式对比(Valero-Lara等,2017)
Fig. 11 Different data layouts(Valero-Lara et al., 2017)

GPU平台上的网络尺度并行算法由于其准确性以及高效性,成为当前主流的GPU并行方法并得到广泛使用。例如,CoreNEURON平台(Kumbhar等,2019)使用基于GPU的网络级并行方法, 并对其实现过程进行优化,大幅提升了仿真性能,相比CPU仿真平台NEURON取得了1.2~6倍的加速比;Akar等人(2019)开发的Arbor平台同样基于GPU的网络级并行方法,通过对计算流程的优化提升仿真效率。

4.2 基于GPU的神经元尺度并行方法

与CPU上的神经元尺度并行方法类似,相关工作提出基于GPU的神经元尺度并行方法,对神经元内部的计算进一步并行,利用GPU强大的并行计算能力进一步提升仿真效率。

Ben-Shalom等人(2013)于2013年提出使用GPU对神经元内部的方程组求解进行加速,他们使用Stone方法(Stone,1973)对求解过程进行并行化,并在GPU上进行实现(图 12)。然而,由于Stone方法的使用,Ben-Shalom等人(2013)的方法虽然提高了整体计算过程的并行度,但是在仿真中引入了额外的计算,将原本8$n$的计算量提升到了20$n$log2$n$。这种额外的计算影响计算效率,且在仿真时容易产生计算误差。实验表明,Ben-Shalom等人(2013)方法的计算结果相比Hines算法有一定误差。基于此方法,Ben-Shalom等人(2022)进一步开发了支持神经元尺度并行的GPU仿真平台NeuronGPU(Ben-Shalom等,2022)。同样地,NeuronGPU在仿真时也存在误差。

图 12 Ben-Shalom等人(2013)的GPU并行方法
Fig. 12 GPU parallel method (Ben-Shalom et al., 2013)

Tsuyuki等人(2016)使用NVIDIA提供的稀疏矩阵加速库cuSPARSE,在GPU上实现共轭梯度算法对方程组进行求解。由于共轭梯度算法是一种迭代算法,使用其进行求解需要重复多次矩阵—向量相乘的计算,相比Hines算法直接求解方程组引入了额外的计算量且影响精度。Vooturi等人(2017)通过对方程组系数矩阵进行分解提高并行度,并利用GPU对计算进行加速,同样由于引入了额外计算,影响计算效率。Huber(2018)利用GPU大量的计算单元对神经元的每一分支分配一个线程进行计算。然而由于神经元包含的分支数量可以达到几百,因此对网络进行仿真时,过多的线程数目导致的线程空等以及调度会带来额外开销,影响效率,且随着网络规模增大效率下降明显。

4.3 小结

基于GPU的并行仿真方法利用GPU强大的计算能力可以大幅提升精细神经网络仿真效率。网络尺度并行方法是GPU上使用的主流方法,在提升效率的同时可以保证仿真精度。基于GPU的神经元尺度方法有更高的并行度,然而,现有该类方法存在仿真精度及引入额外计算的问题。

5 结语

表 1总结了现有主要仿真方法的核心思想以及存在的不足。虽然从1990年开始陆续有相关工作提出相关方法对精细神经元仿真计算进行加速,且近些年相关工作逐渐增多,但目前依旧没有一个精度高且效率高的仿真方法支持大规模复杂精细神经网络的高效仿真。

表 1 不同仿真方法的特点与不足
Table 1 Main contribution and weakness of detailed simulation methods

下载CSV
方法 核心思想 存在不足
Hines(1984) 利用方程组结构降低计算复杂度 串行算法,在大规模网络仿真中效率较低
Mascagni(1991) 对分支连接处的值进行预设 引入额外计算,影响精度、效率
Goddard和Hood(1998) 网络尺度并行,用于GENESIS平台 并行度有限,神经元复杂时效率较低
Migliore等人(2006) 网络尺度并行,用于NEURON平台 并行度有限,神经元复杂时效率较低
Rempe和Chopp(2006) 在关键节点引入显式计算增加并行度 显式计算影响仿真精度,结果修正引入额外计算
Lytton等人(2008) 对网络尺度并行方法进行测试 并行度有限,神经元复杂时效率较低
neuron splitting(Hines等,2008a) 将神经元划分为两部分并行 并行度有限,效率不高
multi-split(Hines等,2008b) 将神经元划分为若干子块并行 依赖划分策略,效率不高
Hines等人(2011) 网络尺度并行,重点讨论仿真中的通信 并行度有限,神经元复杂时效率较低
Ben-Shalom等人(2013) 使用GPU,利用Stone算法进行并行 引入额外计算,影响精度、效率
Kumbhar等人(2016) 网络尺度并行,对计算过程进一步优化 并行度有限,神经元复杂时效率较低
Valero-Lara等人(2017) GPU网络尺度并行,针对GPU优化 并行度有限,神经元复杂时效率较低
Vooturi等人(2017) GPU神经元尺度并行 引入额外计算,影响精度、效率
Huber等人(2018) GPU神经元尺度并行,对所有分支并行 使用过多计算资源,效率较低
Valero-Lara等人(2019) 网络尺度并行,同时使用MPI+OpenMP,实现多进程与多线程并行 神经元复杂时效率较低
CoreNEURON(Kumbhar等,2019) GPU网络尺度并行,优化计算过程 并行度有限,神经元复杂时效率较低
Arbor(Akar等,2019) GPU网络尺度并行,优化计算过程 并行度有限,神经元复杂时效率较低
NeuroGPU(Ben-Shalom等,2022) GPU神经元尺度并行,针对GPU优化 引入额外计算,影响精度、效率

网络尺度并行利用了不同神经元的计算互相独立的特性,将各神经元的计算进行并行,在提高效率的同时容易保证精度。网络尺度并行是精细神经网络并行仿真的基础,使得精细神经网络仿真可以在计算集群以及超级计算机上进行,使得大规模精细神经网络仿真成为可能。

神经元尺度并行方法对各神经元内部求解方程组的计算进行并行,并行粒度更细。使用更细粒度并行可以充分利用计算集群或超级计算机上的计算资源,解决网络尺度并行方法中神经元内部串行计算导致的计算效率问题。一个精确且高效的神经元尺度并行方法可以很大程度提升仿真效率,然而,当前神经元尺度的并行方法很少关注并行策略的问题,导致现有方法对神经元内部进行并行时无法取得很好的负载均衡,影响计算效率。此外,现有方法为提高并行度所引入的近似和额外计算导致计算结果不够精确,同时影响计算效率。

近年来,越来越多的工作使用GPU进行精细神经网络的仿真。GPU强大的并行计算能力大幅提升了仿真效率。GPU上的并行仿真方法整体思路与CPU方法类似,也可分为网络尺度并行和神经元尺度并行两大类。由于基于GPU的神经元尺度并行方法同样存在计算精度问题,因此网络尺度并行是GPU上主流的方法。

综上所述,现有基于CPU的并行算法无法很好地解决效率与精度的问题。GPU的使用使得仿真效率大幅提升,然而当前基于GPU的方法以网络尺度并行为主,当单神经元模型较为复杂时效率较低。综合各类方法的特点与不足,本文认为基于GPU的神经元尺度并行方法是未来精细神经网络仿真的发展趋势。神经元尺度并行方法可以充分利用GPU强大的并行计算能力,一种基于GPU的高效且没有计算误差的神经元尺度并行方法可以有效解决当前仿真中面临的仿真效率问题。

本文回顾了精细神经网络仿真方法,从现有仿真平台及核心仿真方法出发,分别介绍了网络尺度并行仿真方法、神经元尺度并行仿真方法以及基于GPU的并行仿真方法。介绍了各类方法的核心思想与存在的不足,并对各类并行方法中一些具有代表性的工作进行了较为详细的介绍。随后对现有方法进行总结,概括了现有方法的主要贡献,并对现有方法存在的不足进行总结:现有方法在大规模网络仿真或模型较为复杂的情况下依然存在效率或仿真精度方面的问题。最后根据现有方法的特点及存在的不足,对未来研究趋势进行了展望,认为基于GPU的神经元尺度并行方法可以进一步提升大规模精细神经网络的仿真效率。

参考文献

  • Akar N A, Cumming B, Karakasis V, Küsters A, Klijn W, Peyser A and Yates S. 2019. Arbor — A morphologically-detailed neural network simulation library for contemporary high-performance computing architectures//Proceedings of the 27th Euromicro International Conference on Parallel, Distributed and Network-Based Processing (PDP). Pavia, Italy: IEEE: 274-282 [DOI: 10.1109/EMPDP.2019.8671560]
  • Beniaguev D, Segev I, London M. 2021. Single cortical neurons as deep artificial neural networks. Neuron, 109(17): 2727-2739 [DOI:10.1016/j.neuron.2021.07.002]
  • Ben-Shalom R, Ladd A, Artherya N S, Cross C, Kim K G, Sanghevi H, Korngreen A, Bouchard K E, Bender K J. 2022. NeuroGPU: accelerating multi-compartment, biophysically detailed neuron simulations on GPUs. Journal of Neuroscience Methods, 366: #109400 [DOI:10.1016/j.jneumeth.2021.109400]
  • Ben-Shalom R, Liberman G, Korngreen A. 2013. Accelerating compartmental modeling on a graphical processing unit. Frontiers in Neuroinformatics, 7: #4 [DOI:10.3389/fninf.2013.00004]
  • Bicknell B A, Häusser M. 2021. A synaptic learning rule for exploiting nonlinear dendritic computation. Neuron, 109(24): 4001-4017 [DOI:10.1016/j.neuron.2021.09.044]
  • Billeh Y N, Cai B H, Gratiy S L, Dai K, Iyer R, Gouwens N W, Abbasi-Asl R, Jia X X, Siegle J H, Olsen S R, Koch C, Mihalas S, Arkhipov A. 2020. Systematic integration of structural and functional data into multi-scale models of mouse primary visual cortex. Neuron, 106(3): 388-403 [DOI:10.1016/j.neuron.2020.01.040]
  • Bono J, Clopath C. 2017. Modeling somatic and dendritic spike mediated plasticity at the single neuron and network level. Nature Communications, 8: #706 [DOI:10.1038/s41467-017-00740-z]
  • Bower J M and Beeman D. 1998. Neural Modeling with GENESIS//Bower J M and Beeman D, eds. The Book of GENESIS: Exploring Realistic Neural Models with the GEneral NEural SImulation System. New York, USA: Springer: 17-27 [DOI: 10.1007/978-1-4612-1634-6_3]
  • Chavlis S, Poirazi P. 2021. Drawing inspiration from biological dendrites to empower artificial neural networks. Current Opinion in Neurobiology, 70: 1-10 [DOI:10.1016/j.conb.2021.04.007]
  • Eichner H, Klug T, Borst A. 2009. Neural simulations on multi-core architectures. Frontiers in Neuroinformatics, 3: #21 [DOI:10.3389/neuro.11.021.2009]
  • Einevoll G T, Destexhe A, Diesmann M, Grün S, Jirsa V, de Kamps M, Migliore M, Ness T V, Plesser H E, Schürmann F. 2019. The scientific case for brain simulations. Neuron, 102(4): 735-744 [DOI:10.1016/j.neuron.2019.03.027]
  • Gidon A, Zolnik T A, Fidzinski P, Bolduan F, Papoutsi A, Poirazi P, Holtkamp M, Vida I, Larkum M E. 2020. Dendritic action potentials and computation in human layer 2/3 cortical neurons. Science, 367(6473): 83-87 [DOI:10.1126/science.aax6239]
  • Goddard N H and Hood G. 1998. Large-scale simulation using parallel GENESIS//Bower J M and Beeman D, eds. The Book of GENESIS: Exploring Realistic Neural Models with the GEneral NEural SImulation System. New York, USA: Springer: 349-379 [DOI: 10.1007/978-1-4612-1634-6_21]
  • Hassabis D, Kumaran D, Summerfield C, Botvinick M. 2017. Neuroscience-inspired artificial intelligence. Neuron, 95(2): 245-258 [DOI:10.1016/j.neuron.2017.06.011]
  • Häusser M, Mel B. 2003. Dendrites: bug or feature?. Current Opinion in Neurobiology, 13(3): 372-383 [DOI:10.1016/S0959-4388(03)00075-8]
  • Hines M. 1984. Efficient computation of branched nerve equations. International Journal of Bio-Medical Computing, 15(1): 69-76 [DOI:10.1016/0020-7101(84)90008-4]
  • Hines M, Kumar S, Schürmann F. 2011. Comparison of neuronal spike exchange methods on a Blue Gene/P supercomputer. Frontiers in Computational Neuroscience, 5: #49 [DOI:10.3389/fncom.2011.00049]
  • Hines M L, Carnevale N T. 1997. The NEURON simulation environment. Neural Computation, 9(6): 1179-1209 [DOI:10.1162/neco.1997.9.6.1179]
  • Hines M L, Eichner H, Schürmann F. 2008a. Neuron splitting in compute-bound parallel network simulations enables runtime scaling with twice as many processors. Journal of Computational Neuroscience, 25(1): 203-210 [DOI:10.1007/s10827-007-0073-3]
  • Hines M L, Markram H, Schürmann F. 2008b. Fully implicit parallel simulation of single neurons. Journal of Computational Neuroscience, 25(3): 439-448 [DOI:10.1007/s10827-008-0087-5]
  • Hjorth J J J, Kozlov A, Carannante I, Frost Nylén J, Lindroos R, Johansson Y, Tokarska A, Dorst M C, Suryanarayana S M, Silberberg G, Hellgren Kotaleski J, Grillner S. 2020. The microcircuits of striatum in silico. Proceedings of the National Academy of Sciences of the United States of America, 117(17): 9554-9565 [DOI:10.1073/pnas.2000671117]
  • Hodgkin A L, Huxley A F. 1952. A quantitative description of membrane current and its application to conduction and excitation in nerve. The Journal of Physiology, 117(4): 500-544 [DOI:10.1113/jphysiol.1952.sp004764]
  • Huang T J, Shi L P, Tang H J, Pan G, Chen Y J, Yu J Q. 2016. Research on multimedia technology 2015—advances and trend of brain-like computing. Journal of Image and Graphics, 21(11): 1411-1424 (黄铁军, 施路平, 唐华锦, 潘纲, 陈云霁, 于俊清. 2016. 多媒体技术研究: 2015——类脑计算的研究进展与发展趋势. 中国图象图形学报, 21(11): 1411-1424) [DOI:10.11834/jig.20161101]
  • Huber F. 2018. Efficient tree solver for hines matrices on the GPU [EB/OL]. [2022-03-22]. https://arxiv.org/pdf/1810.12742.pdf
  • Kozloski J, Wagner J. 2011. An ultrascalable solution to large-scale neural tissue simulation. Frontiers in Neuroinformatics, 5: #15 [DOI:10.3389/fninf.2011.00015]
  • Kumbhar P, Hines M, Fouriaux J, Ovcharenko A, King J, Delalondre F, Schürmann F. 2019. CoreNEURON: an optimized compute engine for the NEURON simulator. Frontiers in Neuroinformatics, 13: #63 [DOI:10.3389/fninf.2019.00063]
  • Kumbhar P, Hines M, Ovcharenko A, Mallon D A, King J, Sainz F, Schürmann F and Delalondre F. 2016. Leveraging a cluster-booster architecture for brain-scale simulations//Proceedings of the 31st International Conference on High Performance Computing. Frankfurt, Germany: Springer International Publishing: 363-380 [DOI: 10.1007/978-3-319-41321-1_19]
  • Larkum M E, Zhu J J, Sakmann B. 1999. A new cellular mechanism for coupling inputs arriving at different cortical layers. Nature, 398(6725): 338-341 [DOI:10.1038/18686]
  • Lillicrap T P, Santoro A, Marris L, Akerman C J, Hinton G. 2020. Backpropagation and the brain. Nature Reviews Neuroscience, 21(6): 335-346 [DOI:10.1038/s41583-020-0277-3]
  • Lytton W W, Seidenstein A H, Dura-Bernal S, McDougal R A, Schürmann F, Hines M L. 2016. Simulation neurotechnologies for advancing brain research: parallelizing large networks in NEURON. Neural Computation, 28(10): 2063-2090 [DOI:10.1162/NECO_a_00876]
  • Lytton W W, Stewart M and Hines M. 2008. Simulation of large networks: technique and progress//Soltesz I and Staley K, eds. Computational Neuroscience in Epilepsy. San Diego, USA: Academic Press: 3-17 [DOI: 10.1016/B978-012373649-9.50004-1]
  • Markram H, Muller E, Ramaswamy S, Reimann M W, Abdellah M, Sanchez C A, Ailamaki A, Alonso-Nanclares L, Antille N, Arsever S, Kahou G A A, Berger T K, Bilgili A, Buncic N, Chalimourda A, Chindemi G, Courcol J D, Delalondre F, Delattre V, Druckmann S, Dumusc R, Dynes J, Eilemann S, Gal E, Gevaert M E, Ghobril J P, Gidon A, Graham J W, Gupta A, Haenel V, Hay E, Heinis T, Hernando J B, Hines M, Kanari L, Keller D, Kenyon J, Khazen G, Kim Y, King J G, Kisvarday Z, Kumbhar P, Lasserre S, Le Bé J V, Magalhães B R C, Merchán-Pérez A, Meystre J, Morrice B R, Muller J, Muñoz-Céspedes A, Muralidhar S, Muthurasa K, Nachbaur D, Newton T H, Nolte M, Ovcharenko A, Palacios J, Pastor L, Perin R, Ranjan R, Riachi I, Rodríguez J R, Riquelme J L, Rössert C, Sfyrakis K, Shi Y, Shillcock J C, Silberberg G, Silva R, Tauheed F, Telefont M, Toledo-Rodriguez M, Tränkler T, Van Geit W, Díaz J V, Walker R, Wang Y, Zaninetta S M, DeFelipe J, Hill S L, Segev I, Schürmann F. 2015. Reconstruction and simulation of neocortical microcircuitry. Cell, 163(2): 456-492 [DOI:10.1016/j.cell.2015.09.029]
  • Mascagni M. 1991. A parallelizing algorithm for computing solutions to arbitrarily branched cable neuron models. Journal of Neuroscience Methods, 36(1): 105-114 [DOI:10.1016/0165-0270(91)90143-N]
  • Masoli S, Solinas S, D'Angelo E. 2015. Action potential processing in a detailed Purkinje cell model reveals a critical role for axonal compartmentalization. Frontiers in Cellular Neuroscience, 9: #47 [DOI:10.3389/fncel.2015.00047]
  • McDougal R A, Morse T M, Carnevale T, Marenco L, Wang R X, Migliore M, Miller P L, Shepherd G M, Hines M L. 2017. Twenty years of ModelDB and beyond: building essential modeling tools for the future of neuroscience. Journal of Computational Neuroscience, 42(1): 1-10 [DOI:10.1007/s10827-016-0623-7]
  • Migliore M, Cannia C, Lytton W W, Markram H, Hines M L. 2006. Parallel network simulations with NEURON. Journal of Computational Neuroscience, 21(2): 119-129 [DOI:10.1007/s10827-006-7949-5]
  • Migliore M, Cavarretta F, Marasco A, Tulumello E, Hines M L, Shepherd G M. 2015. Synaptic clusters function as odor operators in the olfactory bulb. Proceedings of the National Academy of Sciences of the United States of America, 112(27): 8499-8504 [DOI:10.1073/pnas.1502513112]
  • Migliore M, Messineo L, Ferrante M. 2004. Dendritic Ih selectively blocks temporal summation of unsynchronized distal inputs in CA1 pyramidal neurons. Journal of Computational Neuroscience, 16(1): 5-13 [DOI:10.1023/B:JCNS.0000004837.81595.b0]
  • Moldwin T, Kalmenson M, Segev I. 2021. The gradient clusteron: a model neuron that learns to solve classification tasks via dendritic nonlinearities, structural plasticity, and gradient descent. PLoS Computational Biology, 17(5): #1009015 [DOI:10.1371/journal.pcbi.1009015]
  • Moldwin T, Segev I. 2020. Perceptron learning and classification in a modeled cortical pyramidal cell. Frontiers in Computational Neuroscience, 14: #33 [DOI:10.3389/fncom.2020.00033]
  • NVIDIA. 2021. CUDA C++ Programming Guide[DB/OL]. [2022-03-22]. https://docs.nvidia.com/cuda/cuda-c-programming-guide/index.html#axzz4qYtE8tDg
  • Payeur A, Béïque J C, Naud R. 2019. Classes of dendritic information processing. Current Opinion in Neurobiology, 58: 78-85 [DOI:10.1016/j.conb.2019.07.006]
  • Payeur A, Guerguiev J, Zenke F, Richards B A, Naud R. 2021. Burst-dependent synaptic plasticity can coordinate learning in hierarchical circuits. Nature Neuroscience, 24(7): 1010-1019 [DOI:10.1038/s41593-021-00857-x]
  • Poirazi P, Brannon T, Mel B W. 2003. Pyramidal neuron as two-layer neural network. Neuron, 37(6): 989-999 [DOI:10.1016/S0896-6273(03)00149-1]
  • Poirazi P, Mel B W. 2001. Impact of active dendrites and structural plasticity on the memory capacity of neural tissue. Neuron, 29(3): 779-796 [DOI:10.1016/S0896-6273(01)00252-5]
  • Poirazi P, Papoutsi A. 2020. Illuminating dendritic function with computational models. Nature Reviews Neuroscience, 21(6): 303-321 [DOI:10.1038/s41583-020-0301-7]
  • Rall W. 1959. Branching dendritic trees and motoneuron membrane resistivity. Experimental Neurology, 1(5): 491-527 [DOI:10.1016/0014-4886(59)90046-9]
  • Rall W. 1962. Theory of physiological properties of dendrites. Annals of the New York Academy of Sciences, 96(4): 1071-1092 [DOI:10.1111/j.1749-6632.1962.tb54120.x]
  • Rempe M J, Chopp D L. 2006. A predictor-corrector algorithm for reaction-diffusion equations associated with neural activity on branched structures. SIAM Journal on Scientific Computing, 28(6): 2139-2161 [DOI:10.1137/050643210]
  • Sacramento J, Costa R P, Bengio Y and Senn W. 2018. Dendritic cortical microcircuits approximate the backpropagation algorithm//Proceedings of the 32nd International Conference on Neural Information Processing Systems. Montréal, Canada: Curran Associates Inc. : 8735-8746
  • Schiller J, Major G, Koester H J, Schiller Y. 2000. NMDA spikes in basal dendrites of cortical pyramidal neurons. Nature, 404(6775): 285-289 [DOI:10.1038/35005094]
  • Schiller J, Schiller Y, Stuart G, Sakmann B. 1997. Calcium action potentials restricted to distal apical dendrites of rat neocortical pyramidal neurons. The Journal of Physiology, 505(3): 605-616 [DOI:10.1111/j.1469-7793.1997.605ba.x]
  • Segev I, Rall W. 1988. Computational study of an excitable dendritic spine. Journal of Neurophysiology, 60(2): 499-523 [DOI:10.1152/JN.1988.60.2.499]
  • Stone H S. 1973. An efficient parallel algorithm for the solution of a tridiagonal linear system of equations. Journal of the ACM, 20(1): 27-38 [DOI:10.1145/321738.321741]
  • Stuart G J, Sakmann B. 1994. Active propagation of somatic action potentials into neocortical pyramidal cell dendrites. Nature, 367(6458): 69-72 [DOI:10.1038/367069a0]
  • Tikidji-Hamburyan R A, Narayana V, Bozkus Z, El-Ghazawi T A. 2017. Software for brain network simulations: a comparative study. Frontiers in Neuroinformatics, 11: #46 [DOI:10.3389/fninf.2017.00046]
  • Tsuyuki T, Yamamoto Y and Yamazaki T. 2016. Efficient numerical simulation of neuron models with spatial structure on graphics processing units//Proceedings of the 23rd International Conference on Neural Information Processing. Kyoto, Japan: Springer: 279-285 [DOI: 10.1007/978-3-319-46681-1_34]
  • Urbanczik R, Senn W. 2014. Learning by the dendritic prediction of somatic spiking. Neuron, 81(3): 521-528 [DOI:10.1016/j.neuron.2013.11.030]
  • Valero-Lara P, Martínez-Perez I, Peña A J, Martorell X, Sirvent R, Labarta J. 2017. cuHinesBatch: solving multiple hines systems on gpus human brain project. Procedia Computer Science, 108: 566-575 [DOI:10.1016/J.PROCS.2017.05.145]
  • Valero-Lara P, Sirvent R, Peña A J, Labarta J. 2019. MPI+OpenMP tasking scalability for multi-morphology simulations of the human brain. Parallel Computing, 84: 50-61 [DOI:10.1016/j.parco.2019.03.006]
  • Vooturi D T, Kothapalli K and Bhalla U S. 2017. Parallelizing hines matrix solver in neuron simulations on GPU//Proceedings of the 24th IEEE International Conference on High Performance Computing (HiPC). Jaipur, India: IEEE: 388-397 [DOI: 10.1109/HiPC.2017.00051]
  • Zeng Y, Liu C L, Tan T N. 2016. Retrospect and outlook of brain-inspired intelligence research. Chinese Journal of Computers, 39(1): 212-222 (曾毅, 刘成林, 谭铁牛. 2016. 类脑智能研究的回顾与展望. 计算机学报, 39(1): 212-222) [DOI:10.11897/SP.J.1016.2016.00212]