Fermilab Computing Division

CS Document 6878-v1

Using OpenMP for HEP Framework Algorithm Scheduling

Document #:
Document type:
Submitted by:
Christopher D. Jones
Updated by:
Christopher D. Jones
Document Created:
30 Oct 2019, 08:51
Contents Revised:
30 Oct 2019, 08:51
Metadata Revised:
30 Oct 2019, 08:51
Viewable by:
  • Public document
Modifiable by:

Quick Links:
Latest Version

The OpenMP standard is the primary mechanism used at high performance computing facilities to allow intra-process parallelization. In contrast, many HEP specific software (such as CMSSW, GaudiHive, and ROOT) make use of Intel's Threading Building Blocks (TBB) library to accomplish the same goal. In this talk we will discuss our work to compare TBB and OpenMP when used for scheduling algorithms to be run by a HEP style data processing framework (i.e. running hundreds of interdependent algorithms at most once for each event read from the detector). This includes both scheduling of different algorithms to be run concurrently as well as scheduling concurrent work within one algorithm. As part of the discussion we present an overview of the OpenMP threading model. We also explain how we used OpenMP when creating a simplified HEP-like processing framework. Using that simplified framework, and a similar one written using TBB, we will present performance comparisons between TBB and different compiler versions of OpenMP.
Files in Document:
Associated with Events:
CHEP 2019 held on 04 Nov 2019 in Adelaide, Australia
DocDB Home ]  [ Search ] [ Authors ] [ Events ] [ Topics ]

DocDB Version 8.8.9, contact Document Database Administrators