Ubuntu install specific old cuda drivers combo

I am using a mirrored copy of the nvidia ubuntu (focal) repos and trying to figure out how I can bring my install up to the latest possible build that supports my dated GPUs (sm35 and sm37), which have obviously been removed from >R470 drivers, but the documentation makes it sound like the actual cuda libs have only deprecated, not removed support for these keplar generation gpus.

The two things I feel like I should be able to try and do, are either:
A) install R470 drivers with cuda-11-{5-7}
or
B) install cuda-11.4.4 from the up-to-date repo, which appears to not be possible

$ sudo apt install cuda
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following additional packages will be installed:
  ca-certificates-java cuda-11-7 [snip] nvidia-dkms-515 nvidia-driver-515 nvidia-kernel-common-515 [snip]
$ sudo apt install cuda=11.4.4-1 (or cuda-11-4 meta-package)
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following additional packages will be installed:
  ca-certificates-java cuda-11-4 [snip] nvidia-dkms-515 nvidia-driver-515 nvidia-kernel-common-515 [snip]
$ sudo apt install cuda=11.4.4-1 cuda-drivers-470
Reading package lists... Done
Building dependency tree
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 cuda : Depends: cuda-11-4 (>= 11.4.4) but it is not going to be installed
E: Unable to correct problems, you have held broken packages.
$ sudo apt install cuda-11-4 cuda-drivers-470
Reading package lists... Done
Building dependency tree
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 cuda-11-4 : Depends: cuda-runtime-11-4 (>= 11.4.4) but it is not going to be installed
             Depends: cuda-demo-suite-11-4 (>= 11.4.100) but it is not going to be installed
E: Unable to correct problems, you have held broken packages.

Right now I’m forced to live with my 11.4.2 snapshot, because 11.4.3 (and 11.4.4) were released after 11.5.0 (and 11.6.0, respectively).

So I’m just curious if this is just not a supported/possible installation type, which seems odd to release a newer 11.4 version that you can’t effectively install it for older model gpus, unless the only purpose of the later point releases is to have newer drivers with older libraries?

Also, to be clear, this isn’t 11.4.x specific, trying to install 11.x.y where x<4 also results in the same scenario, where the R515 drivers are set to be installed.

Installing the R470 drivers before installing the cuda packages also triggers the R515 drivers to be installed, and the R470 drivers to be removed.

$ sudo apt install cuda=11.4.4-1
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following package was automatically installed and is no longer required:
  libnvidia-common-470
Use 'sudo apt autoremove' to remove it.
The following additional packages will be installed:
  ca-certificates-java cuda-11-4 cuda-cccl-11-4 cuda-command-line-tools-11-4 cuda-compiler-11-4 cuda-cudart-11-4 cuda-cudart-dev-11-4 cuda-cuobjdump-11-4 cuda-cupti-11-4 cuda-cupti-dev-11-4 cuda-cuxxfilt-11-4 cuda-demo-suite-11-4
  cuda-documentation-11-4 cuda-driver-dev-11-4 cuda-drivers cuda-drivers-515 cuda-gdb-11-4 cuda-libraries-11-4 cuda-libraries-dev-11-4 cuda-memcheck-11-4 cuda-nsight-11-4 cuda-nsight-compute-11-4 cuda-nsight-systems-11-4 cuda-nvcc-11-4
  cuda-nvdisasm-11-4 cuda-nvml-dev-11-4 cuda-nvprof-11-4 cuda-nvprune-11-4 cuda-nvrtc-11-4 cuda-nvrtc-dev-11-4 cuda-nvtx-11-4 cuda-nvvp-11-4 cuda-runtime-11-4 cuda-samples-11-4 cuda-sanitizer-11-4 cuda-toolkit-11-4
  cuda-toolkit-11-4-config-common cuda-toolkit-11-config-common cuda-toolkit-config-common cuda-tools-11-4 cuda-visual-tools-11-4 default-jre default-jre-headless fonts-dejavu-extra gds-tools-11-4 java-common libatk-wrapper-java
  libatk-wrapper-java-jni libcublas-11-4 libcublas-dev-11-4 libcufft-11-4 libcufft-dev-11-4 libcufile-11-4 libcufile-dev-11-4 libcurand-11-4 libcurand-dev-11-4 libcusolver-11-4 libcusolver-dev-11-4 libcusparse-11-4 libcusparse-dev-11-4
  libgif7 libnpp-11-4 libnpp-dev-11-4 libnvidia-cfg1-515 libnvidia-common-515 libnvidia-compute-515 libnvidia-decode-515 libnvidia-encode-515 libnvidia-extra-515 libnvidia-fbc1-515 libnvidia-gl-515 libnvjpeg-11-4 libnvjpeg-dev-11-4
  libxxf86dga1 nsight-compute-2021.2.2 nsight-systems-2021.3.2 nvidia-compute-utils-515 nvidia-dkms-515 nvidia-driver-515 nvidia-kernel-common-515 nvidia-kernel-source-515 nvidia-utils-515 openjdk-11-jre openjdk-11-jre-headless x11-utils
  xserver-xorg-video-nvidia-515
