How to Enable OpenCL Support on NVIDIA and AMD Platforms
First versions of OpenCL implementations are now available for NVIDIA and AMD platforms (platform… this is a term you will see often with OpenCL). Here is a small HowTo about enabling OpenCL on Both AMD and NVIDIA hardware under Windows.
Enabling OpenCL on NVIDIA platform
On NVIDIA platform, OpenCL comes with the latest R195.39 or R195.62 WHQL. R195.39 is the first driver that offer a public OpenCL support. The OpenCL.dll that comes with R195.38 is actually the Khronos OpenCL interface and real OpenCL implementation is hidden in some nvcuda files… Anyway installing R195.39 / R 195.62 is enough to have OpenCL on your system. After the driver installation, start GPU Caps Viewer 1.8.0 and you should see something like this:
All GeForce 8 and higher are OpenCL-capable devices.
Enabling OpenCL on AMD platform
Ah here we are, with AMD it’s trickiest! The most important thing is that your system must be clean of NVIDIA display driver residues. If, like me, you have both ATI and NVIDIA drivers on your system, the GPU code path of AMD’s OpenCL won’t work. Only the CPU code path will be ok. Yes, my friends, AMD provides OpenCL with CPU and GPU support. Really cool. To be sure your system is clean, just run Guru3D’s driver sweeper to remove ForceWare leftovers.
In some cases, it’s not enough and a fresh install of Windows may be the solution (that’s what I did for Catalyst 9.12… 🙁
Now you have a clean system, you have to install the latest Catalyst 9.12 hotfix that includes OpenCL support. Actually, Cat 9.12 doesn’t inlcude a standalone OpenCL support: you must install the ATI Stream v2 beta4.
Once the Catalyst 9.12 is installed, you have to install the ATI Stream beta4 SDK. After that, you should have an OpenCL GPU + CPU support. Want to be sure? Start GPU Caps Viewer 1.8.0 and you should see something like this:
From my tests, on Windows Vista, OpenCL GPU is supported by Radeon HD 3000 (at least the HD 3000 is detected as an OpenCL device but I didn’t manage to run the demo because of a linking error), Radeon HD 4000 (I tested a HD 4850 with success) and HD 5000 series (HD 5770 and HD 5870).