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

Institutions

Publication Details

Journal
EPJ Web of Conferences
Published
2025-01-01
DOI
https://doi.org/10.1051/epjconf/202533701141
Primary Topic
Parallel Computing and Optimization Techniques
Type
article
Field-Weighted Citation Impact
0.00

Funders

Controls
|||
ALL TIME
JAN
FEB
MAR
APR
MAY
JUN
JUL
AUG
SEP
OCT
article

Experience with the alpaka performance portability library in the CMS software

Patrycja Górniak, Antonı́n Dvořák, Philipp Brummer, Wassef Karimeh et al.
EPJ Web of Conferences
Parallel Computing and Optimization Techniques
article

Experience with the alpaka performance portability library in the CMS software

Patrycja Górniak, Antonı́n Dvořák, Philipp Brummer, Wassef Karimeh, E. Cano, F. Meijers, Christian Deldicque, Guillermo Izquierdo Moreno, W. Redjeb, J. Hegeman, T. Jayakumar, T. James, Marc Dobson, G. Gomez Ceballos, Cristina Vazquez Velez, P. Zejdl, Theodoros Rizopoulos, K. Long, R. D. Krawczyk, Wei Li, Christoph M. E. Paus, M. J. Kortelainen, Srećko Morović, Antra Gaile, M. Pieri, Emilio Meschi, Dainius Šimelevičius, Andrea Bocci, Sergio Cittolin, Frank Glege, Dinyar Sebastian Rabady, Dominique Gigi, Hannes Sakulin, L. Orsini, A. Rácz, J. G. Branson, Christoph Schwick, P. Tzanis, U. Behrens, Georgiana-Lavinia Darlea, Andrea Petrucci, Jaafar Alawieh, Miguel Bacharov Durasov, Babatunde John Odetayo, Jan Andrzej Bugajski, Albert Corominas I Mariscot, Christos Emmanouil, Kareen Arutjunjan
article en

Abstract

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.

EPJ Web of ConferencesVol. 337
Fermi National Accelerator Laboratory (US), Vilnius University (LT), University of California San Diego (US), IIT@MIT (US), University of Benin (NG), European Organization for Nuclear Research (CH), Rice University (US), RWTH Aachen University (DE)
U.S. Department of Energy, Bundesministerium für Bildung und Forschung, China Scholarship Council, Office of Science, High Energy Physics
Openalex Percentile: Top 70%
Parallel Computing and Optimization Techniques
AI Navigator

Ask Laika to Summarize, Analyze, and Connect papers live on the map.

Summarize Papers & Methodologies

Extract key findings, datasets, and comparative methods across publications.

Benchmark Rankings & Visual Analytics

Rank top research institutions, authors, funders, topics, and journals by Field-Weighted Citation Impact (FWCI) and paper volume with instant charts.

Connect Distant Disciplines

Bridge topological clusters on the map to find hidden collaborative intersections.