Suggested packages:
  fonts-ipafont-gothic fonts-ipafont-mincho fonts-wqy-microhei | fonts-wqy-zenhei fonts-indic mesa-utils
Recommended packages:
  libnvidia-compute-515:i386 libnvidia-decode-515:i386 libnvidia-encode-515:i386 libnvidia-fbc1-515:i386 libnvidia-gl-515:i386
The following packages will be REMOVED:
  cuda-drivers-470 libnvidia-cfg1-470 libnvidia-compute-470 libnvidia-decode-470 libnvidia-encode-470 libnvidia-extra-470 libnvidia-fbc1-470 libnvidia-gl-470 libnvidia-ifr1-470 nvidia-compute-utils-470 nvidia-dkms-470 nvidia-driver-470
  nvidia-kernel-common-470 nvidia-kernel-source-470 nvidia-utils-470 xserver-xorg-video-nvidia-470

So I’m really not sure what to make of this, other than it seems like if I didn’t have the 11.4.2 repo snapshot, I’d be SOL, because any package updates would trigger the R515 drivers from upstream, and there doesn’t appear to be any clean way back, at least with a package manager.

Edit to include the entire rational for not using the R515 drivers to make it more succinct.

[  334.731528] NVRM: The NVIDIA Tesla K40m GPU installed in this system is
               NVRM:  supported through the NVIDIA 470.xx Legacy drivers. Please
               NVRM:  visit http://www.nvidia.com/object/unix.html for more
               NVRM:  information.  The 515.43.04 NVIDIA driver will ignore
               NVRM:  this GPU.  Continuing probe...
[  334.731534] NVRM: The NVIDIA Tesla K40m GPU installed in this system is
               NVRM:  supported through the NVIDIA 470.xx Legacy drivers. Please
               NVRM:  visit http://www.nvidia.com/object/unix.html for more
               NVRM:  information.  The 515.43.04 NVIDIA driver will ignore
               NVRM:  this GPU.  Continuing probe...
[  334.731537] NVRM: No NVIDIA GPU found.

Replying to provide a little bit of a fuzzy update.

After tinkering with snapshot-11.4.2 and $current repos, I believe I have a mostly running 11.4.4 cuda env.

Steps taken:

  1. set repo to snapshot-11.4.2
  2. apt-get update ; apt-get install cuda
  3. set repo to $current ; apt-get update
  4. apt-mark hold cuda
  5. apt-get dist-upgrade
  6. apt-get install cuda-drivers=470.103.01-1
  7. apt-get install cuda-11-4 cuda-runtime-11-4
  8. apt-get install nvidia-settings=470.103.01-0ubuntu1 nvidia-modprobe=470.103.01-0ubuntu1
  9. apt-get install cuda-toolkit-config-common=11.4.148-1 cuda-toolkit-11-config-common=11.4.148-1
  10. apt-mark hold cuda-toolkit-11-config-common cuda-toolkit-config-common nvidia-modprobe nvidia-settings
  11. apt-get install cuda=11.4.4-1

This leaves me with this list of packages, which I believe would be a complete 11.4.4 install.

