6

When you render on CUDA (OptiX) for the first time, it displays the message "Loading render kernels." But what does that mean? Does it use the internet to retrieve some "kernels" from Nvidia servers? I have already installed the drivers and CUDA toolkit. If there is no internet access, will it not run on the GPU? What are these "kernels," and where are they located on the hard drive?

Harry McKenzie
  • 10,995
  • 8
  • 23
  • 51
Crantisz
  • 35,244
  • 2
  • 37
  • 89

2 Answers2

8

Cycles Blender kernels are software libraries containing the computing routines necessary to produce the rendered images.

From the Blender Wiki

The kernel contains the core rendering routines, where most of the render time is spent. The code here can be compiled as a subset of C++14, CUDA and HIP. In order to support this, we must be careful to only use language features that are supported for all targets, with a few preprocessor macros to smooth over the language differences.

They are part of the Blender source code and included in the installation, not loaded from the internet nor authored by third parties like NVidia. Requiring a network connection, or loading data from the internet without explicit user permission is generally considered against Blender philosophy.

Kernels are targeted for a certain computing device architecture, like CUDA, Optix, HIP, or OneAPI and are included in its installation, you typically can find them under Blender\##\scripts\addons\cycles\lib.

I suspect the reason they need to be loaded is because they are further optimized locally by compiling for your specific device. This should only happen the first time you use them, they are then cached locally for further utilization and should no longer need any loading on subsequent uses.

Local cache for Nvidia Optix devices is likely saved under either C:\Users\<username>\AppData\Local\NVIDIA\OptixCache for Windows, or /var/tmp/OptixCache_** for Linux, much like the DirectX and OpenGL cache next to it.

Reinstalling graphics card drivers, clearing the cache, or using a different version of Cycles with different kernel version that requires recompilation generally triggers the Loading Kernels again for every first use.

See cycles stuck at loading render kernels

Duarte Farrajota Ramos
  • 59,425
  • 39
  • 130
  • 187
1

Secondary windows on secondary monitors produce endless loading render kernels in Blender.

I fix problem when close all other windows on other monitors.

Only use one main screen on one monitor - we can work fine!

Blender 3.6.2 Win10 2xRTX3060

Duarte Farrajota Ramos
  • 59,425
  • 39
  • 130
  • 187
Hottab
  • 11
  • 1