Should you choose Arnold GPU vs CPU?
Arnold users may ask themselves if should they choose Arnold GPU vs CPU rendering. Which is better? VFXRendering will help you to select the right one.
Table of Contents
Arnold GPU vs CPU – What is the difference?
Since Arnold 6, users have been able to use Arnold rendering on both CPU and GPU.
Arnold GPU
From look development to final frame rendering, Arnold GPU simplifies how you create and iterate content, giving you the speed and flexibility to keep up with tight production deadlines and scale rendering capacity as needed.
It is based on NVIDIA’s OptiX framework and optimized to take advantage of NVIDIA RTX technology. Performance will increase with more GPUs, and you can link more GPUs with the same architecture to share memory by using a bridge – NVLink.
In addition, Arnold GPU is available in all supported plug-ins for Autodesk Maya, Autodesk 3ds Max, Houdini, Cinema 4D, and Katana.
Image Source: arnoldrenderer.com
Arnold GPU vs CPU
The developers made it easy to toggle between CPU and GPU rendering, keeping the same settings with a single click. However, there are still some limitations to rendering with Arnold GPU. Let’s see the list of limitations below:
Drivers | cryptomatte_manifest_driver, driver_deepexr |
Filters | All filters (except blackman_harris_filter, box_filter, gaussian_filter, triangle_filter, closest_filter) |
Shaders | clip_geo, cryptomatte, float_to_matrix, matrix_interpolate, matrix_transform, motion_vector, toon, trace_set |
Shapes | cone, cylinder, disk, implicit, volume_implicit |
AOVs | Pref, motionvector, shadow_matte, volume_Z, volume_albedo, volume_indirect, volume_opacity |
Custom plugins | BSDF, Camera, Filter, Shader |
Other | Mipmap bias is not supported. Light linking is not supported on volumes. Trace sets are not supported. Noice is not supported |
Check out the fully supported features and limitations.
Should you choose Arnold GPU vs CPU?
Starting as a production-proven CPU renderer, Arnold aims to deliver 1:1 results on the GPU as well. Arnold GPU is definitely faster than CPU. Yet GPU renders still can not compare to CPU renders in some extent.
GPU renders are still noisier than CPU renders with the same settings. The reason for this is that GPU renders are “non-splitting” (one path per camera/AA sample). As a result, the AA sample count needs to be higher in GPU renderings in order to get the same noise.
Secondly, in terms of OpenVDB, the GPU renderer is feature-complete and matches the CPU renderer visually pretty well. As the step-size parameter is decreased, the match with the CPU will get better and better.
For volume displacement, the match with the CPU will get better and better as the step-size parameter is lowered.
Image Source: arnoldrenderer.com
Select Arnold CPU or GPU render device
You easily switch between GPU and CPU render devices with a single click. In the Arnold plugins, go to Render Settings > System to find the Render Device setting.
Moreover, you could use CUDA_VISIBLE_DEVICES (environment variable) to modify which GPUs Arnold can see.
Matching Noise on Arnold GPU vs CPU
Arnold GPU uses Camera (AA) sampling only so it’s better to use Adaptive rendering. Below are a few recommendations:
- Set the Max. Camera (AA) from 30 to 50 range (you might go closer to 100 depending on the scene). The maximum samples should typically be a high value. A big maximum sample indicates that the quality is regulated by the noise falling under the threshold, instead of by clamping to the maximum AA.
- Set the Adaptive Threshold to a value such as 0.015 or 0.02. Lower the threshold value for a render to be noise-free, maybe even to 0.010.
- Set the Camera (AA) samples to about 3 or 4. Motion blur is one of the few reasons we should go higher with AA. The speedup you will achieve from adaptive sampling decreases as the number of Camera (AA) samples increases.
Conclusion
Overall, Arnold GPU is fast and feature-rich. It is designed to catch up with CPU render results. Regarding the questions should you use Arnold GPU vs CPU, I think why not both? Arnold is such a versatile render engine. You can always design in GPU (for look dev or lighting), then switch to CPU mode for the final rendering.
See more:
No comments