$ dpkg -l | grep -i -e nvidia -e cuda | grep -v rc
ii  cuda                                  11.4.4-1                           amd64        CUDA meta-package
ii  cuda-11-4                             11.4.4-1                           amd64        CUDA 11.4 meta-package
ii  cuda-cccl-11-4                        11.4.122-1                         amd64        CUDA CCCL
ii  cuda-command-line-tools-11-4          11.4.4-1                           amd64        CUDA command-line tools
ii  cuda-compiler-11-4                    11.4.4-1                           amd64        CUDA compiler
ii  cuda-cudart-11-4                      11.4.148-1                         amd64        CUDA Runtime native Libraries
ii  cuda-cudart-dev-11-4                  11.4.148-1                         amd64        CUDA Runtime native dev links, headers
ii  cuda-cuobjdump-11-4                   11.4.120-1                         amd64        CUDA cuobjdump
ii  cuda-cupti-11-4                       11.4.120-1                         amd64        CUDA profiling tools runtime libs.
ii  cuda-cupti-dev-11-4                   11.4.120-1                         amd64        CUDA profiling tools interface.
ii  cuda-cuxxfilt-11-4                    11.4.120-1                         amd64        CUDA cuxxfilt
ii  cuda-demo-suite-11-4                  11.4.100-1                         amd64        Demo suite for CUDA
ii  cuda-documentation-11-4               11.4.126-1                         amd64        CUDA documentation
ii  cuda-driver-dev-11-4                  11.4.148-1                         amd64        CUDA Driver native dev stub library
ii  cuda-drivers                          470.103.01-1                       amd64        CUDA Driver meta-package, branch-agnostic
ii  cuda-drivers-470                      470.103.01-1                       amd64        CUDA Driver meta-package, branch-specific
ii  cuda-gdb-11-4                         11.4.120-1                         amd64        CUDA-GDB
ii  cuda-libraries-11-4                   11.4.4-1                           amd64        CUDA Libraries 11.4 meta-package
ii  cuda-libraries-dev-11-4               11.4.4-1                           amd64        CUDA Libraries 11.4 development meta-package
ii  cuda-memcheck-11-4                    11.4.120-1                         amd64        CUDA-MEMCHECK
ii  cuda-nsight-11-4                      11.4.120-1                         amd64        CUDA nsight
ii  cuda-nsight-compute-11-4              11.4.4-1                           amd64        NVIDIA Nsight Compute
ii  cuda-nsight-systems-11-4              11.4.4-1                           amd64        NVIDIA Nsight Systems
ii  cuda-nvcc-11-4                        11.4.152-1                         amd64        CUDA nvcc
ii  cuda-nvdisasm-11-4                    11.4.152-1                         amd64        CUDA disassembler
ii  cuda-nvml-dev-11-4                    11.4.120-1                         amd64        NVML native dev links, headers
ii  cuda-nvprof-11-4                      11.4.120-1                         amd64        CUDA Profiler tools
ii  cuda-nvprune-11-4                     11.4.120-1                         amd64        CUDA nvprune
ii  cuda-nvrtc-11-4                       11.4.152-1                         amd64        NVRTC native runtime libraries
ii  cuda-nvrtc-dev-11-4                   11.4.152-1                         amd64        NVRTC native dev links, headers
ii  cuda-nvtx-11-4                        11.4.120-1                         amd64        NVIDIA Tools Extension
ii  cuda-nvvp-11-4                        11.4.193-1                         amd64        CUDA Profiler tools
ii  cuda-runtime-11-4                     11.4.4-1                           amd64        CUDA Runtime 11.4 meta-package
ii  cuda-samples-11-4                     11.4.120-1                         amd64        CUDA example applications
ii  cuda-sanitizer-11-4                   11.4.120-1                         amd64        CUDA Sanitizer
ii  cuda-toolkit-11-4                     11.4.4-1                           amd64        CUDA Toolkit 11.4 meta-package
ii  cuda-toolkit-11-4-config-common       11.4.148-1                         all          Common config package for CUDA Toolkit 11.4.
hi  cuda-toolkit-11-config-common         11.4.148-1                         all          Common config package for CUDA Toolkit 11.
hi  cuda-toolkit-config-common            11.4.148-1                         all          Common config package for CUDA Toolkit.
ii  cuda-tools-11-4                       11.4.4-1                           amd64        CUDA Tools meta-package
ii  cuda-visual-tools-11-4                11.4.4-1                           amd64        CUDA visual tools
ii  libcufile-11-4                        1.0.2.10-1                         amd64        Library for GPU Direct Storage with CUDA 11.4
ii  libcusolver-11-4                      11.2.0.120-1                       amd64        CUDA solver native runtime libraries
ii  libcusolver-dev-11-4                  11.2.0.120-1                       amd64        CUDA solver native dev links, headers
ii  libnvidia-cfg1-470:amd64              470.103.01-0ubuntu1                amd64        NVIDIA binary OpenGL/GLX configuration library
ii  libnvidia-common-470                  470.103.01-0ubuntu1                all          Shared files used by the NVIDIA libraries
ii  libnvidia-compute-470:amd64           470.103.01-0ubuntu1                amd64        NVIDIA libcompute package
ii  libnvidia-decode-470:amd64            470.103.01-0ubuntu1                amd64        NVIDIA Video Decoding runtime libraries
ii  libnvidia-encode-470:amd64            470.103.01-0ubuntu1                amd64        NVENC Video Encoding runtime library
ii  libnvidia-extra-470:amd64             470.103.01-0ubuntu1                amd64        Extra libraries for the NVIDIA driver
ii  libnvidia-fbc1-470:amd64              470.103.01-0ubuntu1                amd64        NVIDIA OpenGL-based Framebuffer Capture runtime library
ii  libnvidia-gl-470:amd64                470.103.01-0ubuntu1                amd64        NVIDIA OpenGL/GLX/EGL/GLES GLVND libraries and Vulkan ICD
ii  libnvidia-ifr1-470:amd64              470.103.01-0ubuntu1                amd64        NVIDIA OpenGL-based Inband Frame Readback runtime library
ii  nsight-compute-2021.2.2               2021.2.2.1-1                       amd64        NVIDIA Nsight Compute
ii  nvidia-compute-utils-470              470.103.01-0ubuntu1                amd64        NVIDIA compute utilities
ii  nvidia-dkms-470                       470.103.01-0ubuntu1                amd64        NVIDIA DKMS package
ii  nvidia-driver-470                     470.103.01-0ubuntu1                amd64        NVIDIA driver metapackage
ii  nvidia-kernel-common-470              470.103.01-0ubuntu1                amd64        Shared files used with the kernel module
hi  nvidia-modprobe                       470.103.01-0ubuntu1                amd64        Load the NVIDIA kernel driver and create device files
ii  nvidia-prime                          0.8.16~0.20.04.2                   all          Tools to enable NVIDIA's Prime
hi  nvidia-settings                       470.103.01-0ubuntu1                amd64        Tool for configuring the NVIDIA graphics driver
ii  nvidia-utils-470                      470.103.01-0ubuntu1                amd64        NVIDIA driver support binaries
ii  screen-resolution-extra               0.18build1                         all          Extension for the nvidia-settings control panel
ii  xserver-xorg-video-nvidia-470         470.103.01-0ubuntu1                amd64        NVIDIA binary Xorg driver

