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