Faster Fluid Dynamics in CUDA via Multigrid

Faster Fluid Dynamics in CUDA

Variations of the Navier-Stokes equations are ubiquitious in many domains in scientific computing.
Chapter 38. Fast Fluid Dynamics Simulation on the GPU in GPU Germs
is concerned with solving these equations efficiently on the GPU.

There, the numerical version of Poisson’s equation involves solving a massive but sparse linear system,

In GPU Germs this system is solved with Jacobi iterations. These work well for many applications but might converge slowly,
especially for large matrices. In GPU Germs it is mentioned in passing, that multigrid schemes are a possible way to solve such matrices
more efficiently.

It took me some time to understand the concepts but I now have a working GPU accelerated multigrid formulation for the Poisson problem. In some situations, this has
accelerated my simulations at times more than twofold. In order to help you avoid making the same mistakes that I did, I published my notes and source code on

For now, I continuously update these notes and rectify errors and more.

I hope to help somebody with this!


What is GPU Germs?

Germs → Gems. As per OP’s first link.

Indeed and thanks for writing out the intended meaning rs277.

I’ll leave the original post unedited but it is GPU Gems and not GPU Germs.