Abstract
We introduce parallelization and vectorization in ROOT mathematical and statistical libraries in order to take full advantage of new computer architectures and to maximize the CPU usage with an increasing amount of data to analyze.As part of this effort, we define in ROOT new generic classes supporting a task-based parallelization mode, which can be used for a wide range of computational tasks in the field of High Energy Physics. We also include support for different SIMD libraries, by including in ROOT a new generic library for vectorization.These different parallelization tools are applied together when parallelizing the minimization process for solving fitting problems. We report on the improvements obtained by adding the support for SIMD vectorization and multithreaded parallelization when fitting ROOT histograms and datasets represented by ROOT trees.
Highlights
Many operations in High Energy Physics (HEP) data processing can be classified in generic patterns or algorithms reproduced over several analyses, adapted to the specific problems at hand.Our goal is to identify these patterns in the HEP analysis processes, and integrate in the ROOT [1] software framework a set of tools to parallelize them across multiple levels, starting from the most common patterns, such as MapReduce, or the ones that provide more potential, such as the integration of tools for vectorization and the adoption of SIMD types.In this paper, we describe the generic tools developed in ROOT and their contribution to the parallelization of fitting in ROOT.2
We report on the improvements obtained by adding the support for SIMD vectorization and multithreaded parallelization when fitting ROOT histograms and datasets represented by ROOT trees
We describe the generic tools developed in ROOT and their contribution to the parallelization of fitting in ROOT
Summary
Many operations in High Energy Physics (HEP) data processing can be classified in generic patterns or algorithms reproduced over several analyses, adapted to the specific problems at hand. Our goal is to identify these patterns in the HEP analysis processes, and integrate in the ROOT [1] software framework a set of tools to parallelize them across multiple levels, starting from the most common patterns, such as MapReduce, or the ones that provide more potential, such as the integration of tools for vectorization and the adoption of SIMD types. 2. Tools for parallelism The strategy that ROOT adapts to speed up computations consists in exploiting both data-level and task-level parallelism. Tools for parallelism The strategy that ROOT adapts to speed up computations consists in exploiting both data-level and task-level parallelism For this purpose, ROOT provides several generic classes for the expression of parallelism at different levels.
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have
Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.