Multi-GPU#

Multi-GPU mode distributes the image across the GPUs while automatically balancing the workload. Automatic Load Balancing can improve performance, particularly at high resolution and with mixed GPU models of varying capacity.

The primary GPU performs various tasks, such as: rendering pixels, sample aggregation, denoising, post processing, UI rendering. The default GPU 0 Weight value is usually ideal.

Display Name

Setting Name

Type and Default Value

Description

Multi-GPU

/rtx/pathtracing/mgpu/enabled

Bool True

Enables using multiple GPUs (when available). This splits the rendering of the image into a large tile per GPU with a small overlap region between them.

Automatic Load Balancing

/rtx/pathtracing/mgpu/autoLoadBalancing/enabled

Bool True

Automatically balances the amount of total path tracing work to be performed by each GPU in a multi-GPU configuration.

GPU (index) Weight

/rtx/pathtracing/mgpu/weightGpu(+index)

Float Auto

The amount of total Path Tracing work (between 0 and 1) to be performed by the first GPU in a Multi-GPU configuration. A value of 1 means the first GPU will perform the same amount of work assigned to any other GPU. Ignored if Automatic Load Balancing is enabled.

Compress Radiance

/rtx/pathtracing/mgpu/compressRadiance

Bool False

Enables lossy compression of per-pixel output radiance values.

Compress Albedo

/rtx/pathtracing/mgpu/compressAlbedo

Bool True

Enables lossy compression of per-pixel output albedo values (needed by OptiX denoiser).

Compress Normals

/rtx/pathtracing/mgpu/compressNormals

Bool True

Enables lossy compression of per-pixel output normal values (needed by OptiX denoiser).

Multi-Threading

/rtx/multiThreading/enabled

Bool True

Enabling multi-threading improves UI responsiveness.

Note

In simple scenes, Automatic Load Balancing may not make a significant difference, and may take more time in scenes with low frame rates.

Limitations#

Multi-GPU rendering lowers the cost of rendering more pixels and is ideal for high-resolution rendering, particularly for the RTX Interactive (Path Tracing) mode. It will not improve performance for animations, physics, etc.

For efficiency’s sake, in some contexts rendering will switch to single-GPU automatically until conditions warrant multi-GPU rendering, for example when rendering at low resolution.

Multi-GPU rendering is enabled by default if the system has multiple NVIDIA RTX-enabled GPUs of the same model.

Per-GPU memory usage is limited to 48GB.

Multi-GPU is disabled for mixed-GPU configurations. This can be overridden with a setting. Note that the GPU with the lowest memory capacity will limit the amount of memory the other GPUs can leverage.

GPUs which don’t support ray tracing are skipped automatically.

Note that LDA (SLI) configurations are only supported on DX12, not on Vulkan.

Note

A GPU information table is logged to the omniverse .log file under [gpu.foundation] listing which GPUs are set as Active. Each GPU has a device index assigned and this index can be used with the multi-GPU settings below.

Setting Name

Type and Default Value

Description

/renderer/multiGpu/enabled

Bool True

Specifies if multi-GPU is enabled, but multi-GPU is disabled if the NVIDIA RTX-enabled GPUs are not of the same model; setting this to true will enable multi-GPU anyway.

/renderer/multiGpu/activeGpus

String Auto

Enables only a subset of GPUs, specified by a comma-separated list of device indices.

/renderer/multiGpu/maxGpuCount

Int Auto

Specifies the maximum number of NVIDIA RTX-enabled GPUs. GPUs which don’t support ray tracing are skipped automatically.