Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I want to execute OpenCL code on a PC which doesn't have a graphics card, nor any other hardware component which is able to execute OpenCL. Is it possible compile my OpenCL code in a way that it can be executed on the CPU in Linux? Or is it possible to simulate a GPU environment on the CPU?

Note: It's about testing whether the code works as expected, not about performance.

share|improve this question
Take a look at pocl: – AkiRoss Oct 26 '13 at 12:54
up vote 6 down vote accepted

This looks like what you need, although you probably need to recompile, and the SDK linked from there appears specific to Intel CPUs; this link to AMD's documentation appears to describe the equivalent for AMD CPUs.

share|improve this answer
I could have come to this myself... The solution was simply to change CL_DEVICE_TYPE_GPU to CL_DEVICE_TYPE_CPU as described in the first link... – Misch Apr 29 '13 at 19:25
Well, if I saved you some time, I'd say that's a win for both of us. Glad to be of help! – Aaron Miller Apr 29 '13 at 19:38
Definitely saved me some time, thanks for the help :) – Misch Apr 29 '13 at 19:48
You may need to use "device fission" to fully use n-1 cores instead of not-fully using n cores. – huseyin tugrul buyukisik May 15 '13 at 14:57

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.