Рендеринг за допомогою графічного процесора відеокарти – GPU Rendering

GPU rendering makes it possible to use your graphics card for rendering, instead of the CPU. This can speed up rendering because modern GPUs are designed to do quite a lot of number crunching. On the other hand, they also have some limitations in rendering complex scenes, due to more limited memory, and issues with interactivity when using the same graphics card for display and rendering.

To enable GPU rendering, go into the Preferences ‣ System ‣ Cycles Render Devices, and select either CUDA, OptiX, HIP, oneAPI, or Metal. Next, you must configure each scene to use GPU rendering in Properties ‣ Render ‣ Device.

Rendering Technologies

Blender supports different technologies to render on the GPU depending on the particular GPU manufacturer and operating system.

Примітка

With all GPU rendering technologies, Відкрита Мова Відтінювання – Open Shading Language is not supported.

CUDA – NVIDIA

CUDA is supported on Windows and Linux and requires a Nvidia graphics cards with compute capability 3.0 and higher. To make sure your GPU is supported, see the list of Nvidia graphics cards with the compute capabilities and supported graphics cards.

OptiX – NVIDIA

OptiX is supported on Windows and Linux and requires a Nvidia graphics cards with compute capability 5.0 and higher and a driver version of at least 470. To make sure your GPU is supported, see the list of Nvidia graphics cards OptiX works best on RTX graphics cards with hardware ray tracing support (e.g. Turing and above).

HIP – AMD

HIP is supported on Windows and Linux and requires a AMD graphics card with the Vega, RDNA or newer architecture. Both discrete GPUs and APUs are supported.

Supported GPUs include:

  • Radeon VII

  • Radeon RX Vega Series

  • Radeon RX 5000 Series

  • Radeon RX 6000 Series

  • Radeon Pro WX 9100

  • Radeon Pro W6000 Series

Minimum driver versions:

  • Windows: Radeon Software 21.12.1 or Radeon PRO Software 21.Q4

  • Linux: Radeon Software 22.10 or ROCm 5.1

Please refer to AMD’s website for more information about AMD graphics cards and their architectures.

Примітка

The Clip extension mode in the Вузол «Текстура Зображення» – Image Texture Node is not supported.

oneAPI – Intel

oneAPI is a computation library that is supported on Windows and Linux and requires a Intel® Arc™ graphics card with the Xe HPG architecture.

Supported GPUs include:

  • Intel® Arc™ A-Series

Minimum driver versions:

  • Windows: Intel Graphics Driver 30.0.101.3430

  • Linux: OpenCL runtime 22.10.23904

Please refer to Intel’s website for more information about Intel graphics cards and their architectures.

Metal – Apple (macOS)

Metal is supported on Apple computers with Apple Silicon, AMD and Intel graphics cards. macOS 13.0 or newer is required to support all features and graphics cards.

Apple Silicon and AMD graphics cards also work on macOS 12.3 and newer, however without support for MNEE caustics.

Часто Задавані Питання – Frequently Asked Questions

Чому Blender не реагує під час рендерингу?

While a graphics card is rendering, it cannot redraw the user interface, which makes Blender unresponsive. We attempt to avoid this problem by giving back control over to the GPU as often as possible, but a completely smooth interaction cannot be guaranteed, especially on heavy scenes. This is a limitation of graphics cards for which no true solution exists, though we might be able to improve this somewhat in the future.

Якщо можливо, найкраще встановити більше, ніж одну GPU, на комп’ютер, використовуючи одну з них для показу, а іншу чи інші – для рендерингу.

Чому сцена, що рендериться на CPU, не рендериться на GPU?

There may be multiple causes, but the most common one is that there is not enough memory on your graphics card. Typically, the GPU can only use the amount of memory that is on the GPU (see Would multiple GPUs increase available memory? for more information). This is usually much smaller than the amount of system memory the CPU can access. With CUDA, OptiX, HIP and Metal devices, if the GPU memory is full Blender will automatically try to use system memory. This has a performance impact, but will usually still result in a faster render than using CPU rendering.

Чи можна використовувати одночасно кілька GPU для рендерингу?

Так, перейдіть у Preferences ‣ System ‣ Compute Device Panel та сконфігуруйте це там, як потрібно.

Чи може одночасно кілька GPU збільшити доступну пам’ять?

Typically, no, each GPU can only access its own memory, however, some GPUs can share their memory. This is can be enabled with Distributed Memory Across Devices.

What renders faster?

This varies depending on the hardware used. Different technologies also have different compute times depending on the scene tested. For the most up to date information on the performance of different devices, browse the Blender Open Data resource.

Повідомлення про Помилки – Error Messages

In case of problems, be sure to install the official graphics drivers from the GPU manufacturers website, or through the package manager on Linux.

Unsupported GNU version

On Linux, depending on your GCC version you might get this error. See the Nvidia CUDA Installation Guide for Linux for a list of supported GCC versions. There are two possible solutions to this error:

Використання альтернативного компілятора

If you have an older GCC installed that is compatible with the installed CUDA toolkit version, then you can use it instead of the default compiler. This is done by setting the CYCLES_CUDA_EXTRA_CFLAGS environment variable when starting Blender.

Запустіть Blender з командного рядка наступним чином:

CYCLES_CUDA_EXTRA_CFLAGS="-ccbin gcc-x.x" blender

(Підставте ім’я або шлях сумісного компілятора GCC).

Вилучення перевірок сумісності

If the above is unsuccessful, delete the following line in /usr/local/cuda/include/host_config.h:

#error -- unsupported GNU version! gcc x.x and up are not supported!

This will allow Cycles to successfully compile the CUDA rendering kernel the first time it attempts to use your GPU for rendering. Once the kernel is built successfully, you can launch Blender as you normally would and the CUDA kernel will still be used for rendering.

CUDA Error: Kernel compilation failed – Помилка CUDA: Збій компіляції ядра

This error may happen if you have a new Nvidia graphics card that is not yet supported by the Blender version and CUDA toolkit you have installed. In this case Blender may try to dynamically build a kernel for your graphics card and fail.

У такому випадку ви можете:

  1. Check if the latest Blender version (official or experimental builds) supports your graphics card.

  2. Якщо ви вибудовуєте Blender самостійно, то спробуйте звантажити та інсталювати найновіший Інструментарій CUDA для розробників.

Зазвичай, користувачам не потрібно інсталювати Інструментарій CUDA, оскільки Blender поставляється з попередньо компільованими ядрами.

Error: Out of memory

This usually means there is not enough memory to store the scene for use by the GPU.

Примітка

One way to reduce memory usage is by using smaller resolution textures. For example, 8k, 4k, 2k, and 1k image textures take up respectively 256MB, 64MB, 16MB and 4MB of memory.

The Nvidia OpenGL driver lost connection with the display driver – Драйвер OpenGL Nvidia втратив зв’язок з драйвером дисплею

If a GPU is used for both display and rendering, Windows has a limit on the time the GPU can do render computations. If you have a particularly heavy scene, Cycles can take up too much GPU time. Reducing Tile Size in the Performance panel may alleviate the issue, but the only real solution is to use separate graphics cards for display and rendering.

Another solution can be to increase the time-out, although this will make the user interface less responsive when rendering heavy scenes. Learn More Here.

CUDA error: Unknown error in cuCtxSynchronize() – Помилка CUDA: Невідома помилка в cuCtxSynchronize()

An unknown error can have many causes, but one possibility is that it is a time-out. See the above answer for solutions.