Originally posted by: akhal Hello
I have downloaded few OpenCL samples for Linux from AMD and I have AMD, Intel and Nvidia platforms installed on my machine, but when I try to "make" those samples, I always get this error:
error: ‘CL_MEM_USE_PERSISTENT_MEM_AMD’ was not declared in this scope
How can I get rid of this error?
Have you installed AMD APP SDK? You are missing AMD APP headers(Perticularly cl_ext.h).
Sounds like your code is compiling with the Intel SDK...
Have you checked your code is compiling with the intended CL platform? If you've got both Intel & AMD SDKs installed, the default (0) OpenCL platform chosen by your code may be Intels SDK which will not recognise 'CL_MEM_USE_PERSISTENT_MEM_AMD' flag, hence the error. You can retrieve platform vendor information with clGetPlatformInfo() and CL_PLATFORM_VENDOR flag - check it's got AMD in it.