Cargando…

Bringing heterogeneity to the CMS software framework

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 fra...

Descripción completa

Detalles Bibliográficos
Autores principales: Bocci, Andrea, Dagenhart, David, Innocente, Vincenzo, Jones, Christopher, Kortelainen, Matti, Pantaleo, Felice, Rovere, Marco
Lenguaje:eng
Publicado: 2020
Materias:
Acceso en línea:https://dx.doi.org/10.1051/epjconf/202024505009
http://cds.cern.ch/record/2715623
_version_ 1780965438833819648
author Bocci, Andrea
Dagenhart, David
Innocente, Vincenzo
Jones, Christopher
Kortelainen, Matti
Pantaleo, Felice
Rovere, Marco
author_facet Bocci, Andrea
Dagenhart, David
Innocente, Vincenzo
Jones, Christopher
Kortelainen, Matti
Pantaleo, Felice
Rovere, Marco
author_sort Bocci, Andrea
collection CERN
description 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.
id cern-2715623
institution Organización Europea para la Investigación Nuclear
language eng
publishDate 2020
record_format invenio
spelling cern-27156232022-02-04T03:03:45Zdoi:10.1051/epjconf/202024505009http://cds.cern.ch/record/2715623engBocci, AndreaDagenhart, DavidInnocente, VincenzoJones, ChristopherKortelainen, MattiPantaleo, FeliceRovere, MarcoBringing heterogeneity to the CMS software frameworkDetectors and Experimental TechniquesParticle Physics - ExperimentOther Fields of PhysicsThe 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.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.arXiv:2004.04334FERMILAB-CONF-19-545-SCDCMS-CR-2020-033oai:cds.cern.ch:27156232020-02-04
spellingShingle Detectors and Experimental Techniques
Particle Physics - Experiment
Other Fields of Physics
Bocci, Andrea
Dagenhart, David
Innocente, Vincenzo
Jones, Christopher
Kortelainen, Matti
Pantaleo, Felice
Rovere, Marco
Bringing heterogeneity to the CMS software framework
title Bringing heterogeneity to the CMS software framework
title_full Bringing heterogeneity to the CMS software framework
title_fullStr Bringing heterogeneity to the CMS software framework
title_full_unstemmed Bringing heterogeneity to the CMS software framework
title_short Bringing heterogeneity to the CMS software framework
title_sort bringing heterogeneity to the cms software framework
topic Detectors and Experimental Techniques
Particle Physics - Experiment
Other Fields of Physics
url https://dx.doi.org/10.1051/epjconf/202024505009
http://cds.cern.ch/record/2715623
work_keys_str_mv AT bocciandrea bringingheterogeneitytothecmssoftwareframework
AT dagenhartdavid bringingheterogeneitytothecmssoftwareframework
AT innocentevincenzo bringingheterogeneitytothecmssoftwareframework
AT joneschristopher bringingheterogeneitytothecmssoftwareframework
AT kortelainenmatti bringingheterogeneitytothecmssoftwareframework
AT pantaleofelice bringingheterogeneitytothecmssoftwareframework
AT roveremarco bringingheterogeneitytothecmssoftwareframework