Filtern
Dokumenttyp
- Bachelorarbeit (1)
- Masterarbeit (1)
Volltext vorhanden
- ja (2) (entfernen)
Schlagworte
- Astrophysik (1)
- Fluidsimulation (1)
- GPGPU (1)
- GPU (1)
- IceCube (1)
- Neutino (1)
- Sterne (1)
- performance optimization (1)
- warp divergence (1)
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.
In dieser Bachelorarbeit wird ein Simulationscode für astrophysikalische
Simulationen von Fluiden unter dem Einfluss ihrer eigenen
Gravitation entwickelt. Der Code wird hauptsächlich von der GPU
ausgeführt. Leichte Vereinfachungen der physikalischen Modelle und
einige Parameter zum Steuern von Genauigkeit und Rechenaufwand
ermöglichen das Simulieren mit interaktiver Bildwiederholrate auf den
meisten handelsüblichen, modernen Computern mit einer dedizierten
Grafikkarte. Der Simulationscode wird verwendet, um die Entstehung
von Sternen aus einer Gaswolke zu simulieren. Einige Merkmale der
Sternentstehung, wie zum Beispiel Akkretionsscheiben und Fragmentierung,
lassen sich selbst bei niedrigen Partikelzahlen beobachten.