CERN Accelerating science

CMS Note
Report number arXiv:2004.04334 ; FERMILAB-CONF-19-545-SCD ; CMS-CR-2020-033
Title Bringing heterogeneity to the CMS software framework
Author(s) Bocci, Andrea (CERN) ; Dagenhart, David (Fermilab) ; Innocente, Vincenzo (CERN) ; Jones, Christopher (Fermilab) ; Kortelainen, Matti (Fermilab) ; Pantaleo, Felice (CERN) ; Rovere, Marco (CERN)
Collaboration CMS Collaboration
Publication 2020
Imprint 04 Feb 2020
Number of pages 7
In: EPJ Web Conf. 245 (2020) 05009
In: 24th International Conference on Computing in High Energy and Nuclear Physics, Adelaide, Australia, 4 - 8 Nov 2019, pp.05009
DOI 10.1051/epjconf/202024505009
Subject category Detectors and Experimental Techniques ; Particle Physics - Experiment ; Other Fields of Physics
Accelerator/Facility, Experiment CERN LHC ; CMS
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?s Threading Building Blocks (TBB) library, that utilizes tasks as concurrent units of work. In this talk 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.
Related document Slides FERMILAB-SLIDES-19-069-SCD
Copyright/License publication: © The Authors (License: CC-BY-4.0)
preprint: (License: arXiv nonexclusive-distrib 1.0)



Corresponding record in: Inspire


 Record created 2020-04-20, last modified 2024-10-18


Fulltext:
CR2020_033 - Download fulltextPDF
epjconf_chep2020_05009 (1) - Download fulltextPDF
fermilab-conf-19-545-scd - Download fulltextPDF
(additional files)
External link:
Download fulltextFermilab Accepted Manuscript