Finally I can “SLI” AMD+Intel+Nvidia GPUs at home! I simulated this crow in flight at 680M grid cells in 36GB VRAM, pooled together from

AMD Radeon RX 7700 XT 12GB (RDNA3) Intel Arc B580 12GB (Battlemage) Nvidia Titan Xp 12GB (Pascal)

My FluidX3D CFD software can pool the VRAM of any combination of any GPUs together, as long as VRAM capacity and bandwidth are similar. The black magic that makes this possible is OpenCL. All GPUs show up as OpenCL devices, and FluidX3D can split the simulation box into multiple domains, each simulated and rendered by one of the GPUs.

The simulaton box with 1452×968×484 = 680M grid cells resolution (36GB VRAM occupation) is split into 3 domains of 484×968×484 = 227M cells, each running in 12GB on one of the GPUs. 45705 discrete time steps were computed, equivalent to 0.5 seconds flight in real time. Flight velocity was set to 20 km/h. Runtime was 3 hours total, consisting of 2 hour for the LBM simulation and 1 hour for rendering.

This demonstrates that heterogenious GPGPU compute is actually very practical. FluidX3D users can run the hardware they already have, and freely expand with any other hardware that is best value at the time, rather than being vendor-locked and having to buy more expensive GPUs that bring less value.

FluidX3D is free on GitHub: https://github.com/ProjectPhysX/FluidX3D

The crow model geometry is from Michael Price on Thingiverse: https://www.thingiverse.com/thing:5138469/files


💬 Discussion r/pcmasterrace (294 points, 34 commentaires) 🔗 Source