So, even though I appear to have been able to work around my issues, the issue still remains that anyone that were trying to install cuda drivers from scratch for, lets just say a K80, they are still out of luck trying to install drivers and libraries via the package manager without infrastructure that existed prior to 2021-10-16. So I’m hopeful that someone can provide some feedback on how to help those people in the future, because this can’t be that big of a corner case that no one else will run into it at some point.

1 Like

Thanks for the detailed post.
The question you post is quite interesting - I shall try to get someone from the network repos team chime in with some insight.
Thanks

1 Like

I have a similar problem trying to install cuda-10-1 via apt which suddenly has dependencies on nvidia-driver-515. I am running it in a docker container and the image was building fine last week but when I rebuilt the image this week, this issue came up.

I have a NVIDIA GeForce GTX 1060 using the 510 driver. I also cannot use the newest 515 driver which is being requested as a dependency by cuda-10-1.

Some more info, when trying to install cuda-10-1:

Step 26/52 : RUN apt install -y cuda-10-1
 ---> Running in 5d54f9aba7a9

Reading package lists...
Building dependency tree...
Reading state information...
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 cuda-10-1 : Depends: cuda-runtime-10-1 (>= 10.1.243) but it is not going to be installed
             Depends: cuda-demo-suite-10-1 (>= 10.1.243) but it is not going to be installed
E: Unable to correct problems, you have held broken packages.
The command '/bin/sh -c apt install -y cuda-10-1' returned a non-zero code: 100

Then installing the dependencies separately:

