Mistika Ultima permits to use a second NVidia GPU for these purposes:
- Background rendering (sending a render job to the second GPU, while you continue working in the main GPU)
- BatchRender (it can launch two render jobs at the same time in a same render node, one per GPU)
- Playback cache processing (a particular case of the BatchRender, to just render a cache file for the selected effect ( for the current segment under the monitor bar)
- Totem rendering (rendering the same clip with both GPUs at the same time, effectively aggregating their performance)
Multi GPU is only supported on linux.
SGO will only offer support services for multi GPU configurations provided by SGO.
Said that, these are the configurations that we have tested:
- Hp z820, z840, and Z8 workstations, with at least 1.250 Watt PSU. Additionally, Hp Z4 dual GPU with optional 1000watt PSU can be used as a dedicated render node.
- GPUs: They need to be NVidia, other brands will not work for this. In general it is possible to mix any 2 GPUs of the NVidia Kepler, Maxwell, Pascal, and RTX series But they need to share the same NVidia driver, so first thing check that both units can work with the latest driver.
Note: Using two GPUs can effectively double the render speed in many cases, but this is only true if the storage speed is also capable to go double faster. And in some cases the CPUs and RAM memory may also be exhausted. It depends on each specific job, some projects will render faster, some others projects will not get any advantage, and some others may be slower or even crash when launching two render processes in parallel due to the lack of resources or due to third party libraries not supporting this situation.
1 - Make sure that both GPUs can work with the same driver, as only one NVidia driver can be installed. For this reason you can not mix very modern GPUs with very old GPUs that are alrady discontinued by NVidia, as no driver version will be able to handle both GPUs.
First install the NVidia driver required for the most modern of your GPUs. If the second GPU is more modern than the existing one it will not work with your previous driver, so you should do the driver upgrade before installing the GPU board. Otherwise the system may fail to boot in graphics mode.
2 - Install the 2nd GPU. Please note that it will probably need a power cable for it. And also check that the Power supply has enough watts for all the boards in the system. Please note that countries with 125V current have reduced effective wattage compared with 220V current. If max power is exceed the system may auto-switch off or reset randomly, or it can even fail to go into graphics mode.
3 - Boot the system and open mConfig. It will offfer to activate the multiGPU setting, which will do the following:
- It will create a special /etc/X11/xorg.conf supporting the two GPUs, plus adding a virtual display for the second one. (a reboot will be needed to take effect)
- It will create a second totem render node in the local system. (You can also do it manually in the totem tab)
- It will modify the mistika launcher (MISTIKA-ENV/bin/mistika) to redirect render jobs to the second GPU when mistika is open, or to alternative between the two if it is closed.
- By default (no user action required), if Mistika is opened it will render all the background jobs in the second GPU. While the foreground render will still use the main GPU.
- All external render jobs started with "mistika -r " command line are considered background renders and follow the above rule. This means that the BatchManager will only use the second GPU while Mistika is open, while the first one is reserved for the interactive session. This is also true for the playback cache renders in BatchManager mode.
- When Mistika is closed, the main GPU is prioritized for launching the next render job. The second GPU can be also used when the main one is busy ( to do that, just declare two render nodes for the same system ).
- To use both GPUs at the same time for rendering a same clip, select mistika .js as the render format and activate the Totem button in the render panel. (also make sure that mConfig->Totem is activated and that it has one render node defined for each GPU). You can find more details about Totem in this link.
- Since version 8.11.1 you can do the same with BatchManager by going to the BatchManagerGUI->Nodes manager and adding two nodes for the same computer, one per GPU, so this node receives two jobs at the same time. But make sure to start BatchManager using the BatchManagerGUI, not a command line (among other things, the BatchManagerGUI manage this situation by launching two BatchManager processes in the same console).
Configuration changes and troubleshooting:
The NVidia hardware autodetection (GPU and monitor model) only works on single GPU configurations. If you want to reconnect a monitor to another port, or to connect a different monitor model, or to make any change to the GPU slots, then you should first deactivate the mConfig->MultiGPU , then power off and do the hardware change, and then boot and reactivate multGPU again. Otherwise the system may fail to boot in graphics mode.
If you get into a point where the system is not booting into graphics mode anymore (as per the above example), then you will need to use the text mode to delete the /etc/X11/xorg.conf file and restore the original one. ( you can find how to use the text mode for doing it in this document , (search for this point on it: Problem: The system start booting but it goes into text mode, there is no graphics login ( it can not start X))
If you get into a point where the system is not booting into graphics mode anymore, then follow this document to fix it (in the document search for this point and follow it: Problem: The system start booting but it goes into text mode, there is no graphics login ( it can not start X))