I already ask this question in Drivers & Software section but nobody answer.
----------------------------------------------------------------------------------------------------------------------------------------------
From adrenalin 18.7.1 to 18.8.2 clBuildProgram exited with CL_BUILD_PROGRAM_FAILURE while trying to buld binary from SPIR source with options "-x spir -spir-std=1.2".
clGetProgramBuildInfo return error description:
Error: HSAIL doesn't support OpenCL extension spir.
An invalid option was specified.
Error: BRIG code generation failed.
At the same time clGetDeviceInfo with CL_DEVICE_EXTENSIONS says that cl_khr_spir is supported extension on my R7 360.
I'm confused, does AMD dropped support for SPIR, or this is just a bug? Anyone know something about this?
The OpenCL compiler team has confirmed that SPIR is no longer supported on HSAIL path (on CI+ devices), hence above error message is expected one.
Regarding the cl_khr_spir extension which is still reported by the runtime, I've already reported it to the concerned team.
Thanks.
So, from now on only pure opencl for gpgpu. No easy way to obfuscate proprietary code. The only one (very inconvenient) - offline compilation?
Hi dipak
I have 2 question:
1) Why some companies from Khronos develop OpenCL Standart with spir-v support, but AMD removes it from some driver version ?
2) Why AMD kill OpenCL ? removes AMD APP SDK and spir-v ? may be OpenCL becomes not actual in the present time, despite of the big community for example: https://www.iwocl.org/, Intel promotes OpenCL for FPGA and GPU/CPU, nVidia has a bad supporting of OpenCL, but has the good proprietary CUDA.
3) May be it's time to switch for using of the Compute Shaders ?
I hope that OpenCL will live on AMD Platform, I will use OpenCL for Objects culling and Particle simulation, if OpenCL has good supporting.
Thanks.
First of all, let me clear some points about SPIR support. We never supported SPIR-V. At certain point we passed SPIR 1.2 conformance tests on AMDIL path. Now we are deprecating that path. Whereas on HSAIL path, which is used for CI+ devices (i.e Sea Islands and newer), SPIR 1.2 is not supported. At this moment, there is no immediate plan to add SPIR support on this path.
Above are my understanding from the discussion with the concerned team. As you know, generally these decisions are taken by the upper management teams. I don't know much about that. If we get big enough customer asking, I'm sure the concerned team will reconsider it again.
Thanks.
But AMDIL and HSAIL path differences are mostly internal implementation details. This is why standards and APIs exists. And from driver user side it looks like cl_khr_spir was dropped and applications stopped working on AMD hardware without any workaround or suggested fix (only installing older drivers, but it is short-term workaround).
So IMHO it looks like management teams just overlooked this critical for commercial OpenCL usages problem and so they don't have any suggestions or plans for apps developers on how to mitigate the problem.
How customer feedback is measured? I mean, if you have investigated the market and software usage of cl_khr_spir - you already know how big or small usage was and management teams were basing their solution on that number, i.e. you effectively dropped OpenCL commercial usage without any plans to support those apps again. If you can't investigate - should developers tell you names of developed application that now can't use AMD hardware? Or how it should work?
In any case thanks for you feedback, but IMHO this decision was not investigated good enough.