Step 26/53 : RUN apt install -y cuda-runtime-10-1
 ---> Running in 90608ac3ac46

Reading package lists...
Building dependency tree...
Reading state information...
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 cuda-runtime-10-1 : Depends: cuda-drivers (>= 418.87) but it is not going to be installed
E: Unable to correct problems, you have held broken packages.
The command '/bin/sh -c apt install -y cuda-runtime-10-1' returned a non-zero code: 100
Step 26/54 : RUN apt install -y cuda-drivers
 ---> Running in 5d054e392a56

Reading package lists...
Building dependency tree...
Reading state information...
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 cuda-drivers : Depends: cuda-drivers-515 (= 515.43.04-1) but it is not going to be installed
E: Unable to correct problems, you have held broken packages.
The command '/bin/sh -c apt install -y cuda-drivers' returned a non-zero code: 100

Here we can see that it depends on cuda-drivers-515 and there doesn’t seem to be a way around this issue. If I use aptitude to install cuda-10-1, it will force the install of the nvidia-driver-515 and remove the existing nvidia-driver-510 which allows the docker image to build, however does not solve the problem since the driver in the container is newer than the driver installed on the actual computer. Running nvidia-smi in the container returns the error of:

Failed to initialize NVML: Driver/library version mismatch

which is expected. Is this perhaps an error on Nvidia’s side, creating incorrect dependencies on the new 515 driver?

So I did some testing, and it does look like there is ever so slightly a way around this with the right combination.

I did a test of all the versions of cuda and all versions of cuda-drivers in the repo as of this morning, after the latest drivers were added.

for cudaver in $(apt list cuda -a 2>/dev/null | awk '{print $2}' | xargs) ; do for driverver in $(apt list cuda-drivers -a 2>/dev/null | awk '{print $2}' | xargs) ; do echo $cudaver $driverver ; sudo apt-get install cuda=$cudaver cuda-drivers=$driverver --dry-run 2>&1 > /dev/null ; echo $? ; done ; done

I’m just taking the exit code, 0 works, 100 doesn’t.

DRIVER/CUDA 515.43.04-1 510.47.03-1 510.39.01-1 495.29.05-1 470.129.06-1 470.103.01-1 470.82.01-1 470.57.02-1 470.42.01-1 465.19.01-1 460.106.00-1 460.91.03-1 460.73.01-1 460.32.03-1 460.27.04-1 455.45.01-1 455.32.00-1 455.23.05-1 450.191.01-1 450.172.01-1 450.156.00-1 450.142.00-1 450.119.04-1 450.119.03-1 450.102.04-1 450.80.02-1 450.51.06-1 450.51.05-1
11.7.0-1 TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
11.6.2-1 TRUE TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
11.6.1-1 TRUE TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
11.6.0-1 TRUE TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
11.5.2-1 TRUE TRUE FALSE TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
11.5.1-1 TRUE TRUE FALSE TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
11.5.0-1 TRUE TRUE FALSE TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
11.4.4-1 TRUE TRUE FALSE TRUE TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
11.4.3-1 TRUE TRUE FALSE TRUE TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
11.4.2-1 TRUE TRUE FALSE TRUE TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
11.4.1-1 TRUE TRUE FALSE TRUE TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
11.4.0-1 TRUE TRUE FALSE TRUE TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
11.3.1-1 TRUE TRUE FALSE TRUE TRUE FALSE FALSE FALSE FALSE TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
11.3.0-1 TRUE TRUE FALSE TRUE TRUE FALSE FALSE FALSE FALSE TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
11.2.2-1 TRUE TRUE FALSE TRUE TRUE FALSE FALSE FALSE FALSE TRUE TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
11.2.1-1 TRUE TRUE FALSE TRUE TRUE FALSE FALSE FALSE FALSE TRUE TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
11.2.0-1 TRUE TRUE FALSE TRUE TRUE FALSE FALSE FALSE FALSE TRUE TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
11.1.1-1 TRUE TRUE FALSE TRUE TRUE FALSE FALSE FALSE FALSE TRUE TRUE FALSE FALSE FALSE FALSE TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
11.1.0-1 TRUE TRUE FALSE TRUE TRUE FALSE FALSE FALSE FALSE TRUE TRUE FALSE FALSE FALSE FALSE TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
11.0.3-1 TRUE TRUE FALSE TRUE TRUE FALSE FALSE FALSE FALSE TRUE TRUE FALSE FALSE FALSE FALSE TRUE FALSE FALSE TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
11.0.2-1 TRUE TRUE FALSE TRUE TRUE FALSE FALSE FALSE FALSE TRUE TRUE FALSE FALSE FALSE FALSE TRUE FALSE FALSE TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE

