I am currently running Ubuntu 16.04 on a machine with an AMD A8-5600K APU and a Radeon R9 270X. The amdgpu driver does not yet support my card and therefore I cannot use OpenCL on my GPU. However, I see no reason why OpenCL applications can't use my CPU.

I've installed every package I can think of - ocl-icd-libopencl1 Install ocl-icd-libopencl1, ocl-icd-opencl-dev Install ocl-icd-opencl-dev, etc.

I've written a simple application that enumerates available OpenCL platforms and it fails on the clGetPlatformIDs() call. What am I missing?

Edit: I installed the AMD APP SDK as recommended in SE6's answer but no platforms were showing up yet. Running strace revealed that the OpenCL ICD loader couldn't find libamdocl64.so.

Further edit: success! I was able to get it working using the following command:

sudo ln -s '/opt/AMDAPPSDK-3.0/lib/x86_64/sdk/libamdocl64.so' \

(Replace /opt with the path you installed the AMD APP SDK to.)


Install the AMD APP SDK from the AMD website you should then see your CPU available as an OpenCL device.

  • 1
    I managed to get it installed but the ICD doesn't seem to work. Still getting "no platforms". – Nathan Osman Sep 5 '16 at 22:44
  • I updated the question to reflect progress in debugging this. – Nathan Osman Sep 5 '16 at 22:58
  • ...and finally success! – Nathan Osman Sep 5 '16 at 23:07

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.