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, 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.