High-performance particle simulation using CUDA
Independent thesis Advanced level (degree of Master (Two Years)), 20 credits / 30 HE creditsStudent thesis
Over the past 15 years, modern PC graphics cards (GPUs) have changed from being pure graphics accelerators into parallel computing platforms.Several new parallel programming languages have emerged, including NVIDIA's parallel programming language for GPUs (CUDA).
This report explores two related problems in parallel: How well-suited is CUDA for implementing algorithms that utilize non-trivial data structures?And, how does one develop a complex algorithm that uses a CUDA system efficiently?
A guide for how to implement complex algorithms in CUDA is presented. Simulation of a dense 2D particle system is chosen as the problem domain foralgorithm optimization. Two algorithmic optimization strategies are presented which reduce the computational workload when simulating theparticle system. The strategies can either be used independently, or combined for slightly improved results. Finally, the resultingimplementations are benchmarked against a simpler implementation on a normal PC processor (CPU) as well as a simpler GPU-algorithm.
A simple GPU solution is shown to run at least 10 times faster than a simple CPU solution. An improved GPU solution can thenyield another 10 times speed-up, while sacrificing some accuracy.
Place, publisher, year, edition, pages
2015. , 36 p.
CUDA, parallel computing, particle simulation, GPU
IdentifiersURN: urn:nbn:se:liu:diva-118776ISRN: LiTH-ISY-EX--15/4867--SEOAI: oai:DiVA.org:liu-118776DiVA: diva2:816727
Subject / course
2015-05-28, Filtret, Linköping University, B-building, Linköping, Sweden, 22:05 (English)
Strzodka, Robert, Dr
Ragnemalm, Ingemar, Dr