OpenCL SDK on Windows Server 2003?

We are trying to figure out for a potential customer whether OpenCL can be done on Windows Server 2003.
Is it supported by the XP version?
What about 64-bit on that OS?
Has anyone tried it?


I am high jacking this thread slightly (Linux is my target production environment). I have attempted to modify one of my Java servlets, adding a request which will make use of OpenCL. My servlet container (HTTP server) is Jetty, which in my development environment (win7-64) is running as a win32 service. The JavaCL bindings at this point run on every platform/n bit combination tried, so it did not seem like too much of a stretch to do the development on a desktop. I tested the system with a 32-bit Java app, which calls OpenCL, and runs fine.

I am using version 195.62. There is a single 8800GTX. I removed a ATI 4890 (ICD is not working anyway) & drivers to make sure it was not the problem. But it just does not work.

In the initialization of the servlet, I am initializing OpenCL. The Khronos dll is successfully being loaded, and a call to clGetPlatformIDs is successfully running, but the # of platforms being returned is 0. Is that how this is supposed to be, or should I be filing a bug? Not even sure how to file a bug with Khronos, so I would file with nVidia.

BTW, Does it seem reasonable to be doing something like this on Linux with Tesla GPU’s? There are about 4, U1 form factor, vendors that hold Tesla GPU’s, so I assumed it was. A couple of IBM BladeCenter models also run OpenCL on Linux.

I guess I could try OSX for development, or the ATI card for that matter, but these options do not seem that attractive.

Any advice? Thanks in advance.

Well, I tried pulling out the 8800 GTX, and put in the ATI 4890 with it’s version of the Khronos ICD driver. During the servlet initiation, clGetPlatformIDs finds a platform, but only the CPU device. A regular application finds the 4890 as well, so it only seems to be a problem when running as a service. Maybe windows 7 is keeping GPU’s from being accessed from services??? That does not explain why the nVidia platform was not found, just with 0 devices.

This does put Jetty in the clear as not the problem. I am going to submit an nVidia bug in the morning, so I at least can get some official clarification on the problem.

If anyone has any incite on what might happen on Linux, I am all ears. Thanks.

I have managed to solve this problem, at least for me. Jetty can also be run from cmd.exe. It is a little ugly, since you now have a DOS window, but you can minimize it. Both cards are now back in the machine, & maybe one day the 4890 will also be found.

Conclusion: If you are planning on using a Windows Service that calls OpenCL, you are in big trouble. I have managed an escape only because this is just my development environment, and I’ll put up with not running as a service when I am testing this part. I filed no bugs, so if you want this you might do so. I like to pick my spots with things like that, since it might be difficult, impossible or viewed as an enhancement.