16-Way Graphics Card Comparison With Radeon On ROCm, NVIDIA With Initial 2018 Linux Drivers

Written by Michael Larabel in Display Drivers on 18 January 2018 at 05:05 PM EST. Page 1 of 4. 13 Comments.

Towards the end of December AMD quietly released ROCm 1.7.60 as the newest version of their Radeon Open Compute stack complete with their maturing OpenCL implementation. With the improvements there plus NVIDIA recently introducing their 390 Linux driver series (390.12 Beta currently), I ran some fresh Linux OpenCL GPU compute benchmarks on a variety of AMD and NVIDIA graphics cards for those curious how the current performance stacks up.

For those that haven't tried out AMD's Radeon ROCm compute stack recently, the ROCm 1.7 release has OpenCL 2.0 compatible kernel language support but the runtime is currently at OpenCL 1.2. One fundamental change as part of their packaging is that the AMDGPU and AMDKFD kernel drivers are now distributed as DKMS (Dynamic Kernel Module Support) modules rather than spinning an entire kernel release. This is with AMD stepping towards upstreaming all of their discrete GPU changes to AMDKFD for allowing ROCm at that point to then run on an open-source, upstream kernel. Those dGPU AMDKFD bits will hopefully be squared away for Linux 4.17 (not the upcoming Linux 4.16) when the kernel side will hopefully be all ironed out. But for now at least their patched AMDKFD/AMDGPU changes are available in a Debian/Ubuntu repository as DKMS modules -- these modules did build fine for me on Ubuntu 17.10's Linux 4.13 kernel but was not compatible with Linux 4.15.

On the NVIDIA side there isn't any major OpenCL changes to note with their 390.12 Linux driver that pulls in CUDA 9.0 OpenCL compute. Unfortunately, still no full OpenCL 2.0 support on the green side either.

On the Core i7 8700K Coffee Lake system with Ubuntu 17.10 I ran a range of OpenCL compute benchmarks on these graphics cards:

- GeForce GTX 680
- GeForce GTX 780 Ti
- GeForce GTX 960
- GeForce GTX 970
- GeForce GTX 980 Ti
- GeForce GTX 1060
- GeForce GTX 1070
- GeForce GTX 1070 Ti
- GeForce GTX 1080
- GeForce GTX 1080 Ti
- Radeon R9 285
- Radeon R9 290
- Radeon RX 580
- Radeon R9 Fury
- Radeon RX Vega 56
- Radeon RX Vega 64

All of the OpenCL benchmarks were run via the Phoronix Test Suite.

Related Articles