Bringing heterogeneity to the CMS software framework
Abstract
The advent of computing resources with co-processors, for example Graphics Processing Units (GPU) or Field-Programmable Gate Arrays (FPGA), for use cases like the CMS High-Level Trigger (HLT) or data processing at leadership-class supercomputers imposes challenges for the current data processing frameworks. These challenges include developing a model for algorithms to offload their computations on the co-processors as well as keeping the traditional CPU busy doing other work. The CMS data processing framework, CMSSW, implements multithreading using the Intel Threading Building Blocks (TBB) library, that utilizes tasks as concurrent units of work. In this paper we will discuss a generic mechanism to interact effectively with non-CPU resources that has been implemented in CMSSW. In addition, configuring such a heterogeneous system is challenging. In CMSSW an application is configured with a configuration file written in the Python language. The algorithm types are part of the configuration. The challenge therefore is to unify the CPU and co-processor settings while allowing their implementations to be separate. We will explain how we solved these challenges while minimizing the necessary changes to the CMSSW framework. We will also discuss on a concrete example how algorithms would offload work to NVIDIA GPUs using directly the CUDA API.
- Authors:
-
- European Organization for Nuclear Research (CERN), Geneva (Switzerland)
- Fermi National Accelerator Lab. (FNAL), Batavia, IL (United States)
- Publication Date:
- Research Org.:
- Fermi National Accelerator Laboratory (FNAL), Batavia, IL (United States)
- Sponsoring Org.:
- USDOE Office of Science (SC), High Energy Physics (HEP)
- Contributing Org.:
- CMS Collaboration
- OSTI Identifier:
- 1617227
- Report Number(s):
- FERMILAB-CONF-19-545-SCD
Journal ID: ISSN 2100-014X; oai:inspirehep.net:1790694; TRN: US2106735
- Grant/Contract Number:
- AC02-07CH11359
- Resource Type:
- Accepted Manuscript
- Journal Name:
- EPJ Web of Conferences (Online)
- Additional Journal Information:
- Journal Name: EPJ Web of Conferences (Online); Journal Volume: 245; Conference: 24.International Conference on Computing in High Energy and Nuclear Physics (CHEP 2019), Adelaide (Australia), 4-8 Nov 2019; Journal ID: ISSN 2100-014X
- Publisher:
- EDP Sciences
- Country of Publication:
- United States
- Language:
- English
- Subject:
- 72 PHYSICS OF ELEMENTARY PARTICLES AND FIELDS; 97 MATHEMATICS AND COMPUTING
Citation Formats
Bocci, Andrea, Dagenhart, David, Innocente, Vincenzo, Jones, Christopher, Kortelainen, Matti, Pantaleo, Felice, and Rovere, Marco. Bringing heterogeneity to the CMS software framework. United States: N. p., 2020.
Web. doi:10.1051/epjconf/202024505009.
Bocci, Andrea, Dagenhart, David, Innocente, Vincenzo, Jones, Christopher, Kortelainen, Matti, Pantaleo, Felice, & Rovere, Marco. Bringing heterogeneity to the CMS software framework. United States. https://doi.org/10.1051/epjconf/202024505009
Bocci, Andrea, Dagenhart, David, Innocente, Vincenzo, Jones, Christopher, Kortelainen, Matti, Pantaleo, Felice, and Rovere, Marco. Mon .
"Bringing heterogeneity to the CMS software framework". United States. https://doi.org/10.1051/epjconf/202024505009. https://www.osti.gov/servlets/purl/1617227.
@article{osti_1617227,
title = {Bringing heterogeneity to the CMS software framework},
author = {Bocci, Andrea and Dagenhart, David and Innocente, Vincenzo and Jones, Christopher and Kortelainen, Matti and Pantaleo, Felice and Rovere, Marco},
abstractNote = {The advent of computing resources with co-processors, for example Graphics Processing Units (GPU) or Field-Programmable Gate Arrays (FPGA), for use cases like the CMS High-Level Trigger (HLT) or data processing at leadership-class supercomputers imposes challenges for the current data processing frameworks. These challenges include developing a model for algorithms to offload their computations on the co-processors as well as keeping the traditional CPU busy doing other work. The CMS data processing framework, CMSSW, implements multithreading using the Intel Threading Building Blocks (TBB) library, that utilizes tasks as concurrent units of work. In this paper we will discuss a generic mechanism to interact effectively with non-CPU resources that has been implemented in CMSSW. In addition, configuring such a heterogeneous system is challenging. In CMSSW an application is configured with a configuration file written in the Python language. The algorithm types are part of the configuration. The challenge therefore is to unify the CPU and co-processor settings while allowing their implementations to be separate. We will explain how we solved these challenges while minimizing the necessary changes to the CMSSW framework. We will also discuss on a concrete example how algorithms would offload work to NVIDIA GPUs using directly the CUDA API.},
doi = {10.1051/epjconf/202024505009},
journal = {EPJ Web of Conferences (Online)},
number = ,
volume = 245,
place = {United States},
year = {Mon Nov 16 00:00:00 EST 2020},
month = {Mon Nov 16 00:00:00 EST 2020}
}
Works referenced in this record:
LHC Machine
journal, August 2008
- Evans, Lyndon; Bryant, Philip
- Journal of Instrumentation, Vol. 3, Issue 08
Works referencing / citing this record:
Graph Neural Networks for Particle Tracking and Reconstruction
text, January 2020
- Duarte, Javier; Vlimant, Jean-Roch
- arXiv