Application of performance portability solutions for GPUs and many-core CPUs to track reconstruction kernels

Ka Hei Martin Kwok,Matti Kortelainen,Giuseppe Cerati,Alexei Strelchenko,Oliver Gutsche,Allison Reinsvold Hall,Steve Lantz,Michael Reid,Daniel Riley,Sophie Berkman,Seyong Lee,Hammad Ather,Boyana Norris,Cong Wang
2024-01-25
Abstract:Next generation High-Energy Physics (HEP) experiments are presented with significant computational challenges, both in terms of data volume and processing power. Using compute accelerators, such as GPUs, is one of the promising ways to provide the necessary computational power to meet the challenge. The current programming models for compute accelerators often involve using architecture-specific programming languages promoted by the hardware vendors and hence limit the set of platforms that the code can run on. Developing software with platform restrictions is especially unfeasible for HEP communities as it takes significant effort to convert typical HEP algorithms into ones that are efficient for compute accelerators. Multiple performance portability solutions have recently emerged and provide an alternative path for using compute accelerators, which allow the code to be executed on hardware from different vendors. We apply several portability solutions, such as Kokkos, SYCL, C++17 std::execution::par and Alpaka, on two mini-apps extracted from the mkFit project: p2z and p2r. These apps include basic kernels for a Kalman filter track fit, such as propagation and update of track parameters, for detectors at a fixed z or fixed r position, respectively. The two mini-apps explore different memory layout formats.
Accelerator Physics
What problem does this paper attempt to address?