To anyone coming across this post, please note that
Canonical does not officially support
CUDA. Not being supported formally means that you could face problems that we did not while setting up our machine.
Recently we wanted to use our GPU to execute various
TensorFlow projects. We had to use version
1, specifically version
TensorFlow, on one of our attempts. That setup was causing many problems even after version
2 was working perfectly. There must be something different with version
1, and it is not supported correctly anymore. We recommend avoiding using it unless needed.
Finding out what graphics card we have
Before getting started, we executed the following command that gave us the model of our graphics card:
lspci | grep -i nvidia;
$ lspci | grep -i nvidia 01:00.0 VGA compatible controller: NVIDIA Corporation TU104 [GeForce RTX 2080 Rev. A] (rev a1) 01:00.1 Audio device: NVIDIA Corporation TU104 HD Audio Controller (rev a1) 01:00.2 USB controller: NVIDIA Corporation TU104 USB 3.1 Host Controller (rev a1) 01:00.3 Serial bus controller [0c80]: NVIDIA Corporation TU104 USB Type-C UCSI Controller (rev a1)
Installing dependencies and NVidia repositories
Then we proceeded to install the headers of our
Linux kernel, the repositories of
NVidia, and finally install
sudo apt-get install linux-headers-$(uname -r); wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/cuda-ubuntu2004.pin; sudo mv cuda-ubuntu2004.pin /etc/apt/preferences.d/cuda-repository-pin-600; sudo apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/7fa2af80.pub; sudo add-apt-repository "deb https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/ /"; sudo apt-get update; sudo apt-get -y install cuda; sudo apt-get install nvidia-gds;
After this step, we rebooted the computer to load the NVidia graphics driver.