Blender 3.2 Performance With AMD Radeon HIP vs. NVIDIA GeForce On Linux
This week's release of Blender 3.2 brings AMD GPU rendering support on Linux via AMD's HIP interface in conjunction with their ROCm compute stack. Eager to see the AMD GPU support on Linux finally arrive, I quickly began trying out this new Blender open-source 3D modeling software release while seeing how the AMD RDNA2 HIP performance compares to that of NVIDIA GeForce RTX 30 GPUs that have long enjoyed top-notch support under Blender.
While Blender 3.1 brought AMD HIP support on Windows, that wasn't the case for Linux and only now with this week's Blender 3.2 release is there AMD HIP support with Blender's Linux builds. This allows for GPU acceleration when having the ROCm compute stack setup -- unfortunately that means no support if just using the Mesa drivers and other out-of-the-box support on Linux distributions.
Most Linux users, unfortunately, don't run with the ROCm stack setup at this point due to needing to manually set it up via the Radeon Software for Linux packaged drivers or the manual ROCm install procedures. Even then, the Linux distribution support is limited. It's been over one month since the Ubuntu 22.04 LTS release has been out and unfortunately still no support for this newest Ubuntu long-term support release. I tried at first working around that on Ubuntu 22.04 in just wanting the ROCm bits anyhow and not worrying about the DKMS / Vulkan / OpenGL components, but GNU toolchain package differences from Ubuntu 20.04 vs. 22.04 made that more of a headache... So on the test system I just wiped it and went back to making an Ubuntu 20.04 installation.
At first even on Ubuntu 20.04 LTS I ran into issues as well getting the AMD HIP support activated for Blender. The packaged driver on the AMD site is for the Radeon Software 22.10.2 components while going through the ROCm installation route yielded newer 22.10.3 driver components. With some tinkering I ultimately got Blender 3.2 successfully working with HIP/ROCm! Unfortunately most Linux distributions still don't package the AMD ROCm software due to its intricacies and other headaches. AMD meanwhile focuses their official ROCm Linux support just on the few usual enterprise Linux distributions. In comparison, NVIDIA's Linux proprietary driver stack having near universal supported/available across Linux distributions. It's been quite a while since I can last recall any headaches simply getting the NVIDIA Linux driver properly installed.
But even once getting ROCm working with the first card, an RDNA2 model, it brought up another limitation... The much more limited range of GPU device support than with NVIDIA's broad device support for multiple generations. Officially, Blender 3.2 works with RDNA2 and RDNA(1) graphics cards on Linux with HIP. I was able to test all of my available Radeon RX 6000 (RDNA2) graphics cards with Blender 3.2, yeah! But with all my RDNA1 tested graphics cards they all yielded Blender 3.2 having a segmentation fault. Trying pre-RDNA graphics cards like the Vega-based Radeon VII also yielded a segmentation fault even with the Radeon VII graphics card otherwise being supported by the ROCm compute stack.
So for this round of testing I was just able to show how the Radeon RX 6000 series graphics cards can perform with Blender 3.2's HIP on Linux. For comparison I also tested all of the NVIDIA GeForce RTX 30 cards I have available. NVIDIA with Blender supports both CUDA and OptiX paths for rendering on Linux with OptiX being the preferred renderer for the GeForce RTX graphics cards and what was used for this comparison.
The graphics cards I benchmarked on Blender 3.2 included all the RDNA2 and RTX 30 cards I have available (unfortunately, no RX 6900 series still from AMD):
- Radeon RX 6400
- Radeon RX 6500 XT
- Radeon RX 6600
- Radeon RX 6600 XT
- Radeon RX 6700 XT
- Radeon RX 6750 XT
- Radeon RX 6800
- Radeon RX 6800 XT
- GeForce RTX 3060
- GeForce RTX 3060 Ti
- GeForce RTX 3070
- GeForce RTX 3070 Ti
- GeForce RTX 3080
- GeForce RTX 3080 Ti
- GeForce RTX 3090
All testing off the same AMD Ryzen 9 5950X workstation running Ubuntu 20.04 LTS with the Linux 5.13 kernel and the latest AMD / NVIDIA drivers.