2 Replies Latest reply on May 9, 2011 7:55 PM by LeeHowes

    Native kernels and GPUs

    rücsök

      Hi all!

      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.

      Technical background:

       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!