- Arnold GPU is a beta feature, intended to give users an early look into what is coming and a chance to test Arnold GPU and provide feedback.
- Arnold GPU is not intended for use in production.
- Please use Arnold Answers if you have any technical problems, questions, or feedback on Arnold GPU.
Arnold 5.3 includes a beta version of GPU-accelerated rendering. This beta feature is known as "Arnold GPU". Arnold GPU is part of Arnold, so you can choose to render on the CPU or GPU, without changing renderers. Arnold GPU is based on the NVIDIA OptiX framework and is optimized to leverage NVIDIA RTX technology.
The Arnold GPU beta supports a set number of Arnold features, including arbitrary shading networks, SSS, hair, atmospherics, instancing, and procedurals. See here for a detailed list of Arnold GPU features and known limitations.
Arnold GPU works on NVIDIA GPUs of the Turing, Volta, Pascal, and Maxwell architectures. Multiple GPUs will improve performance, and NVLink can be used to connect multiple GPUs of the same architecture to share memory (On Windows, we recommend enabling SLI as well).
Recommended NVIDIA drivers:
The very first time you render with the GPU, the GPU renderer has to create a cache of shaders. This can delay the time to the first pixel for your first render.
To avoid the one-time delay, we recommend that you pre-populate the cache before you do any renders. The Arnold plugins (like MtoA) have Pre-Populate GPU Cache menu command, and kick has a -gpu_warm flag. Note that pre-populating the cache can take up to 15 minutes. The cache only needs to be re-populated after installing a new Arnold version, updating to a new NVIDIA driver, or changing the hardware configuration of GPUs on the system.
Selecting a Render Device
You can easily switch between CPU and GPU with a single click. In the Arnold plugins, you'll find a new Render Device setting in the Render Settings > System section.
Matching Noise on CPU and GPU
Matching noise can take a little experimentation because Arnold GPU uses Camera (AA) sampling only. We recommend you also use Adaptive sampling. Here are some guidelines:
- Set the Max. Camera (AA) in the range of 30 to 50 (depending on the scene, you might go closer to 100). In general, the max samples should be a large value. A large max samples means that the quality is controlled by the noise falling under the threshold, instead of by clamping to the max AA.
- Set the Adaptive Threshold to something like 0.015 or 0.02. For a noise-free render, lower the threshold value, maybe even as far as 0.010.
- Set the Camera (AA) samples to around 3 or 4. One of the few reasons to go higher with AA is for motion blur. The higher the number of Camera (AA) samples, the less of a speedup you'll get from adaptive sampling.
All textures must fit in memory. We recommend you use tiled and mip-mapped TX textures. If you're running out of memory, you can set a maximum resolution for textures in the Render Settings.