I tested this against my snapshotted repo, which was taken after the 11.7.0 release, but before this latest legacy driver release, and results are the same, except that from R470,R660,R455,R450, shift the release one minor release previous in the chart, because the newer version has not usurped the latest version in my snapshotted mirror, here.

So, it does appear that it is possible to install the requisite “legacy” cuda+drivers, with the correct knowledge of what to install, which is this decoder ring of compatibility for cuda11.X+drivers

cuda/drivers R515 R510 R495 R470 R465 R460 R455 R450
11.7.0-1 515.43.04-1
11.6.2-1 515.43.04-1 510.47.03-1
11.5.2-1 515.43.04-1 510.47.03-1 495.29.05-1
11.4.4-1 515.43.04-1 510.47.03-1 495.29.05-1 470.129.06-1
11.3.1-1 515.43.04-1 510.47.03-1 495.29.05-1 470.129.06-1 465.19.01-1
11.2.2-1 515.43.04-1 510.47.03-1 495.29.05-1 470.129.06-1 465.19.01-1 460.106.00-1
11.1.1-1 515.43.04-1 510.47.03-1 495.29.05-1 470.129.06-1 465.19.01-1 460.106.00-1 455.45.01-1
11.0.3-1 515.43.04-1 510.47.03-1 495.29.05-1 470.129.06-1 465.19.01-1 460.106.00-1 455.45.01-1 450.191.01-1

Feels like it could included int he documentation somewhere for "If needing to install older cuda/drivers, sudo apt-get install cuda=$cudaver cuda-drivers=$driverver and explicitly state to use the cuda-drivers package, rather than the cuda-drivers-XYZ package, which intuitively feels like the correct package to install to get a specific driver version.

I imagine this could help user163220, so instead of apt-get install -y cuda-10-1, he should be doing apt-get install -y cuda=10.1.243-1 cuda-drivers=418.226.00-1, if I am reading the cuda-copmpatability page correctly.

So, in conclusion, it does appear that this is possible to achieve after all without a snapshotted repo, which is great news, its just (as far as I have found) poorly documented on how to actually achieve it, it feels like it should fall under Advanced Setup, because this would be a non-standard deployment, but the Driver Installation docuementation pretty well contradicts my findings here for installing an older branch with the cuda package(s).

You just need to know the right incantations to chant to be able to install a working install for something with deprecated compute capabilities, and I hope that maybe someone will find this helpful, and maybe it can make it into the documentation, because I doubt that I was the first, nor will I be the last to fall victim to this.

I guess to be the most succinct I was thinking that there should be something akin to:
To install a specific older driver, do:

Driver Command
R510 sudo apt-get install cuda=11.6.2-1 cuda-drivers=510.47.03-1
R495 sudo apt-get install cuda=11.5.2-1 cuda-drivers=495.29.05-1
R470 sudo apt-get install cuda=11.4.4-1 cuda-drivers=470.129.06-1
R465 sudo apt-get install cuda=11.3.1-1 cuda-drivers=465.19.01-1
R460 sudo apt-get install cuda=11.2.2-1 cuda-drivers=460.106.00-1
R455 sudo apt-get install cuda=1.1.1-1 cuda-drivers=455.45.01-1
R450 sudo apt-get install cuda=11.0.3-1 cuda-drivers=450.191.01-1

This is only for 20.04/focal, and also only for ubuntu/debian (apt) package manager, I’m sure there must be a similar yum/dnf/zypper method for accomplishing the same thing, but I’ll leave that to someone more experienced in that ecosystem to come up with that.

5 Likes

Also, I don’t know if it is possible to change the thread name, because “Ubuntu drivers pick/choose” isn’t exactly where this thread ended up, its more “Ubuntu install specific old cuda drivers combo” at this point, which could help others when searching in the future.

1 Like

Thank you for your detailed response! This worked for me :)

That was an excellent idea - so I changed the name as you suggested !

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.