OpenCL Remains One Of AMDGPU-PRO's Main Advantages, Can't Wait For It To Be Open
Written by Michael Larabel in AMD on 23 November 2016 at 10:20 AM EST. 53 Comments
AMD --
While many in our forums and other Linux communities want to see "AMDGPU-PRO die" or for AMD to stop supporting the hybrid/proprietary driver given the pace of RadeonSI development for OpenGL and the emerging RADV for (unofficial) Vulkan support, OpenCL remains one of AMDGPU-PRO's strongholds. AMD has been working on opening up their proprietary compute stack, but for now it's there. Here are some fresh AMDGPU-PRO 16.40 benchmarks versus NVIDIA in LuxMark, one of the real-world OpenCL workloads where the AMD blob does very well.

With the OpenCL Beignet support being stagnate, there isn't much of good open-source OpenCL support for AMD right now, but they are working on delivering that through ROCm. Our AMD veteran communicator in the forums recently clarified unofficially about their work/plans:
Clover is not dead in the water (unless everyone in the community decides that it should be), it's just that our efforts shifted a year or so ago from clover to rebuilding our proprietary OpenCL stack on top of ROCM and open sourcing the remaining closed-source bits.

The first step along the way was replacing the proprietary/third-party C-language parser with clang (done); remaining tasks include:

(a) modifying OpenCL to run over ROCM rather than the current back-end (which is based on the proprietary OpenGL driver), and

(b) using the LLVM-based native compiler (also used in ROCM/HCC and the open source Mesa drivers) rather than the proprietary shader compiler.

We are aiming to have a developer preview of the modified OpenCL stack (still closed source runtime but using a lot more open source code) around mid-December.

In terms of their short-lived love with Clover Gallium3D for OpenCL, he clarified, "When we started work on clover the amount of work required to open source our existing implementation was too high to be practical and HSA/ROC work was just starting, so going with clover and hoping other vendors would do the same made sense (although the "other vendors" part didn't really happen). Today, on the other hand, we have an open source compute stack (ROC) and open source native compiler so going the rest of the way to an open source OpenCL stack built on ROC and the associated compiler work is manageable. It's still a lot of work but less than re-implementing in clover... and even if we did take the clover approach we would still have to plumb clover back into the rest of our compute stack in order to avoid a lot of duplicated effort going forward."

Anyhow, in heavy OpenCL workloads, the AMDGPU-PRO 16.40 performance can be quite good. LuxMark in particular is one of the workloads that can show of AMD's compute potential compared to NVIDIA. AMD says they perform well in it since it's a real-world workload as opposed to favoring red GPUs, but it does appear to have some less than ideal performance with NVIDIA GPUs -- as you'll see on the graphs, with e.g. the GTX 1070 being faster than the GTX 1080.

And as compliments to the AMDGPU-PRO stack, there is OpenCL 2.0 as opposed to OpenCL 1.2 still with NVIDIA's proprietary driver.


Tests via this OpenBenchmarking.org result file. You can see many of our other, older OpenCL benchmarks with other workloads for those interested.

So it will sure be nice once the proprietary OpenCL stack is fully-opened, but will still likely be a few months of work before it's really in shape and then potentially a few more months after that before it will be found out-of-the-box in the (non-rolling) distribution of your choice. At least it's something to look forward to for 2017 and is a main advantage of AMDGPU-PRO for the interim.
About The Author
Author picture

Michael Larabel is the principal author of Phoronix.com and founded the site in 2004 with a focus on enriching the Linux hardware experience. Michael has written more than 10,000 articles covering the state of Linux hardware support, Linux performance, graphics drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated benchmarking software. He can be followed via Twitter or contacted via MichaelLarabel.com.

Related AMD News
Popular News This Week