![]() |
Real-time Smoothed Particle Hydrodynamics-based simulation of a glass/fluid sphere. | ||||
Abstract: Smoothed Particle Hydrodynamics (SPH) is a particle-based simulation method for simulating bodies of fluid in 3D. http://en.wikipedia.org/wiki/Smoothed_particle_hydrodynamics We wrote a simple fluid-in-a-sphere SPH simulation, and created pure CPU and pure GPU-based implementations of the simulation. By taking advantage of the GPU's massive computing power, we were able to achieve a 30x speedup in the simulation and perform the simulation in real-time. The GPU-based simulation ran at an impressive 300fps on a relatively old GeForce 6800 graphics card, while the pure CPU-based implementation managed only 10fps on a Pentium 4 3Ghz machine.
Description: SPH has several advantages over grid-based fluid simulation methods, especially in the 3-dimensional realm, where grid sizes can be prohibitively large. Instead of simulating fluid flow over a large grid, one simply simulates the dynamics of a large number of particles and constructs interactions between the particles such that the particle ensemble mimics the behavior of a body of fluid. To accurately simulate large volumes however, one must simulate the dynamics of many particles simultaneously. The complexity of this task potentially scales quadratically in the number of system particles. While optimizations can be made (such as using a near-field approximation and only considering interactions between nearest neighbors), a huge speedup can be achieved by performing the simulation entirely on the GPU. Since each particle's dynamics can be simulated separately, this particular simulation method is an ideal candidate for GPU-based parallelization.
|
|||||