# Rendering on multiple GPUs?

**URL:** https://discourse.vtk.org/t/rendering-on-multiple-gpus/837
**Category:** Development
**Created:** [April 24, 2019, 4:12pm UTC](https://discourse.vtk.org/t/rendering-on-multiple-gpus/837 "2019-04-24T16:12:21Z")
**Posts on this page:** 4
**Page:** 1

<div class="post-metadata">

### Author: ![wokadeh](https://discourse.vtk.org/user_avatar/discourse.vtk.org/wokadeh/32/341_2.png) [@wokadeh](https://discourse.vtk.org/u/wokadeh)
#### Post date: [April 24, 2019, 4:12pm UTC](https://discourse.vtk.org/t/rendering-on-multiple-gpus/837/1 "2019-04-24T16:12:21Z")

</div>

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

---

<div class="post-metadata">

### Author: ![wokadeh](https://discourse.vtk.org/user_avatar/discourse.vtk.org/wokadeh/32/341_2.png) [@wokadeh](https://discourse.vtk.org/u/wokadeh)
#### Post date: [April 24, 2019, 4:30pm UTC](https://discourse.vtk.org/t/rendering-on-multiple-gpus/837/2 "2019-04-24T16:30:15Z")

</div>

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…

---

<div class="post-metadata">

### Author: ![Ennio\_Bolondi](https://discourse.vtk.org/user_avatar/discourse.vtk.org/ennio_bolondi/32/2098_2.png) [@Ennio\_Bolondi](https://discourse.vtk.org/u/Ennio_Bolondi)
#### Post date: [September 15, 2020, 4:01pm UTC](https://discourse.vtk.org/t/rendering-on-multiple-gpus/837/3 "2020-09-15T16:01:45Z")

</div>

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

---

<div class="post-metadata">

### Author: ![jaswantp](https://discourse.vtk.org/user_avatar/discourse.vtk.org/jaswantp/32/10046_2.png) [@jaswantp](https://discourse.vtk.org/u/jaswantp)
#### Post date: [October 16, 2020, 3:18am UTC](https://discourse.vtk.org/t/rendering-on-multiple-gpus/837/4 "2020-10-16T03:18:37Z")

</div>

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](https://arstechnica.com/gadgets/2018/03/vulkan-1-1-adds-multi-gpu-directx-compatibility-as-khronos-looks-to-the-future/) 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](https://discourse.vtk.org/t/vulkan-development/3307/2)
