• search hit 1 of 2
Back to Result List

Performance analysis and optimization of highly diverging algorithms on GPUs

  • In this thesis, the performance of the IceCube projects photon propagation code (clsim) is optimized. The process of GPU code analysis and perfor- mance optimization is described in detail. When run on the same hard- ware, 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.
  • In dieser Arbeit wird die Geschwindigkeit des Simulationscodes zur Pho- tonenausbreitung beim IceCube-Projekt (clsim) optimiert. Der Prozess der GPU-Code-Analyse und Leistungsoptimierung wird im Detail beschrie- ben. Wenn beide Codes auf der gleichen Hardware ausgeführt werden, wird ein Speedup von etwa 3x gegenüber der ursprünglichen Implemen- tierung erreicht. Vergleicht man den unveränderten Code auf der derzeit von IceCube verwendeten Hardware (NVIDIA GTX 1080) mit der opti- mierten Version, die auf einer aktuellen GPU (NVIDIA A100) läuft, wird ein Speedup von etwa 9,23x beobachtet. Alle Änderungen am Code wer- den vorgestellt und deren Auswirkung auf die Laufzeit und Genauigkeit der Simulation diskutiert. Der für die Optimierung verfolgte Weg wird dann in einem Schema verallgemeinert. Programmierer können es als Leitfaden nutzen, um große und komplexe GPU-Programme zu optimieren. Darüber hinaus wird die per warp job-queue, ein Entwurfsmuster für das load balancing innerhalb eines CUDA-Thread-Blocks, im Detail besprochen.

Download full text files

Export metadata

Metadaten
Author:Hendrik Schwanekamp
URN:urn:nbn:de:kola-21617
Advisor:Stefan Müller, Peter Messmer
Document Type:Master's Thesis
Language:English
Date of completion:2021/02/23
Date of publication:2021/04/21
Publishing institution:Universität Koblenz, Universitätsbibliothek
Granting institution:Universität Koblenz, Fachbereich 4
Date of final exam:2021/03/18
Release Date:2021/04/21
Tag:GPU; IceCube; Neutino; performance optimization; warp divergence
Number of pages:v, 48
Institutes:Fachbereich 4 / Institut für Computervisualistik
Dewey Decimal Classification:0 Informatik, Informationswissenschaft, allgemeine Werke / 00 Informatik, Wissen, Systeme / 005 Computerprogrammierung, Programme, Daten
Licence (German):License LogoEs gilt das deutsche Urheberrecht: § 53 UrhG