CUDA driver version is insufficient for CUDA runtime version

Hi,

I’m trying to run a GeForce 8400GS in my Debian Jessie

I’ve installed using NVIDIA-Linux-x86_64-340.98.run file that I downloaded from this link: http://www.geforce.com/drivers.

When I run deviceQuery I get:

./deviceQuery 
./deviceQuery Starting...

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

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

Looking for similar errors here in the Forum I noticed you guys ask for the output of this command:

cat /proc/driver/nvidia/version

But the problem is I don’t have the nvidia directory on /proc/driver:

$ cd /proc/driver/
$ ls -la
total 0
dr-xr-xr-x   2 root root 0 Nov 19 10:49 .
dr-xr-xr-x 109 root root 0 Nov 15 10:43 ..
-r--r--r--   1 root root 0 Nov 19 10:49 rtc

I’ve installed a bunch of packages using apt-get as well. Above the output of dpkg -l | grep nvidia command:

$ dpkg -l | grep nvidia
ii  glx-alternative-nvidia                 0.5.1                                           amd64        allows the selection of NVIDIA as GLX provider
ii  libegl1-nvidia:amd64                   340.96-1                                        amd64        NVIDIA binary EGL libraries
ii  libgl1-nvidia-glx:amd64                340.96-1                                        amd64        NVIDIA binary OpenGL libraries
ii  libgles1-nvidia:amd64                  340.96-1                                        amd64        NVIDIA binary OpenGL|ES 1.x libraries
ii  libgles2-nvidia:amd64                  340.96-1                                        amd64        NVIDIA binary OpenGL|ES 2.x libraries
ii  libnvidia-compiler:amd64               340.96-1                                        amd64        NVIDIA runtime compiler library
ii  libnvidia-eglcore:amd64                340.96-1                                        amd64        NVIDIA binary EGL core libraries
ii  libnvidia-ml1:amd64                    340.96-1                                        amd64        NVIDIA Management Library (NVML) runtime library
ii  nvidia-alternative                     340.96-1                                        amd64        allows the selection of NVIDIA as GLX provider
ii  nvidia-cuda-dev                        6.0.37-5                                        amd64        NVIDIA CUDA development files
ii  nvidia-cuda-doc                        6.0.37-5                                        all          NVIDIA CUDA and OpenCL documentation
ii  nvidia-cuda-gdb                        6.0.37-5                                        amd64        NVIDIA CUDA Debugger (GDB)
ii  nvidia-cuda-toolkit                    6.0.37-5                                        amd64        NVIDIA CUDA development toolkit
ii  nvidia-detect                          340.96-1                                        amd64        NVIDIA GPU detection utility
ii  nvidia-driver                          340.96-1                                        amd64        NVIDIA metapackage
ii  nvidia-driver-bin                      340.96-1                                        amd64        NVIDIA driver support binaries
ii  nvidia-glx                             340.96-1                                        amd64        transition to nvidia-driver
ii  nvidia-installer-cleanup               20141201+1                                      amd64        cleanup after driver installation with the nvidia-installer
ii  nvidia-kernel-common                   20141201+1                                      amd64        NVIDIA binary kernel module support files
ii  nvidia-kernel-dkms                     340.96-1                                        amd64        NVIDIA binary kernel module DKMS source
ii  nvidia-libopencl1:amd64                340.96-1                                        amd64        NVIDIA OpenCL ICD Loader library
ii  nvidia-modprobe                        367.48-0ubuntu1                                 amd64        Load the NVIDIA kernel driver and create device files
ii  nvidia-opencl-common                   340.96-1                                        amd64        NVIDIA OpenCL driver
ii  nvidia-opencl-dev:amd64                6.0.37-5                                        amd64        NVIDIA OpenCL development files
ii  nvidia-opencl-icd:amd64                340.96-1                                        amd64        NVIDIA OpenCL installable client driver (ICD)
ii  nvidia-profiler                        6.0.37-5                                        amd64        NVIDIA Profiler for CUDA and OpenCL
ii  nvidia-smi                             340.96-1                                        amd64        NVIDIA System Management Interface
ii  nvidia-support                         20141201+1                                      amd64        NVIDIA binary graphics driver support files
ii  nvidia-vdpau-driver:amd64              340.96-1                                        amd64        Video Decode and Presentation API for Unix - NVIDIA driver
ii  nvidia-visual-profiler                 6.0.37-5                                        amd64        NVIDIA Visual Profiler for CUDA and OpenCL
ii  nvidia-xconfig                         340.46-1                                        amd64        X configuration tool for non-free NVIDIA drivers
ii  xserver-xorg-video-nvidia              340.96-1                                        amd64        NVIDIA binary Xorg driver

What am I missing?

Thanks

Your driver is not installed correctly, and/or your GPU is not installed or not functional.

Verify that you can see the GPU using lspci.

THen follow the steps in the linux install guide for the version of linux that you are using, to carefully clean out old driver and CUDA installations, and reinstall CUDA (and the driver).

Hi txbob,

Thanks for your reply

The output of lspci:

$ lspci | grep NVIDIA
01:00.0 VGA compatible controller: NVIDIA Corporation GT218 [GeForce 8400 GS Rev. 3] (rev a2)
01:00.1 Audio device: NVIDIA Corporation High Definition Audio Controller (rev a1)

Following the instructions on this link: http://developer.download.nvidia.com/compute/cuda/8.0/secure/prod/docs/sidebar/CUDA_Installation_Guide_Linux.pdf?autho=1479570936_8d68ed7f71a6c45d44c9f8d0cd7cd55a&file=CUDA_Installation_Guide_Linux.pdf

