AnsweredAssumed Answered

CL_DEVICE_LINKER_AVAILABLE

Question asked by maxdz8 on Apr 25, 2014
Latest reply on Apr 28, 2014 by sudarshan

Hello, I'm trying to refresh my skills to more modern practices and after a small trip in DirectCompute, I'm now taking a look at OpenCL.

For the time being, I'm just dumping some data about my GPU (a Capeverde, running driver 13.35.1005-140312a-169198E), I've written the following.

cl_bool boolValue;
#define QUERYBOOL(what) clGetDeviceInfo(devices[i], what, sizeof(boolValue), &boolValue, NULL);    cout<<#what<<"="<<boolValue<<endl;
...
QUERYBOOL(CL_DEVICE_COMPILER_AVAILABLE);
QUERYBOOL(CL_DEVICE_LINKER_AVAILABLE);
...

To my surprise, output is:

CL_DEVICE_COMPILER_AVAILABLE=1

CL_DEVICE_LINKER_AVAILABLE=0

Is this supposed to happen?

Spec reads:

Is CL_FALSE if the implementation does not have a linker available.

Is CL_TRUE if the linker is available.

This can be CL_FALSE for the embedded platform profile only.

This must be CL_TRUE if CL_DEVICE_COMPILER_AVAILABLE is CL_TRUE.

It is my understanding the macro should output 1.

I assume this implies only full compile is supported.

Outcomes