Accelerating IISPH: A Parallel GPGPU Solution Using CUDA
2015 (Engelska) Självständigt arbete på avancerad nivå (masterexamen), 20 poäng / 30 hp
Studentuppsats (Examensarbete)
Abstract [en]
Context. Simulating realistic fluid behavior in incompressible fluids for computer graphics has been pioneered with the implicit incompressible smoothed particle hydrodynamics (IISPH) solver. The algorithm converges faster than other incompressible SPH-solvers, but real-time performance (in the perspective of video games, 30 frames per second) is still an issue when the particle count increases.
Objectives. This thesis aims at improving the performance of the IISPH-solver by proposing a parallel solution that runs on the GPU using CUDA. The solution should not compromise the physical accuracy of the original solution. Investigated aspects are execution time, memory usage and physical accuracy.
Methods. The proposed implementation uses a fine-grained approach where each particle is calculated on a separate thread. It is compared to a sequential and a parallel OpenMP implementation running on the CPU.
Results and Conclusions. It is shown that the parallel CUDA solution allow for real-time performance for approximately 19 times the amount of particles than that of the sequential implementation. For approximately 175 000 particles the simulation runs at the constraint of real-time performance, more particles are still considered interactive. The visual result of the proposed implementation deviated slightly from the ones on the CPU.
Ort, förlag, år, upplaga, sidor 2015. , s. 47
Nyckelord [en]
implicit incompressible smoothed particle hydrodynamics, fluid simulation, real-time, GPGPU
Nationell ämneskategori
Datavetenskap (datalogi)
Identifikatorer URN: urn:nbn:se:bth-10429 OAI: oai:DiVA.org:bth-10429 DiVA, id: diva2:840395
Ämne / kurs DV2524 Examensarbete i Datavetenskap för civilingenjörer
Utbildningsprogram PAACI Civilingenjör i spel- och programvaruteknik
Handledare
Examinatorer
2015-08-052015-07-082025-09-30 Bibliografiskt granskad