End user drivers for PC

Hi, sorry for the newbie question, I’m still a little confused about how to deliver software to the end user on PC with OpenCL.
Does the user simply have to be up to date with their graphics drivers for this all to work, meaning I don’t need to install extra DLLs for OpenCl? - as in ‘cudart.dll’ is for Cuda.



BTW cudart.dll is required only if you wrote the program using the Runtime API. I believe with Driver API you also wouldn’t have to supply any .dlls apart from what’s already in the driver.

Thanks, so I have to have Cuda to make OpenCl?

Everything you need for OpenCL is in the display driver. Since OpenCL is implemented on top of CUDA, it is also present. If you are going to distribute an OpenCL application, dynamically loading the DLL’s might be the way to go. My host language is Java. The bindings I use are multi-OS, and dynamically load OpenCL. The only reason I even bother to get the SDK is to look at the source for sample code.

Using dynamic loading also allows either an nVidia or ATi installation, if-when they get their act together and put everything needed in their display driver (until this week, you actually had to sign up for a developer id to even download the SDK, and redistribution is not allowed, I think). Dynamic is also key to multi-OS. My app can run on OSX / Win / Linux un-modified.

Edit / Added: Static may also allow multi vendor implementations, but I believe dynamic is more graceful at failure when encountering a machine that is not OpenCL capable, or has an old driver.

Thanks for the detailed reply, I get the idea of not locking the library into my code, as there could be many different versions.

After looking through the various info for a couple of days (and finding out my Laptop’s HD 5470 won’t have OpenCl drivers until “later in 2010”) I’ve decided to do what I want using offscreen buffers and fragment shaders! I’ll get a lot more compatibility.

PCs are serious lagging behind Apple on OpenCl - but there are many different graphics cards of course - nightmare.



ATI claims that on every series 5 GPU

OpenCL compliant driver and SDK release scheduled for later in 2010

I’m using an HD5450 (Catalyst 10.3 Drifer) on Win 7 - 64 Bit and everythings works just fine.

I can’t install Cat10.3 on my laptop as it says it’s not compatible with my device.

Even though the Vaio says it’s a “ATI Mobility Radeon HD 5470” in the device manager.

I guess it’s a Sony thing…

Take a look here


or try older Driver versions, they also include OpenCL support (at least 9.12 and 10.2).

I’ll give it a go later, thanks.

It’s just the kind of nonsense that I don’t want to ‘support’ customers with, typical PC madness I guess.

Sometimes I really understand why people buy Macs!! :turned:

edit Ok eventually found 10.2 (yeah I know this is an nvidia forum!)

It doesn’t include openCL - it looks like customers will have to download the ATI Stream SDK runtime as well, just to get the runtimes.

Then it said it only uses the x86 version or something when it installed.

I can’t distribute software using this! grrr