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++
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: [url]https://developer.nvidia.com/cuda-toolkit-archive[/url]. Not sure whether that works with Windows 10, so no guarantees.
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.
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.