Experience with the alpaka performance portability library in the CMS software
To achieve better computational efficiency and exploit a wider range of computing resources, the CMS software framework (CMSSW) has been extended to offload part of the physics reconstruction to NVIDIA GPUs. To support additional back-ends, as well to avoid the need to write, validate and maintain a separate implementation of the reconstruction algorithms for each back-end, CMS has adopted the alpaka performance portability library. Alpaka (Abstraction Library for Parallel Kernel Acceleration) is a header-only C++ library that provides performance portability across different back-ends, abstracting the underlying levels of parallelism. It supports serial and parallel execution on CPUs, and extremely parallel execution on NVIDIA, AMD and Intel GPUs. This contribution will show how alpaka is used in the CMS software to develop and maintain a single code base; to use different toolchains to build the code for each supported back-end, and link them into a single application; to seamlessly select the best backend at runtime, and implement portable reconstruction algorithms that run efficiently on CPUs and GPUs from different vendors. It will describe the validation and deployment of the alpaka-based implementation in the CMS High Level Trigger, and highlight how it achieves near-native performance.
Authors
- Antonı́n Dvořák (ORCID: https://orcid.org/0000-0002-0611-491X)
- Philipp Brummer (ORCID: https://orcid.org/0000-0002-3857-3504)
- Wassef Karimeh
- Christian Deldicque
- Guillermo Izquierdo Moreno
- Theodoros Rizopoulos
- Thomas Owen James
- Dinyar Sebastian Rabady
- Jaafar Alawieh
- Miguel Bacharov Durasov
- Babatunde John Odetayo
- Jan Andrzej Bugajski
- Albert Corominas I Mariscot
- Patrycja Gorniak
- Guillelmo Gomez-Ceballos
- Dainius Šimelevičius
- Georgiana-Lavinia Darlea
- Attila Racz
- James Branson
- Andrea Petrucci
- Frank Glege
- Jeroen Hegeman
- Sergio Cittolin
- Petr Žejdl
- Polyneikis Tzanis
- Eric Cano
- Christos Emmanouil
- Tejeswini Jayakumar
- Christoph Schwick
- Hannes Sakulin
- Wei Li
- Frans Meijers
- Kenneth Long
- Andrea Bocci
- Srećko Morović
- Emilio Meschi
- Wahid Redjeb
- Kareen Arutjunjan
- Marc Dobson
- Matti J. Kortelainen
- Luciano Orsini
- Marco Pieri
- Cristina Vazquez Velez
- Antra Gaile
- Christoph Paus
- Rafał Krawczyk
- Ulf Behrens
- Dominique Gigi
Publication Details
- Journal
- Springer Link (Chiba Institute of Technology)
- Published
- 2025-10-07
- DOI
- https://doi.org/10.1051/epjconf/202533701141/pdf
- Primary Topic
- Parallel Computing and Optimization Techniques
- Type
- article
- Field-Weighted Citation Impact
- 0.00