Implementation of Boris Particle Pusher on DPC++

This talk shows the results of porting one of the key computational kernels of the High-Intensity Collisions and Interactions (Hi-Chi) open source numerical code to the DPC++ programming language. When planning to port the entire Hi-Chi code to DPC++, we started with a Boris particle pusher to assess the effort required for porting and the expected performance on state-of-the-art Intel® CPUs and GPUs. We found that the optimized parallel C++ code can be ported easily to DPC++, while performance on Intel® Xeon® Platinum 8260L processor differs only slightly (10 percent on average) from the baseline C++ code. This is a reasonable price to pay for portability. The results show that the code originally optimized for CPUs can now be run on Intel® GPUs (Intel® HD Graphics P630 and Intel® Iris® Xe MAX), and demonstrate the expected performance, which can be improved later. In this talk, we share the experience of porting, optimization techniques, and current results of code optimization for Intel GPUs.


Iosif Meyerov obtained his PhD in applied mathematics and computer science at the Lobachevsky State University of Nizhny Novgorod in 2005. He is deputy head of the department of mathematical software and supercomputing technologies, and head of the oneAPI Center of Excellence. His research interests include high-performance computing, performance analysis and optimization, computational science, scientific software development, and sparse algebra algorithms.