DOE PAGES title logo U.S. Department of Energy
Office of Scientific and Technical Information

Title: 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:
 [1];  [2];  [1];  [2];  [2];  [1];  [1]
  1. European Organization for Nuclear Research (CERN), Geneva (Switzerland)
  2. 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


Works referencing / citing this record:

Graph Neural Networks for Particle Tracking and Reconstruction
text, January 2020