cancel
Showing results for 
Search instead for 
Did you mean: 

Archives Discussions

leonbass
Journeyman III

CPU / GPU in SDK v2.0-beta4 - Seems Backwards to me.

Runs on GPU. Doesn't run on CPU.

The documentation for the newest beta seems to indicate that the SDK will run on CPUs but "doesn't use GPU accelleration" yet.

However, I am testing on 2 machines that have NVIDIA cards and Intel CPUs, and the samples run fine with DEVICE_TYPE_GPU, which impresses me, but with DEVICE_TYPE_CPU the call to clCreateContextFromType()  fails with CL_DEVICE_NOT_FOUND.

On one machine I went ahead and installed the driver package (Catalyst), but that made no difference.

The machines are Vista64 and the builds are 64 bit.

What is it that I don't get? 
Thanks in advance!

0 Likes
2 Replies
omkaranathan
Adept I

Originally posted by: leonbass The documentation for the newest beta seems to indicate that the SDK will run on CPUs but "doesn't use GPU accelleration" yet.


Thats a mistake in the document, you can use SDK beta4 to get GPU acceleration.

However, I am testing on 2 machines that have NVIDIA cards and Intel CPUs, and the samples run fine with DEVICE_TYPE_GPU, which impresses me, but with DEVICE_TYPE_CPU the call to clCreateContextFromType()  fails with CL_DEVICE_NOT_FOUND.

Seems you have installed NVIDIA sdk too. Make sure that the PATH variables point to ATIStream SDK libraries.

On one machine I went ahead and installed the driver package (Catalyst), but that made no difference.

The machines are Vista64 and the builds are 64 bit.



You don't need driver package for running the OpenCL in CPU, and even in case of ATI GPUs, its the driver given at the SDK download page and not the catalyst drivers the one you should be using.

0 Likes
cgorac
Journeyman III

With the configuration you described (NVIDIA GPU, Intel CPU), you'll have to install both NVIDIA and AMD tools, and you'll have to build separate versions of your program for GPU (using NVIDIA SDK), and for CPU (using AMD SDK).  As mentioned by omkaranathan in previous reply, that means that you should be carefull to set you include and library paths during the compilation, and library/DLL path during the execution of your programs.  Since recently, with NVIDIA SDK and at least on Linux, include and library files are copied to the system include/lib directories, so this is probably why you got, by default, a program that works for the GPU device only.

 

0 Likes