Optimizing a High Energy Physics (HEP) Toolkit on Heterogeneous Architectures

Yngve Sneen Lindal
Norwegian University of Science and Technology
Norwegian University of Science and Technology, 2011


   title={Optimizing a High Energy Physics (HEP) Toolkit on Heterogeneous Architectures},

   author={Lindal, Y.S.},



Download Download (PDF)   View View   Source Source   



A desired trend within high energy physics is to increase particle accelerator luminosities, leading to production of more collision data and higher probabilities of finding interesting physics results. A central data analysis technique used to determine whether results are interesting or not is the maximum likelihood method, and the corresponding evaluation of the negative log-likelihood, which can be computationally expensive. As the amount of data grows, it is important to take benefit from the parallelism in modern computers. This, in essence, means to exploit vector registers and all available cores on CPUs, as well as utilizing co-processors as GPUs. This thesis describes the work done to optimize and parallelize a prototype of a central data analysis tool within the high energy physics community. The work consists of optimizations for multicore processors, GPUs, as well as a mechanism to balance the load between both CPUs and GPUs with the aim to fully exploit the power of modern commodity computers. We explore the OpenCL standard thoroughly and we give an overview of its limitations when used in a large real-world software package. We reach a single-core speedup of ~ 7.8x compared to the original implementation of the toolkit for the physical model we use throughout this thesis. On top of that follows an increase of ~ 3.6x with 4 threads on a commodity Intel processor, as well as almost perfect scalability on NUMA systems when thread affinity is applied. GPUs give varying speedups depending on the complexity of the physics model used. With our model, price-comparable GPUs give a speedup of ~ 2.5x compared to a modern Intel CPU utilizing 8 SMT threads. The balancing mechanism is based on real timings of each device and works optimally for large workloads when the API calls to the OpenCL implementation impose a small overhead and when computation timings are accurate.
No votes yet.
Please wait...

* * *

* * *

HGPU group © 2010-2017 hgpu.org

All rights belong to the respective authors

Contact us: