Mistika Ultima permits to use a second NVidia GPU for these purposes:
- Background rendering
- BatchRender (processing render jobs in the render queues)
- Playback cache processing (a particular case of the BatchRender)
- Totem rendering (rendering the same clip with both GPUs at the same time, effectively agregating their performance)
- Mistika Copilot ( creating a second Mistika seat using on the second GPU). Requires Mistika Ultima v8.7 or later.
SGO will only offer support services for multi GPU configurations provided by SGO.
Said that, these are the configurations that we have tested:
- z820, z840, and Z8 workstations, with at least 1.250 Watt PSU. .
- GPUs: They need to be NVidia, other brands will not work. In general it is possible to mix any 2 GPUs of the NVidia Kepler, Maxwell, and Pascal series But they need to share the same NVidia driver, so first thing check that both units can work with the latest driver.
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, as 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 the same render, 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)
Configuration changes and troubleshooting:
The NVidia hardware autodetection (GPU and monitor model) only works 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 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))
Mistika Copilot seat and improved desktop behaviour:
The "Mistika Copilot" is a new feature in Mistika 8.7, it provides the following advantages to the standard multi GPU mode:
- It permits to add a second dedicated desktop (with dedicated monitor, and a dedicated USB hub for keyboard and mouse) for running a second Mistika session in the second GPU. Once it is configured, you can use a physical monitor for working with the second GPU, or you can use a remote session to the second Desktop without interfering with the main seat.
- It will also improve the Desktop behaviour by creating a fully independent X session for each GPU. For this reason it makes sense to activate Copilot mode even if you do not plan to use a second seat. This mode will also solve some limitations of the traditional multi GPU configurations that were sharing the same X session:
* Slow refresh of the main Desktop when the 2nd GPU is doing heavy rendering. The Copilot function will make them totally independent, and the interactivity of the main session will not be affected in any way due to heavy load of the 2nd GPU.
* Desktop hotkey interferences ( Ctrl + Funcion Key requiring manual focus before invoking it). Works fine with the Copilot function.
* Better behaviour of the background render progress window
Mistika Copilot Installation
Mistika Copilot requires CentOS 7.4 operating system. It is not supported on Suse11 systems. It also requires Mistika 8.7 version from August 2018 or later.
Note: This procedure have to be done by a system administrator with linux knowledge (in case that something goes wrong and the system does not restart in graphics mode )
1 - The above instructions for installing a MultiGPU system are not enough for "Mistika Copilot" activation, but are an important requisite BEFORE actvating it.
If you plan to use a physical monitor make sure to have the copilot monitor already connected to the second GPU. If it was not connected and you are in multiGPU mode then deactivate the multiGPU mode, connect the monitor, and follow the above procedure for MultiGPU Installation.
Then test the system, and do not continue to next point until you have tested that the 2nd GPU is fully working for background rendering and that the system is booting correctly and stable in a standard multiGPU setup. Otherwise it will complicate diagnostics and make difficult to revert changes.
3 - Then, when the 2nd GPU behaviour is fully tested activate the Copilot seat in mConfig: mConfig->MultiGPU->Use Copilot and follow instructions.
4 - It is worth it to remind that the NVidia hardware autodetection (GPU and monitor model) is very limited for multi 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 need to follow this procedure:
- First deactivate the mConfig->multiGPU->UseCopilot
- Then deactivate mConfig->MultiGPU
- Now do the hardware changes
- Then boot and reactivate multGPU again.
- Test the new hardware and finally activate Use Copilot again
If you do hardware changes without following that order the system may fail to boot in graphics mode (in that case see the Troubleshooting section).
5 - Test that both the main account and the Copilot account (if any) are working as expected.
When the system is power on, first the main seat will appear normally on its GUI monitors. But the second seat may take an extra minute or so. Also, the Copilot seat requires that the Mistika license is working (it does not require a special license, just that the first seat is already working. This is because the second display manager is created by Mistika software (the operating system itself only supports one display manager)
Please note that even if the two GPUs will not interfere between them some other resources are still shared between both GPUS, including the RAM, CPUs, and the storage devices. If the performance when using both GPUs is not as expected then you will need to check which of those parts have become a bottleneck. An easy way to check it is to open the ksysguard system monitor ( available in Edit->Extras panel ) to see if the CPUs or RAM are being used to near full capacity. If neither the CPUs and RAM are running close to their limits then check that the storage device can deal with the total bandwidth requested by all processes.
Copilot usage an account maintenance
The Copilot acount is designed for collaborative workflows, and it shares the same permissions as the main account. They are effectively the same user, even if they have separate home folders.
The Mistika software is only installed and maintained in the main account. The Copilot account uses links to the same software folders, although it has its own configuration files. All files created by any of the two seats will have the same permissions for both. This simplifies collaboration and maintenance a lot, but there needs to be a trust relation between both users. In a Copilot setup no permission restrictions can be differentiated between both seats.
For these reasons, when opening mConfig the Copilot will only see a restricted set of settings ith only the ones that he can change separately for him. For example he is permitted logical things like selecting a different preset or to work on its own project, but he can not do things like installing new versions or switching between them, nor any other things that could affect the main seat. The mConfig tool only permits the main seat to change global characteristics affecting both accounts
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))