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.


Supported configurations


 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. 



MultiGPU Installation


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.   


MultiGPU Usage


- 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. 


During the installation process you will be asked if  you want to assign a physical USB hub for the second  seat.  If you choose to do so, from that point everything that is connected to the Copilot USB hub will be exclusively  available to the Copilot seat.  All other devices will be exclusively available to the main seat.  (Please note that if you deactivate Copilot at some point then you should disconnect that hub, as it that case  then it will become active for the main seat)



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  



Troubleshooting:


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))