Timeout prevention
Iray Photoreal in CUDA mode uses the GPUs in a system to perform rendering. One or more GPUs are often also used to drive the main display device displaying the desktop and applications. On some operating systems CUDA kernel executions are not allowed to exceed a specific amount of time to avoid having an unresponsive user interface.
If a CUDA kernel execution exceeds this limit the operating system may interpret the call as stalled and may restart the driver. To avoid this, Iray Photoreal incorporates a mechanism to automatically adjust the task sizes of GPU function calls, i.e., the total rendering payload per step is divided into smaller fragments depending on the efficiency of the CUDA device on the given scene.