cancel
Showing results for 
Search instead for 
Did you mean: 

Archives Discussions

rÃ_csÃ_k
Journeyman III

Native kernels and GPUs

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!

0 Likes
2 Replies
himanshu_gautam
Grandmaster

Please Post your clInfo Output. Do you get the same execetion capabilities from clInfo.

 

0 Likes
LeeHowes
Staff

You can't run native kernels on GPU devices.

Are you sure you're getting back that query from the GPU device?

0 Likes