AMD Nearing Full OpenCL 2.0 Support With ROCm 2.0 Compute Stack
While we have been looking forward to ROCm 1.9 as the next feature release for this Linux OpenCL/GPGPU stack with OpenCL 1.2 officially plus portions of OpenCL 2.0+, the ROCm 2.0 release is where they are squaring up for complete OpenCL 2.0 support.
AMD's Gregory Stoner commented this weekend on the ROCm roadmap when questioned about it, "We are looking to have full OpenCL 2.0 support with ROCm 2.0. Note All the 2.0 features have been in for quite a while, except for kernel enqueue and Pipes are the last two feature we need to role out to formally turn on OpenCL 2.0. I will have the team work on a feature matrix for AMDGPUpro vs ROCm. You find we even have some of the OpenCL 2.1 runtime features in ROCm OpenCL driver now. Right now we are focused on any new runtime and Kernel feature."
This is really great to hear. ROCm is coming together nicely now with OpenCL 2.0 on the horizon and the kernel-side bits in AMDKFD recently having gone mainline -- though there still does seem to be some "gotchas" on the kernel side with at least the released/packaged ROCm bits hitting problems I tried recently on Linux 4.18 mainline, but we'll see how well it works on Linux 4.19... Plus moving forward, the AMDKFD driver being folded into AMDGPU.
The Radeon Open eCosystem stack is becoming quite compelling especially with the highly anticipated 7nm "Vega 20" expected later this year and that looking like it could hold a fair amount of potential for deep learning / workstations. With xGMI support coming and that playing into HSA, it looks like AMD could be on a strong footing for GPU compute in 2019. The one final element really left to be improved upon is for better CUDA code portability with their HIP compiler or getting more frameworks running natively on their driver stack after years of these frameworks (and GPU compute experts/researchers) being almost entirely focused on NVIDIA/CUDA.
Come 2019, OpenCL-Next should be released as more work for the AMD/GPUOpen crew.
The only OpenCL driver currently in better shape than ROCm for Linux users is the Intel OpenCL NEO driver that exposes OpenCL 2.1+ for its latest UHD/HD/Iris Graphics. Their previous "Beignet" driver also reached OpenCL 2.0 support before being replaced by the NEO OpenCL stack. On the NVIDIA Linux driver front, they are officially at OpenCL 1.2 with some CL 2.0 extensions but in not supporting SVM, but they are waiting for OpenCL-Next to suit their needs.