I ran:

sudo /usr/local/cuda-8.0/bin/uninstall_cuda_8.0.pl
sudo /usr/bin/nvidia-uninstall

The first one was ok, but I found out I don’t have nvidia-uninstall on my system.

And if I try to rerun NVIDIA-Linux-x86_64-340.98.run I get a message that I have it already installed and I need to uninstall it first.

But how to uninstall it if I don’t have nvidia-unistall?

Thanks again

nvidia-uninstall is only present if you used the runfile installer method to install the driver

You have apparently used the package manager method to install a driver.

I also note that you say you are using 340.98.run, but your dpkg output shows 340.96

So you have a corrupted config. Without knowing exactly the history, I’m not sure I can tell you exactly how to unwind it.

But I would suggest following all the instructions in the install guide to remove both previous runfile installs as well as previous package manager installs.

Hi txbob,

Yes I did a mess installing it. I tried install via .run and apt-get install.

I’ve just uninstall all packages and now it was finally uninstalled.

Now I’m going to read all manual before try to install again.

I update here my next steps.

Thanks

Do not ever mix install using package manager and install using runfile.

Do one or the other.

This mostly pertains to the driver, but since the CUDA toolkit also installs a driver (usually), you have to be careful not to mix driver install between CUDA toolkit and driver installers also.

Hi txbob,

I installed the drive and toolkit through

sudo ./cuda_8.0.44_linux-run

And now when I try to run deviceQuery I got the output:

$ ./deviceQuery 
./deviceQuery Starting...

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

modprobe: ERROR: could not insert 'nvidia_uvm': No such device
cudaGetDeviceCount returned 30
-> unknown error
Result = FAIL

I didn’t suggest installing CUDA 8.

Your GPU is not supported by CUDA 8, it is too old.

Also, debian Jesse is not an officially supported distro for any CUDA version.

Ok,

I’ll try to install an older version

CUDA 6.5 is the last version that supported your GPU.

You can download runfile installers for it from the cuda legacy toolkits page (google “cuda legacy toolkit”)

Be sure to clean out all old installs, again.

After install Toolkit 6.5 it worked

~/NVIDIA_CUDA-6.5_Samples/1_Utilities/deviceQuery$ ./deviceQuery 
./deviceQuery Starting...

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

Detected 1 CUDA Capable device(s)

Device 0: "GeForce 8400GS"
  CUDA Driver Version / Runtime Version          6.5 / 6.5
  CUDA Capability Major/Minor version number:    1.2
  Total amount of global memory:                 1023 MBytes (1073020928 bytes)
  ( 2) Multiprocessors, (  8) CUDA Cores/MP:     16 CUDA Cores
  GPU Clock rate:                                1238 MHz (1.24 GHz)
  Memory Clock rate:                             600 Mhz
  Memory Bus Width:                              64-bit
  Maximum Texture Dimension Size (x,y,z)         1D=(8192), 2D=(65536, 32768), 3D=(2048, 2048, 2048)
  Maximum Layered 1D Texture Size, (num) layers  1D=(8192), 512 layers
  Maximum Layered 2D Texture Size, (num) layers  2D=(8192, 8192), 512 layers
  Total amount of constant memory:               65536 bytes
  Total amount of shared memory per block:       16384 bytes
  Total number of registers available per block: 16384
  Warp size:                                     32
  Maximum number of threads per multiprocessor:  1024
  Maximum number of threads per block:           512
  Max dimension size of a thread block (x,y,z): (512, 512, 64)
  Max dimension size of a grid size    (x,y,z): (65535, 65535, 1)
  Maximum memory pitch:                          2147483647 bytes
  Texture alignment:                             256 bytes
  Concurrent copy and kernel execution:          Yes with 1 copy engine(s)
  Run time limit on kernels:                     No
  Integrated GPU sharing Host Memory:            No
  Support host page-locked memory mapping:       Yes
  Alignment requirement for Surfaces:            Yes
  Device has ECC support:                        Disabled
  Device supports Unified Addressing (UVA):      No
  Device PCI Bus ID / PCI location ID:           1 / 0
  Compute Mode:
     < Default (multiple host threads can use ::cudaSetDevice() with device simultaneously) >

deviceQuery, CUDA Driver = CUDART, CUDA Driver Version = 6.5, CUDA Runtime Version = 6.5, NumDevs = 1, Device0 = GeForce 8400GS
Result = PASS

Hello,

i am trying to install Cuda 8.0 for my gtx1050 on ubuntu 16.04. The driver for the card just came out a week ago.I get the same error when running the Nvidia-Cuda.8.0 samples: “CUDA driver version is insufficient for CUDA runtime version”!

typing in cat /proc/driver/nvidia/version i get:

NVRM version: NVIDIA UNIX x86_64 Kernel Module  375.20  Tue Nov 15 16:49:10 PST 2016
GCC version:  gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.4)

typing in nvcc- V i get:

nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2016 NVIDIA Corporation
Built on Sun_Sep__4_22:14:01_CDT_2016
Cuda compilation tools, release 8.0, V8.0.44

Is the driver too new, not yet supported?
Thanks!

Hi @Domko

I found my correct version to my GPU and downloaded it in this link: [url]https://developer.nvidia.com/cuda-toolkit-archive[/url]

Thanks programonauta!

But, since the gtx1050 has compute capability of 6.1, isn’t Cuda 8.0 the version i should go for?

Found the Solution for me:

1.) Install Driver 375.20 for GTX1050 manually (did this with via PPA)
2.) Install Cuda 8.0 without the drivers, just the toolkit

Done!