AUTHOR=Ather Hammad , Berkman Sophie , Cerati Giuseppe , Kortelainen Matti J. , Kwok Ka Hei Martin , Lantz Steven , Lee Seyong , Norris Boyana , Reid Michael , Reinsvold Hall Allison , Riley Daniel , Strelchenko Alexei , Wang Cong TITLE=Exploring code portability solutions for HEP with a particle tracking test code JOURNAL=Frontiers in Big Data VOLUME=7 YEAR=2024 URL=https://www.frontiersin.org/journals/big-data/articles/10.3389/fdata.2024.1485344 DOI=10.3389/fdata.2024.1485344 ISSN=2624-909X ABSTRACT=
Traditionally, high energy physics (HEP) experiments have relied on x86 CPUs for the majority of their significant computing needs. As the field looks ahead to the next generation of experiments such as DUNE and the High-Luminosity LHC, the computing demands are expected to increase dramatically. To cope with this increase, it will be necessary to take advantage of all available computing resources, including GPUs from different vendors. A broad landscape of code portability tools—including compiler pragma-based approaches, abstraction libraries, and other tools—allow the same source code to run efficiently on multiple architectures. In this paper, we use a test code taken from a HEP tracking algorithm to compare the performance and experience of implementing different portability solutions. While in several cases portable implementations perform close to the reference code version, we find that the performance varies significantly depending on the details of the implementation. Achieving optimal performance is not easy, even for relatively simple applications such as the test codes considered in this work. Several factors can affect the performance, such as the choice of the memory layout, the memory pinning strategy, and the compiler used. The compilers and tools are being actively developed, so future developments may be critical for their deployment in HEP experiments.