Rendering on multiple GPUs?

Dear community,

I haven’t started with VTK yet and I am exploring its advantages. My current question is if it possible to render on multiple GPUs. I have a workstation with two nVidia GPUs and want to use its full power. So, is it possible to do rendering with the support of syncing the render operations to be calculated on both graphics cards for a higher performance?

Thank you in advance
Wokadeh

Okay, one answer by myself already: technically it is possible to synchronize multiple nvidia cards with a hardware component called NVLINK-bridge.

However, it would still be interesting it is possible from VTK side…

Hi Wokadeh,
that was a relevant question.
I know this an old thread, but did you find out if is possible to use two GPUs inside VTK?

Thanks
Ennio

Hi.

This is interesting but it doesn’t look like VTK offers explicit control over dual/multi GPU support. Underneath, VTK makes glDrawxxx calls and writes frame buffer objects. This approach is common in almost every library/game/program that renders with an OpenGL graphics context. The OpenGL drivers are known to detect an SLI/Crossfire configuration and dispatch rendering calls to all GPUs efficiently. This doesn’t really give VTK any control whatsoever on the choice of GPUs.

So, now it’s pretty obvious why VTK cannot offer explicit support. Although this support is found in modern AAA titles. The VTK graphics pipeline must be changed to Vulkan or DirectX12. See here for details.This is quite a daunting feat! Much of the PolyDataMapper, Actor, Camera, Renderer, RenderWindow source codes will have to be designed and developed in Vulkan.

Well, looks like theres development in that direction https://discourse.vtk.org/t/vulkan-development/3307/2