AMDGPU vs. Radeon GCN 1.0/1.1 Benchmarks With Linux 4.10

Written by Michael Larabel in Display Drivers on 3 January 2017 at 08:10 PM EST. Page 1 of 4. 27 Comments.

With the Linux 4.10 kernel there remains experimental Kconfig switches for being able to build the Linux kernel with GCN 1.0 "Southern Islands" and GCN 1.1 "Sea Islands" support in the newer AMDGPU DRM driver rather than the mature Radeon DRM driver. For your viewing pleasure today are benchmarks of a few GCN 1.0/1.1 GPUs when testing the Linux 4.10 Git kernel with Radeon DRM and then the experimental AMDGPU DRM driver while both kernel drivers were tested in conjunction with the same Mesa 13.1-dev snapshot as of this week.

The GCN 1.0/1.1 support in AMDGPU remains experimental and disabled at build-time via Kconfig switches. Aside from needing to ensure sufficient support and no regressions in usability or features, it will be a while before any default behavior change occurs due to needing a relatively recent user-space stack (xf86-video-amdgpu, libdrm, and Mesa) supporting GCN 1.0/1.1 AMDGPU support in order to avoid breaking user-space compatibility. Long story short, no default change will probably happen anytime soon, but perhaps we'll see some Linux distributions in 2017 decide to change their kernel configuration to enable AMDGPU by default. With AMDGPU-PRO's hybrid driver DKMS module, it does enable GCN 1.1 and now with the newest 16.50 series also has experimental GCN 1.0 support.

Users have largely been wanting AMDGPU over Radeon DRM on these GCN 1.0/1.1 generations in order to have Vulkan support. Both the AMDGPU-PRO Vulkan driver and the open-source RADV drivers are only implemented with the AMDGPU interfaces and not supported for non-AMDGPU setups. Though for this article today I am not doing any AMDGPU-PRO testing since at least for the HD 7950 and R9 290 when using AMDGPU, Dota 2 was stuck or hung in my quick testing before deciding to just abandon it for this article. GCN 1.0/1.1 users have also been seeking this AMDGPU kernel support in order to use the PRO driver's hybrid OpenGL/OpenCL components, AMDGPU simply being newer than the Radeon driver, and some design improvements around memory management and more.

AMDGPU vs. Radeon GCN 1.0/1.1 Linux 4.10

For this OpenGL Radeon vs. AMDGPU testing today, I used a GCN 1.0 HD 7950 (Tahiti PRO) and R7 370 (Curacao) while from the GCN 1.1 family I have a Radeon R7 260X (Bonaire) and R9 290 (Hawaii). With my AMDGPU kernel build, the two experimental Kconfig switches for AMDGPU were enabled while the Kconfig completely disabled building the Radeon DRM driver in order to avoid any race issues with Radeon DRM being loaded instead for the hardware. The Radeon kernel build was the same exact Kconfig but with having disabled the AMDGPU switches.


During the AMDGPU testing in dmesg after testing I did see a number of GPU faults reported, but as shown from the results, they didn't appear to negatively impact the performance.

All of this OpenGL benchmarking was done in a fully-automated and reproducible manner using the open-source Phoronix Test Suite benchmarking software.


Related Articles