[Solved] CUDA API returns error(cudaErrorInsufficientDriver), though driver has been updated to lat...

I am having trouble with CUDA API.
Could you please give me any advices ?

[Problem]
CUDA API returns an error, though driver has been updated to latest.

API : cudaGetDeviceCount()
Return Code : cudaErrorInsufficientDriver(35)

[Condition]
OS : Microsoft Windows 10 Home Edition 64bit
CUDA : Ver 8.0
Build Env : Visual Studio 2015
Graphic Board : NVIDIA GeForce GTS 250
Driver : GeForce 342.01 Driver
CPU : Intel Core i5 750@2.67GHz 4 cores

[Detail information]
I found the driver version problem while installing CUDA 8.0, too.
The installer informed a warning message while checking system.

The warning message :

"This graphics driver could not find compatible graphics
 hardware. You may continue installation, but you may not be able to run CUDA
 applications with this driver. This may occur with graphics hardware that is newer
 than this toolkit. In that case, it is suggested that you keep your existing
 driver and install the remaining portions of the CUDA Toolkit."

But I continued installing CUDA. After that I build one of sample program,
which is “simplePrintf.cu”.
The runtime error occurred at gpuGetMaxGflopsDeviceId().

call stack :

simplePrintf.exe!check<enum cudaError>(cudaError result, const char * const func, const char * const file, const int line) line 989	C++
simplePrintf.exe!gpuGetMaxGflopsDeviceId() line 1135	C++
simplePrintf.exe!findCudaDevice(int argc, const char * * argv) line 1246	C++
simplePrintf.exe!main(int argc, char * * argv) line 42	C++

That is all.

Thanks in advance,
makotoqnb

The Geforce GTS 250 is a device with compute capability 1.1. Such old devices have not been supported by CUDA for almost three years now, and it is likewise not supported by modern graphics drivers (a recent Windows driver would be 376.33, for example).

You cannot use CUDA 8.0 with this old device, and you cannot use CUDA 8.0 with this old driver. I think the last CUDA version that supported compute capability 1.1 devices was CUDA 6.0. The driver 342.01 may well be the most recent one that still supports the GTS 250, but I have no way of verifying whether that is the case.

You would want to either switch to a modern GPU and use CUDA 8, or try installing CUDA 6.0 from the CUDA archive: https://developer.nvidia.com/cuda-toolkit-archive. Not sure whether that works with Windows 10, so no guarantees.

Hi njuffa-san,

Thank you for your response.
I could install without driver version problem by using CUDA 5.5.
But new problem occurred. CUDA 5.5 needs old Visual Studio(2012).
So, I uninstalled VS2015 and installed Visual Studio Express 2012.
But CUDA 5.5 does not recognize Visual Studio Express 2012.
It seems to need Visual Studio 2012 which is not free.

I am thinking about whether I should pay for a newer graphic board or Visual Studio 2012(non free).

Anyway, your advice is very useful for me.
Thank you.

BRs,
makotoqnb

A new GPU should be cheaper than buying yet another version of Visual Studio, and moving towards historical software components doesn’t seem like a robust approach to me. I have never used Visual Studio Express, but I am vaguely aware that occasionally some configuration work may be required to get this to work with CUDA (missing 64-bit components?)

If you are very cost sensitive, consider acquiring a used Maxwell-based GPU (e.g. GTX 750 Ti is below $100 used), I would not want to recommend hardware older than that at this point.

Hi njuffa-san,

Thanks again!
Your response is very quick.

I think newer GPU is better, too.
But I am considering whether my mother board is suitable for newer GPU or not.

[CPU-Z Output] 
Northbridge Intel DMI Host Bridge rev. 11
Southbridge Intel H55 rev. 06
[b]Graphic Interface PCI-Express
PCI-E Link Width x8
PCI-E Max Link Width x16[/b]

Thanks in advance,
makotoqnb

Hi njuffa-san,

At last, solved !
Thank you for your great support.

As you said, used Fermi-based GPU, [b]GeForce GTX 465/b, solved this issue.

Thanks,
makotoqnb