The simulation of incompressible fluids including water, smoke, or fire is
widely used in various contents such as
TV commercials, feature films, virtual reality, and video games.
As time goes on, requests of an audience on the high-quality VFX have
increased, and accordingly the necessity of developing
a fast high-resolution fluid simulation method has also increased.
One of most time-demanding procedures
in the process of an incompressible fluid simulation is the projection,
which enforces zero-divergence of the velocity field
and helps to keep the original volume of fluids.
In this paper, we introduce the hybrid parallel multigrid Poisson solver
which makes full use of parallel processing on a CPU and a GPU.
First, we describe our parallelization strategy,
in which the CPU and the GPU handle
the procedures of fine grids and the coarsest grid, respectively.
This structure reflects characteristics of two processing units.
Modern CPU can directly access the main memory
which has enough space to accommodate data of high-resolution fine grids.
Whereas the GPU can accurately solve
the Poisson equation on the coarsest grid level
with thousands of cores in a short time.
Though this structure of parallelization takes advantage of both processing units,
the CPU or the GPU is idle when the other processing unit is main.
To resolve this inefficiency, we introduce the novel multigrid cycle,
which we call the {\em inverted A-cycle ($\forall$-cycle)}.
For V-cycle, each procedure depends on the result of previous procedure,
thus concurrent computation of more than one procedure is impossible.
To make the best use of the idle time on the CPU,
we decompose the residual field,
which is proportional to the difference between the current estimate and the solution,
to the high-frequency and the low-frequency components,
and then additional smoothing conducts on the high-frequency component on the CPU.
The experiments conducted on the simulation of sm...