TY - JOUR
T1 - Neural Parallel Engine
T2 - A toolbox for massively parallel neural signal processing
AU - Tam, Wing kin
AU - Yang, Zhi
N1 - Publisher Copyright:
© 2018 Elsevier B.V.
PY - 2018/5/1
Y1 - 2018/5/1
N2 - Background: Large-scale neural recordings provide detailed information on neuronal activities and can help elicit the underlying neural mechanisms of the brain. However, the computational burden is also formidable when we try to process the huge data stream generated by such recordings. New method: In this study, we report the development of Neural Parallel Engine (NPE), a toolbox for massively parallel neural signal processing on graphical processing units (GPUs). It offers a selection of the most commonly used routines in neural signal processing such as spike detection and spike sorting, including advanced algorithms such as exponential-component-power-component (EC-PC) spike detection and binary pursuit spike sorting. We also propose a new method for detecting peaks in parallel through a parallel compact operation. Results: Our toolbox is able to offer a 5× to 110× speedup compared with its CPU counterparts depending on the algorithms. A user-friendly MATLAB interface is provided to allow easy integration of the toolbox into existing workflows. Comparison with existing methods: Previous efforts on GPU neural signal processing only focus on a few rudimentary algorithms, are not well-optimized and often do not provide a user-friendly programming interface to fit into existing workflows. There is a strong need for a comprehensive toolbox for massively parallel neural signal processing. Conclusions: A new toolbox for massively parallel neural signal processing has been created. It can offer significant speedup in processing signals from large-scale recordings up to thousands of channels.
AB - Background: Large-scale neural recordings provide detailed information on neuronal activities and can help elicit the underlying neural mechanisms of the brain. However, the computational burden is also formidable when we try to process the huge data stream generated by such recordings. New method: In this study, we report the development of Neural Parallel Engine (NPE), a toolbox for massively parallel neural signal processing on graphical processing units (GPUs). It offers a selection of the most commonly used routines in neural signal processing such as spike detection and spike sorting, including advanced algorithms such as exponential-component-power-component (EC-PC) spike detection and binary pursuit spike sorting. We also propose a new method for detecting peaks in parallel through a parallel compact operation. Results: Our toolbox is able to offer a 5× to 110× speedup compared with its CPU counterparts depending on the algorithms. A user-friendly MATLAB interface is provided to allow easy integration of the toolbox into existing workflows. Comparison with existing methods: Previous efforts on GPU neural signal processing only focus on a few rudimentary algorithms, are not well-optimized and often do not provide a user-friendly programming interface to fit into existing workflows. There is a strong need for a comprehensive toolbox for massively parallel neural signal processing. Conclusions: A new toolbox for massively parallel neural signal processing has been created. It can offer significant speedup in processing signals from large-scale recordings up to thousands of channels.
KW - Massively parallel signal processing
KW - Neural signal processing
KW - Spike detection
KW - Spike sorting
UR - http://www.scopus.com/inward/record.url?scp=85043508498&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=85043508498&partnerID=8YFLogxK
U2 - 10.1016/j.jneumeth.2018.03.004
DO - 10.1016/j.jneumeth.2018.03.004
M3 - Article
C2 - 29530617
AN - SCOPUS:85043508498
SN - 0165-0270
VL - 301
SP - 18
EP - 33
JO - Journal of Neuroscience Methods
JF - Journal of Neuroscience Methods
ER -