Portable exploitation of parallel and heterogeneous HPC architectures in neural simulation using SkePU

The complexity of modern HPC systems requires the use of new tools that support advanced programming models and offer portability and programmability of parallel and heterogeneous architectures. In this work we evaluate the use of SkePU framework in an HPC application from the neural computing domain. We demonstrate the successful deployment of the application based on SkePU using multiple back-ends (OpenMP, OpenCL and MPI) and present lessons-learned towards future extensions of the SkePU framework.

[1]  Robert C. Cannon,et al.  LEMS: a language for expressing complex biological models in concise and hierarchical form and its use in underpinning NeuroML 2 , 2014, Front. Neuroinform..

[2]  E. Lewis Neuroelectric potentials derived from an extended version of Hodgkin-Huxley model. , 1966, Journal of theoretical biology.

[3]  Georgios Smaragdos,et al.  Multinode implementation of an extended Hodgkin-Huxley simulator , 2019, Neurocomputing.

[4]  Christoph W. Kessler,et al.  Multi-Variant User Functions for Platform-Aware Skeleton Programming , 2019, PARCO.

[5]  Cédric Augonnet,et al.  StarPU: a unified platform for task scheduling on heterogeneous multicore architectures , 2011, Concurr. Comput. Pract. Exp..

[6]  Marco Danelutto,et al.  Bringing Parallel Patterns Out of the Corner , 2017, ACM Trans. Archit. Code Optim..

[7]  Murray Cole,et al.  Bringing skeletons out of the closet: a pragmatic manifesto for skeletal parallel programming , 2004, Parallel Comput..

[8]  Alon Korngreen,et al.  NeuroGPU: Accelerating multi-compartment, biophysically detailed neuron simulations on GPUs , 2019, bioRxiv.

[9]  Christoph W. Kessler,et al.  Smart Containers and Skeleton Programming for GPU-Based Systems , 2015, International Journal of Parallel Programming.

[10]  Dharmendra S. Modha,et al.  The cat is out of the bag: cortical simulations with 109 neurons, 1013 synapses , 2009, Proceedings of the Conference on High Performance Computing Networking, Storage and Analysis.

[11]  Jordi Madrenas,et al.  SNAVA - A real-time multi-FPGA multi-model spiking neural network simulation architecture , 2018, Neural Networks.

[12]  Christoph W. Kessler,et al.  SkePU 2: Flexible and Type-Safe Skeleton Programming for Heterogeneous Parallel Systems , 2018, International Journal of Parallel Programming.