I am quite new to GPU programming and OpenCL, so I am sorry in advance if I ask something stupid. My problem is the following.
I was trying to run native C/C++ kernel on a GPU. Actually, it should have worked, since when I queried CL_DEVICE_EXECUTION_CAPABILITIES by calling clGetDeviceInfo() the result was CL_EXEC_NATIVE_KERNEL | CL_EXEC_KERNEL. However, when I tried to run my simple C++ code on my GPU device by calling clEnqueueNativeKernel(), it returned CL_INVALID_OPERATION. (According to the specification it returns this value "if
device cannot execute the native kernel.") Anyway, can I execute native C/C++ code on GPU devices? Of course, if I tried this on a CPU device, it worked well, but then, I can't understand why CL_DEVICE_EXECUTION_CAPABILITIES was set to CL_EXEC_NATIVE_KERNEL | CL_EXEC_KERNEL.
Graphics: ATI Mobility Radeon HD5470 1GB
Library: AMD APP SDK v.2.4 (64 bit)
Operating system: Ubuntu Linux (64 bit) with kernel version 2.6.38, latest ATI Catalyst driver installed (fglrx).
Thank you for your help!