Masterarbeit
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.