I attempted yesterday to do my first ever installation of CUDA.
The only machine I have available with Nvidia Graphics has been standing in a closet for quite some time. I dusted of the worst cobwebs and was somewhat surprised to see it start at all. Some drives are dead, and the fans on the GFX needed quite a bit of love to start spinning - but you run with what you got.
Server is running Ubuntu 16.04 x86_64, which upgraded to “current” without problem.
I started installing cuda using the instructions here: https://developer.nvidia.com/cuda-downloads?target_os=Linux&target_arch=x86_64&target_distro=Ubuntu&target_version=1604&target_type=debnetwork
It was all good until I rebooted after the ‘apt install cuda’ step. After that reboot the GFX was no longer starting as it should.
Looking through dmesg I saw alot of lines stating that the nvidia-440 driver is unable to start the NVIDIA Corporation GF104 [GeForce GTX 460] card. The error message also states that nvidia-390 is the way to go.
I nuked some 440-packages and installed 390-packages instead, which made the machine boot with working graphics, but broke the cuda install.
./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
Looks to me like the cuda meta package has a bit narrow minded dependency chain:
# for package in cuda cuda-10-2 cuda-runtime-10-2 cuda-drivers; do apt-cache depends $package; done cuda Depends: cuda-10-2 cuda-10-2 Depends: cuda-toolkit-10-2 Depends: cuda-runtime-10-2 Depends: cuda-demo-suite-10-2 cuda-runtime-10-2 Depends: cuda-drivers Depends: cuda-libraries-10-2 Depends: cuda-license-10-2 cuda-drivers Depends: nvidia-440 Depends: nvidia-440-dev Depends: libcuda1-440 Depends: nvidia-opencl-icd-440 Depends: <libopencl1> ocl-icd-libopencl1 nvidia-libopencl1-304 nvidia-libopencl1-340 nvidia-libopencl1-384 nvidia-libopencl1-387 nvidia-libopencl1-390 nvidia-libopencl1-396 nvidia-libopencl1-410 nvidia-libopencl1-418 nvidia-libopencl1-440 Depends: nvidia-modprobe Depends: nvidia-settings Conflicts: cuda-drivers-diagnostic Replaces: cuda-drivers-diagnostic
Much like nvidia-libopencl1 is accepted in every shape and color, should it not be possible to satisfy the driver dependencies with 390-packages?
How else am I supposed to do the installation to get CUDA runtime that works with 390 driver?
https://www.geforce.com/hardware/technology/cuda/supported-gpus?field_gpu_type_value=All&page=3 lists GTX 460 as supported.