Best practice multi GPU

I know was already ask in the past i found some old post, but since tecnology change quickly i prefer to ask again.
I have an installation with four full hd projector running over a quadro p4000, we need an extra output for the UI, i know we can use some dual head or datapath but this solution is either less reliable or more expensive than add an extra p1000 to drive only the ui, is this solition reliable, wich kind of performance loss i could expect?

I think for quadro sync to work correctly you can’t mix and match GPUs:

Multiple GPUs on a Single System

This is the most simple setup which will synchronize the output of multiple GPUs and displays on a single computer.

There are some restrictions to consider when setting a system up for sync

  • All displays connected must run on the same EDID. The simplest way to do this is ensure they are the same type, manufacturer, and model.
  • All synced graphics cards must be the same (for example you can not mix and match a Quadro K5000 with a K6000)

If you are gonna run a set-up like this, there’s a healthy bit of refactoring you might be in for. The idea here is to run two instances of TouchDesigner - each set with affinity to bind to a specific GPU. So you’ll need to set-up a control schema so the UI instance can talk to the Output instance. There are lots of approaches to explore here, but if you’re UI is deeply connected to your network you’ll need to spend some time decoupling them so they can run in two different instances.

If your project has more time than budget, you might look at this style of approach - if you have more budget than time, then a dataPathFX4 would be the easiest way to go. Using a single 4k output to organize your projector feeds and drive your UI from the same GPU. This reduces the number of changes to your project. I’ve had good luck with DataPath products, and prefer them over the Matrox equivalents.

There’s a good thread here about other alternatives you might consider as well:

1 Like

Another option might also be to run the UI on a seperate controller UI and use something like RabbitControl and NDI or building an UI using the/a webserver. This gives you the benefit of being scalable and, if running viy a webserver, being inidpendant of having to be on the engine mashine.

1 Like

Hi Matthew thanks,
I didn’t understand if using differrent gpu model is not possible at all or if is possible by decoupling the UI, that is not a big deal for us since we always keep the UI decoupled from the generation, i think that this is good practice and help to keep the project clean and understable.

@alphamoonbase, thanks,
That was the first idea to use NDI but we have think that in case of problem in net u will need to disconnect projector to connect the desktop monitor and that is not so handly in a rack installation