GPU

Dyverso

I can’t see any improvements in performance when I enable the GPU with Dyverso. Why?

RealFlow’s Dyverso solver is highly optimized for CPU multi-core and many-core processors. Some GPUs on the other hand, do not have enough computational power to outperform a 8 or 12 core processor - which is common hardware today. For this reason a GPU-based simulation can be slower than a pure CPU-based simulation.

Which GPU do you recommend for improving performance with Dyverso?

We have observed that the number of GPU cores makes the difference. As a simple rule we can say: the more GPU cores, the better. A simulation with a Nvidia Quadro K6000 (2880 cores) is about 3x faster than an Intel Core i7-3930K, for example.

Nvidia's GTX 9 and 10 series, or comparable AMD cards, offer a very good price-value ratio and these boards are perfectly suited for Dyverso simulations. The actual speed boost depends on your hardware.

In some Dyverso scenes I observe an increased simulation speed with the GPU enabled, but others don’t perform better. Why?

Only the fluid solver is GPU-accelerated, but some processes, e.g. fluid-object collision, are entirely calculated by the CPU. In scenes with many collision objects and other, computationally expensive elements, you might not see a boost in performance by enabling the GPU. These limitations will be removed in future versions of RealFlow where the simulation pipeline will be executed entirely on the GPU.

Typcial cases with limited GPU-capabilities are simulations with the "Ocean Force", "Sheeter", and "Crown" daemons.

My simulation is slower with the GPU enabled. What happens there?

This is a typical effect when GPUs are not supported or when the GPU is slower than the CPU.

I have several GPUs installed. Is Dyverso able to use them all?

No, unfortunately not and currently only one GPU can be used for simulations.

Are you planning to support multiple GPUs?

Yes, Dyverso support for multi-GPU systems is on our roadmap.

Hybrido

I can’t see any improvements in performance when I enable the GPU with Hybrido. Why?

The real influence of the GPU can be seen where Hybrido particles are involved: simulations with a high number of particles (compared to the number of cells) will normally perform better. The creation of the fluid’s distance field or displacement is entirely simulated by the CPU. This also applies to the generation of Hybrido secondary fluids (splash, foam, bubbles).

Which GPU do you recommend for improving performance with Hybrido?

The influence of the GPU on Hybrido is comparable to an additional (single-core) CPU. Therefore it hardly makes any difference whether you are using a high-end board or a mid-range graphic card. Hybrido on the GPU can be considered an experimental technique.

In some Hybrido scenes I observe an increased simulation speed with the GPU enabled, but others don’t perform better. Why?

Only the fluid solver is GPU-accelerated, but some processes, e.g. fluid-object collision, or Hybrido secondary fluids (splashes, foam, etc.) are entirely calculated by the CPU. In scenes with many collision objects and other, computationally expensive elements, you probably won't see any effect with the GPU enabled.

My simulation is slower with the GPU enabled. What happens there?

This is a typical effect when GPUs are not supported or when the GPU is slower than the CPU.

I have several GPUs installed. Is Hybrido able to use them all?

No, unfortunately not and currently only one GPU can be used for simulations.

Are you planning to support multiple GPUs?

Not with Hybrido, but for Dyverso it is on our roadmap.

Standard Particles, Caronte Body Dynamics, RealWave

These simulation engines are not GPU-accelerated.