GTX 285's CL_DEVICE_VERSION is OpenCL 1.0 or OpenCL 1.1?

With the current OpenCL v1.1 public driver I get the following output from oclDeviceQuery:


The thing is, I remember doing the same thing with the previous OpenCL v1.1 pre-release driver (the one available only to registered developers) I got OpenCL 1.1 CUDA for the CL_DEVICE_VERSION. So what’s up with the new driver? If the CL_DEVICE_VERSION was OpenCL 1.1 before, why is it only OpenCL 1.0 now? What’s the reason for not supporting OpenCL 1.1 on the GTX 285? I was all happy that finally after one year I was going to have real support for my device, but I’m still left wanting.

Look at the driver version. OpenCL 1.1 was introduced with the 280.19 beta driver, and by now is also part of the 280.26 public WHQL driver.

EDIT: Scratch that, I was assuming you are on Windows. On Linux, OpenCL 1.1 was indeed introduced with the 280.13 driver version.

Note that there is a difference between CL_PLATFORM_VERSION (which should be “OpenCL 1.1 CUDA 4.0.1”) and CL_DEVICE_VERSION (which might be “OpenCL 1.1 CUDA” or “OpenCL 1.0 CUDA”, depending on your hardware). Here’s what NVIDIA support told me regarding the versions:

Thank you for that info. I had run some tests on GeForce GTX 280, GeForce GTX 285, Quadro FX 580, and Tesla C1060 and they all returned the same CL_DEVICE_VERSION, so I started to assume there was something about the architecture. Do you happen to know what is the limiting factor with SM 1.3 devices that prevent them from having CL_DEVICE_VERSION equal to OpenCL 1.1? Is it a hard limit, i.e., SM 1.3 devices will always have CL_DEVICE_VERSION at most equal to OpenCL 1.0?

Yes it’s a hard limit, see the above “This is 1.1 only for the SM 2x devices […]” statement. For some more info on what hardware features a GPU needs to support in order to comply with Compute Capability 2.0 / SM20 / OpenCL 1.1 look e.g. at this table.