Performance analysis and optimization of highly diverging algorithms on GPUs
Universität Koblenz-Landau
Universität Koblenz-Landau, 2021
@article{schwanekamp2021performance,
title={Performance analysis and optimization of highly diverging algorithms on GPUs},
author={Schwanekamp, Hendrik},
year={2021}
}
In this thesis, the performance of the IceCube projects photon propagation code (clsim) is optimized. The process of GPU code analysis and performance optimization is described in detail. When run on the same hardware, the new version achieves a speedup of about 3x over the original implementation. Comparing the unmodified code on hardware currently used by IceCube (NVIDIA GTX 1080) against the optimized version run on a recent GPU (NVIDIA A100) a speedup of about 9.23x is observed. All changes made to the code are shown and their performance impact as well as the implications for simulation accuracy are discussed individually. The approach taken for optimization is then generalized into a recipe. Programmers can use it as a guide, when approaching large and complex GPU programs. In addition, the per warp job-queue, a design pattern used for load balancing among threads in a CUDA thread block, is discussed in detail.
May 2, 2021 by hgpu