Accelerating IISPH: A Parallel GPGPU Solution Using CUDA
2015 (English)Independent thesis Advanced level (degree of Master (Two Years)), 20 credits / 30 HE credits
Student thesis
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.
Place, publisher, year, edition, pages
2015. , p. 47
Keywords [en]
implicit incompressible smoothed particle hydrodynamics, fluid simulation, real-time, GPGPU
National Category
Computer Sciences
Identifiers
URN: urn:nbn:se:bth-10429OAI: oai:DiVA.org:bth-10429DiVA, id: diva2:840395
Subject / course
DV2524 Degree Project in Computer Science for Engineers
Educational program
PAACI Master of Science in Game and Software Engineering
Supervisors
Examiners
2015-08-052015-07-082018-01-11Bibliographically approved