Tuesday, November 16th, 2021 Posted by Jim Thacker

Blender 3.0’s Cycles X now runs on AMD GPUs

Cycles X, the major rewrite of Blender‘s Cycles renderer coming up in Blender 3.0, now supports AMD GPUs via HIP, an open-source system that enables code to run on both Nvidia CUDA and AMD hardware.

The functionality is available in the current daily beta build of Blender 3.0 for anyone with AMD’s new Radeon Software beta driver, released yesterday.

Cycles X to support GPU acceleration on AMD hardware via HIP on its release in Blender 3.0
A major rewrite of the Cycles renderer, intended to “future proof it for the next 10 years”, Cycles X also deprecated support for OpenCL, the API previously used for GPU rendering on AMD hardware.

Initial builds of Cycles X ran solely on Nvidia GPUs.

At the time of the original announcement, Cycles X developer Brecht van Lommel said that the team planned to bring back support for AMD and Intel hardware, but didn’t say when, or in what form.

For AMD users, both questions have now been answered by a guest post on the Blender Developers Blog from AMD product manager Brian Savery announcing that Cycles X will support AMD GPUs via HIP.

But what is HIP?
An open-source C++ runtime API and kernel language, HIP (Heterogeneous-Compute Interface for Portability) lets developers create software that run on both Nvidia and AMD GPUs from a single code base.

Sometimes described as a way of porting tools written using Nvidia’s CUDA computing framework to AMD GPUs, HIP has been around for several years as part of AMD’s ROCm (Radeon Open Compute) platform.

However, this is the first time we’re aware of it being used for media and entertainment software: all of AMD’s case studies are for scientific simulation and visualisation tools.

How well will Cycles X run on AMD GPUs?
AMD hasn’t posted any benchmarks for Cycles X running on its GPUs, but performance should theoretically be similar to an equivalent CUDA card.

The online documentation describes HIP as having “little or no performance impact over coding directly in CUDA mode”, borne out by this presentation from the US’s Oak Ridge National Laboratory, which used the platform to enable its CUDA-based in-house software to run on AMD GPUs.

However, as well as CUDA, Cycles X uses Nvida’s OptiX API to accelerate GPU ray tracing.

That may mean that current Nvidia GPUs still outperform AMD cards, so it will be interesting to see some independent benchmark scores.

The Blender Foundation has announced that it will support open-source API Vulkan for GPU ray tracing in Eevee, Blender’s real-time render engine, but there has been no equivalent announcement for Cycles X yet.

Which AMD GPUs will Cycles X run on?
AMD has validated support for Cycles X on its the Radeon RX 6000 series, its current generation of consumer GPUs, and the Radeon Pro W6800, its current top-of-the-range workstation card.

However, the implementation only requires an RDNA card or later, so it may also work on older AMD GPUs.

System requirements and release dates
Support for AMD GPUs in Cycles is available in the current daily beta of Blender 3.0. To enable it, you will need AMD’s new beta driver, Radeon Software 21.40 Beta for Blender 3.0.

Blender 3.0 is due for a stable release in early December 2021 for Windows, Linux and macOS.

Phoronix reports that Cycles support for AMD GPUs will be confined to the Windows edition in Blender 3.0, with Linux support in Blender 3.1. GPU acceleration in Cycles on macOS is also due in Blender 3.1.

Read the announcement of support for AMD GPUs in Cycles X on the Blender Developers Blog
(Includes download links for Blender 3.0 beta builds and AMD beta drivers)