[정리중] ubuntu nvidia driver, cuda, cudnn install - jinwooklim/my-exp GitHub Wiki

Reference

https://docs.nvidia.com/datacenter/tesla/tesla-installation-notes/index.html#ubuntu-lts

https://levelup.gitconnected.com/install-the-cuda-driver-and-toolkit-on-linux-3494a4436d6

https://hiseon.me/linux/ubuntu/install_nvidia_driver/

https://askubuntu.com/questions/1292120/is-there-a-ppa-for-having-nvidia-cuda-toolkit-with-the-latest-cuda-11-1-for-ub

https://forums.developer.nvidia.com/t/installed-cuda-10-0-on-ubuntu-18-04-with-deb-file-nvidia-smi-couldnt-communicate-with-nvidia-driver/80788/2


Manual

  1. Remove any NVIDIA traces that you may have on your system.

    sudo rm /etc/apt/sources.list.d/cuda*
    sudo apt remove --autoremove nvidia-cuda-toolkit
    sudo apt remove --autoremove nvidia-*
    sudo apt-get --purge remove "*cublus*" "*cuda*"
    sudo apt-get --purge remove "*nvidia*"
    
  2. Install driver

    • 1.1 : auto install

      sudo ubuntu-drivers autoinstall
      

      1.2 : manual install

      sudo apt install sudo gnupg
      sudo apt update
      sudo add-apt-repository ppa:graphics-drivers
      sudo apt update
      sudo apt-get install nvidia-driver-460
      sudo apt-get install dkms nvidia-modprobe
      sudo reboot
      nvidia-smi
      

    @ Driver install 까지만 하고, nvidia-docker, conda 등 가상환경 방법들을 사용하는게 좋습니다

  3. Get NVIDIA public key

    release="ubuntu"$(lsb_release -sr | sed -e "s/\.//g")
    echo $release
    sudo apt-key adv --fetch-keys http://developer.download.nvidia.com/compute/cuda/repos/"$release"/x86_64/7fa2af80.pub
    
  4. Add NVIDIA to the Source List Directory

    release="ubuntu"$(lsb_release -sr | sed -e "s/\.//g")
    echo $release
    sudo sh -c 'echo "deb http://developer.download.nvidia.com/compute/cuda/repos/"$release"/x86_64 /" > /etc/apt/sources.list.d/cuda.list'
    
  5. Install NVIDIA CUDA Toolkit

    sudo apt-get update
    sudo apt-get install cuda-toolkit-11-0 cuda-toolkit-10-2
    # 위 방법을 써야지만 Driver가 dependency로 변경되지 않음
    (X) sudo apt-get install cuda-11-0 -> Driver를 변경하게 만듬
    
  6. Add NVIDIA to the Source List Directory

    release="ubuntu"$(lsb_release -sr | sed -e "s/\.//g")
    echo $release
    sudo sh -c 'echo "deb http://developer.download.nvidia.com/compute/machine-learning/repos/"$release"/x86_64 /" > /etc/apt/sources.list.d/nvidia-machine-learning.list'
    
  7. Install CUDA and CUDNN

    sudo apt-get update
    sudo apt-get install --no-install-recommends cuda-11-0 libcudnn8=8.0.5.39-1+cuda11.0 libcudnn8-dev=8.0.5.39-1+cuda11.0
    

Deprecated

  1. Open the terminal and remove any NVIDIA traces that you may have on your system.

    sudo rm /etc/apt/sources.list.d/cuda*
    sudo apt remove --autoremove nvidia-cuda-toolkit
    sudo apt remove --autoremove nvidia-*
    sudo apt-get --purge remove "*cublus*" "*cuda*"
    sudo apt-get --purge remove "*nvidia*"
    
  2. Setup the correct CUDA PPA on your system.

    sudo apt update
    
    release="ubuntu"$(lsb_release -sr | sed -e "s/\.//g")
    echo $release
    
    sudo apt install sudo gnupg
    sudo apt update
    sudo add-apt-repository ppa:graphics-drivers
    sudo apt-key adv --fetch-keys "http://developer.download.nvidia.com/compute/cuda/repos/"$release"/x86_64/7fa2af80.pub"
    sudo sh -c 'echo "deb http://developer.download.nvidia.com/compute/cuda/repos/'$release'/x86_64 /" > /etc/apt/sources.list.d/nvidia-cuda.list'
    sudo sh -c 'echo "deb http://developer.download.nvidia.com/compute/machine-learning/repos/'$release'/x86_64 /" > /etc/apt/sources.list.d/nvidia-machine-learning.list'
    sudo apt update
    
  3. Install nvidia-driver

    sudo apt update
    sudo apt-get install nvidia-driver-460
    sudo apt-get install dkms nvidia-modprobe
    sudo reboot
    nvidia-smi
    
  4. Install CUDA packages.

    sudo apt update
    (X) sudo apt-get install cuda-11-0 -> Driver를 변경하게 만듬
    # 아래 방법을 써야지만 Driver가 dependency로 변경되지 않음
    sudo apt install cuda-toolkit-11-0
    sudo reboot
    cat /usr/local/cuda/version.txt
    
  5. Install CUDNN pacakges

    release="ubuntu"$(lsb_release -sr | sed -e "s/\.//g")
    echo $release
    
    wget https://developer.download.nvidia.com/compute/cuda/repos/$release/x86_64/cuda-$release.pin
    sudo mv cuda-$release.pin /etc/apt/preferences.d/cuda-repository-pin-600
    sudo apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/$release/x86_64/7fa2af80.pub
    sudo add-apt-repository "deb https://developer.download.nvidia.com/compute/cuda/repos/$release/x86_64/ /"
    sudo apt-get update
    
    sudo apt update
    sudo apt-get install libcudnn8=${cudnn_version}-1+${cuda_version}
    sudo apt-get install libcudnn8-dev=${cudnn_version}-1+${cuda_version}
    
    # ${cudnn_version} is 8.1.1.*
    # ${cuda_version} is cuda10.2 or cuda11.2