ERROR: clGetPlatformIDs() -1001

Many people have problem like this one above, even if they configured and installed ATI SDK + OpenCL + ATI Catalyst correctly, without any errors or warnings. But they still cannot run any application which uses their GPU. So here I’ll show you how to fix it and we will try to run oclHashcat to check if the driver is OK after the fix.

At the beginning after installation, I had this error:

$ ./oclHashcat-lite64.bin 9fe8bcafcd86d85172097bd41abc29c0 ?d?d?d?d?d?d?d?d
oclHashcat-lite v0.4 starting...
ERROR: clGetPlatformIDs() -1001

The problem

ERROR: clGetPlatformIDs() -1001

In the documentation -1001 is described as “GPU not supported“, well… that’s not true.

The GPU is supported, but developers changed name of a library, which supports it. Then, aticonfig can not see the GPU you have on a list of supported cards, so it just says what it says.

To fix it, you just need to change names of some files and theirs contents. Follow the commands below:

cd /etc/OpenCL/vendors/
/etc/OpenCL/vendors/ $ ls
atiocl32.icd atiocl64.icd
/etc/OpenCL/vendors/ $ ls -l
total 8
-r--r--r-- 1 root root 15 May 16 15:59 atiocl32.icd
-r--r--r-- 1 root root 15 May 16 15:59 atiocl64.icd
cat /etc/OpenCL/vendors/atiocl
atiocl32.icd atiocl64.icd

Now change name of those files, replacing “ati” to “amd“:

root@Asus-PC:/etc/OpenCL/vendors# mv atiocl32.icd amdocl32.icd
root@Asus-PC:/etc/OpenCL/vendors $ mv atiocl64.icd amdocl64.icd
root@Asus-PC:/etc/OpenCL/vendors $ ls
amdocl32.icd amdocl64.icd

Now, change theirs content analogously, replacing ati to amd, to get the following content:
libamdocl32.so
libamdocl64.so

Exit from root and make test. You can test on any application you want, it can be any game or simulator, oclHashcat is just an example.

 oclHashcat-lite $ ./oclHashcat-lite64.bin 9fe8bcafcd86d85172097bd41abc29c0 ?l?l?l?l?l?l?l?l?
 oclHashcat-lite v0.4 starting...Platform: AMD compatible platform found
 Watchdog: Temperature limit set to 90c
 Device #1: Redwood, 512MB, 0Mhz, 5MCU
 [s]tatus [p]ause [r]esume [q]uit
 Status.......: Running
 Hash.Type....: MD5
 Time.Running.: 0 secs
 Time.Left....: 0 secs
 Plain.Text...: *sfti
 Plain.Length.: 5
 Speed........: 15.0M/s
 Progress.....: 3328000/11881376 (28.01%)
 HW.Monitor.#1: 90% GPU, 71c Temp
 [s]tatus [p]ause [r]esume [q]uit
  • Pingback: ERROR: clGetPlatformIDs() -1001

  • Brochnisky

    Thank you, nice article.
    I was wondering if you can also provide the same solution for Windows.

    Thanks

    • agilob

      Sorry, I don’t use windows at all.