Multiple GPUs Configuration

Multiple GPUs Configuration

Multiple GPUs Configuration

In order to perform at their best, MIST and ICE requires a computer system with at least to GPUs.

In a multi-GPU setup, there will always be a primary GPU that will be used for user interface display and one or more secondary GPUs that will be used as accelerators. Please note that it is possible to mix architectures and product lines in the same setup, within some limits. The following table shows the possible setups:

Primary GPU
Secondary GPU(s)

By default all GPUs present in the system are configured both for processing and graphics (used for display), with the exception of the Tesla devices that are exclusively designed for processing.

Power management considerations

Most systems are configured for a moderate power consumption and therefore the various devices present in the system will perform to their best according to the power configuration of the system (usually set in the BIOS and operation system configuration panels).
For optimal performance, the power management features of the system must be set on the maximum of possible. Also power consumption management must be turned off in order to avoid the drivers to put the devices to sleep when not used.

GPU Role Assignment

Once the GPUs are installed in the system, their role must be defined in the Nvidia Control Panel (nvcpl). 

Primary GPU

The primary GPU (the one driving the displays connected to the system), must be excluded form the CUDA enabled devices. The reason for this is that if the primary device is not excluded, then it will also be used by the various CUDA enabled programs and the device will have to share is resources (memory and computing capabilities) between the display(s) and CUDA programs, resulting in a loss of performance (usually 50%).
Please note that the slowest GPU will always drag down the overall performance. Therefore if the primary GPU is CUDA enabled, the overall processing performance will drop

Secondary GPUs

Secondary GPUs must be set for CUDA processing only and excluded from any graphics processing.
The role assignment is defined in the Nvidia Control Panel in the Manage 3D Settings tab:

  1. click on the CUDA-GPUs dropdown list to reveal the available installed GPUs in your system:

Remember to only check the devices that are to be used for CUDA programs and exclude the primary GPU (the one that your display is connected to).  

Then in the OpenGL rendering GPU drop down list, select the primary GPU like in the following example:  

This setting is available with a Quadro card or an NVS card only.

Mixing GPU architectures

While its possible to mix architectures in the same system, it is strongly advised that the following rules must be observed, when using Quadro/GeForce configurations:
The Quadro card should be used as a Primary GPU and the GeForce card(s) should be used as Secondary GPU(s). 

Performance limiting factors

Among the various settings that affect the performance, one should consider the Vertical Synchronization (VSync). Vertical Synchronization forces the UI screen refresh to be synchronized with the display monitor refresh rate. By default modern computer monitors are set to a 60Hz or 59.94Hz refresh rate. This means that the software cannot change the contents of the screen at a different rate. This constraint is enabled or disabled by the Vertical Sync parameters in the driver settings. 

In order to allow the UI GPU to reach its maximum processing performance, the Vertical Sync must be set on Off, like shown in the screenshot below:

    • Related Articles

    • Audio echoing with Blackmagic Decklink video IO board

      When installing a new Blackmagic driver for the Blackmagic Declink Video IO board, the driver also sets by default the PC sound card on the Blackmagic. MIST and ICE outputs audio in parallel on the SDI and the PC sound card, and if both are set on ...
    • ICE 2022 User Manual

      Access online User Manual for ICE 2022: ICE_2022_UserManual.html
    • MIST 2022 User Manual

      Access online User Manual for MIST 2022: MIST_2022_UserManual.html
    • ICE 2023 User Manual

      Access online User Manual for ICE 2023: ICE_2023_UserManual.html
    • ICE API Documentation

      ICE can be used as a system command by providing parameters via the Command Line Interface (CLI). Access the API documentation here: ICE API Documentation