CUDA driver version is insufficient for CUDA runtime version (while running deviceQuery)

I’ve done everything exactly as described in Intallation Guide for Windows (

I’m now at “2.5. Verify the Installation”. I’ve runned deviceQuery_vs2017 solution in Visual Studio. Here is an output:

C:\ProgramData\NVIDIA Corporation\CUDA Samples\v10.1\1_Utilities\deviceQuery\../../bin/win64/Debug/deviceQuery.exe Starting...

 CUDA Device Query (Runtime API) version (CUDART static linking)

cudaGetDeviceCount returned 35
-> CUDA driver version is insufficient for CUDA runtime version
Result = FAIL

C:\ProgramData\NVIDIA Corporation\CUDA Samples\v10.1\1_Utilities\deviceQuery\../../bin/win64/Debug/deviceQuery.exe (process 6892) exited with code 1.
Press any key to close this window . . .

I’ve got NVIDIA GeForce 820M on my computer (it’s present in Windows Device Manager). This GPU is Cuda Enabled ( I’ve installed CUDA using Express option (deafault installation process).

Typing nvcc -V in CMD gives me a proper result, so CUDA was successfully installed:

nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2019 NVIDIA Corporation
Built on Fri_Feb__8_19:08:26_Pacific_Standard_Time_2019
Cuda compilation tools, release 10.1, V10.1.105

Do you have any ideas why it doesn’t work as expected?

More information about my workspace:

  • Windows 10
  • Visual Studio 2017
  • NVidia Geforce 820M

The GeForce 820M is a Fermi device:

The last CUDA version that supported that device is CUDA 8.0.

It will only support drivers up to about r343. CUDA 10.1 requires a R418 or newer driver.

Therefore the driver bundled with the CUDA 10.1 installer did not install correctly on your machine. I don’t know if you skipped that step or if you ignored the failure.

Anyway you cannot use CUDA 10.1. You also cannot use any version of CUDNN.

The last CUDA version supporting that GPU is 8.0.

Thanks for response.

Before I install CUDA 8.0, there is one more question: I’ve found on internet, that to check my driver version, I can use nvidia-smi command. That commands tells me that I have 388.57 version of driver installed.

There is also a table with CUDA driver compatilibity here: and it tells that minimal driver version for CUDA 9.0 is 385.54 (which is lower than mine).

So, how did you check that I need the latest version of CUDA I’m able to install is 8.0? Is it your mistake (and I can install 9.0) or have you considered some other properties of my GPU that could prevent me from installing 9.0?

Also, as I see, installers of CUDA 9.0 and 8.0 will install drivers with lower version that I currently have (there is a list of checkboxes with things I want to install with CUDA toolkit, nvidia driver is on of them). Should I let them install those drivers (let them do downgrade) or should I uncheck that option?

So, how did you check that I need the latest version of CUDA I’m able to install is 8.0?

I gave you the link already. The link says your GPU is a Fermi GPU. You can find all sorts of information on the web that tells you that the last CUDA version supporting Fermi is CUDA 8.0

You can confirm this information by running deviceQuery. of course you need a functional install of CUDA.

If you have driver version 388.54 (which was not the driver bundled with the CUDA 10.1 installer), you can try installing CUDA 9.0, and run deviceQuery. Perhaps your GPU has compute capability 3.0 or higher.

What happened when you installed the CUDA 10.1 toolkit? Did you uncheck the option to install the driver?

If so you weren’t following the directions. The directions don’t tell you to do that.

What happened when you installed the CUDA 10.1 toolkit? Did you uncheck the option to install the driver?

As I said, I used all default options (it’s called Express installation). No information about device incompatibility or any errors. Afer installing CUDA 10.1 I was told, my tools are ready to work. NVIDIA should really inform users about possible compatibility issues before they download toolkit. I wasn’t informed at all, I learned about it after researching errors appearing while I wanted to compiled anything.

Now, OK, I’ve installed version 8.0 and deviceQuery indeed works and outputs some reasonable data. But then, the next step to verify installation in CUDA documentation is to run bandwidthTest program. I’ve opened folder bandwidthTest and compiled it in Visual Studio 2015.

Here is what the output look like:

[CUDA Bandwidth Test] - Starting...
Running on...

 Device 0: GeForce 820M
 Quick Mode

CUDA error at C:/ProgramData/NVIDIA Corporation/CUDA Samples/v8.0/1_Utilities/bandwidthTest/ code=6(cudaErrorLaunchTimeout) "cudaFree(d_idata)"
Press any key to continue . . .

Documentation doesn’t really help here:

If the tests do not pass, make sure you do have a CUDA-capable NVIDIA GPU on your system and make sure it is properly installed

If I freshly installed CUDA on my computer, with default options and I have CUDA-capable NVIDIA GPU, what could I do wrong?

launch timeout means that sample code is hitting a WDDM TDR timeout

you may be able to get this to work correctly if you compile a “release” project instead of a “debug” project.