Ubuntu 20.04 に NVIDIA の CUDA のインストール方法です。私は主に Google Cloud や Amazon EC2 の GPU インスタンスを使っているので、それ前提で書きます。ストレージは20GB程度必要です。Python からしか使わない場合は Anconda 内蔵の CUDA を使用するのがお勧めです。
Ubuntu の他のバージョンはこちらをご覧ください。
- Ubuntu 16.04 https://qiita.com/yukoba/items/3692f1cb677b2383c983
- Ubuntu 18.04 https://qiita.com/yukoba/items/4733e8602fa4acabcc35
前準備
sudo apt update
sudo apt upgrade
CUDA 10や11をNVIDIAのリポジトリからインストール
Ubuntu 18.04 向けが https://developer.nvidia.com/cuda-downloads で配布されているのですが、Ubuntu 20.04 はまだ配布されていないのですが、Ubuntu 18.04 用がそのまま動きます。以下は、Installer Type で deb(network) を選択する場合の流れです。ここで apt install で cuda だと最新版がインストールされ、cuda-10-1 のようにバージョン指定も出来ます。
sudo apt-key adv --fetch-keys http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/7fa2af80.pub
wget wget http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/cuda-repo-ubuntu1804_10.2.89-1_amd64.deb
sudo dpkg -i cuda-repo-ubuntu1804_10.2.89-1_amd64.deb
sudo apt update
sudo apt install cuda cuda-drivers
sudo reboot
rm cuda-repo-ubuntu1804_10.2.89-1_amd64.deb
その後、~/.bashrc の末尾にこれを追加する必要があります。
export PATH="/usr/local/cuda/bin:$PATH"
export LD_LIBRARY_PATH="/usr/local/cuda/lib64:$LD_LIBRARY_PATH"
そして一度ログオフして再度ログインしてください。
nvidia-smi で動作確認です。cuBLAS など cuDNN 以外は一通りついてきます。
cuDNNのインストール
cuDNN は別配布ですが、こちらも Ubuntu 18.04 用がインストールできます。
echo "deb https://developer.download.nvidia.com/compute/machine-learning/repos/ubuntu1804/x86_64 /" | sudo tee /etc/apt/sources.list.d/nvidia-ml.list
sudo apt update
sudo apt install libcudnn7-dev
CUDA 10.1をUbuntuのリポジトリからインストール
NVIDIA のリポジトリからではなく、Ubuntu 20.04 のリポジトリからインストールする方法です。
sudo apt install nvidia-cuda-toolkit nvidia-driver-440
sudo reboot
nvidia-smi で動作確認です。cuBLAS など cuDNN 以外は一通りついてきます。
ただし、この方法は Ubuntu 20.04 である限り、ずっと CUDA 10.1 です。
Anaconda内蔵のCUDAとcuDNNを使用する場合
Anaconda で conda install tensorflow-gpu
などをすると自動的に CUDA と cuDNN がインストールされます。ただしデバイスドライバはインストールされないので sudo apt install nvidia-driver-440
して sudo reboot
が必要です。Python からしか使わない場合は、この方法が簡単です。NVIDIA のリポジトリは不要です。
GNOME Display Manager を止める
NVIDIA のリポジトリからのインストールでも、Ubuntu 20.04 のリポジトリからのインストールでも、ディスプレイマネージャーの GNOME Display Manager が動いてしまいます。普通のパソコンでは動くべきですが、クラウドで動かしている場合は(大きな害はないですが)無意味です。
以下のコマンドで止まります。
sudo systemctl set-default multi-user
sudo reboot
もし復活させたい場合は、以下のコマンドで復活します。
sudo systemctl set-default graphical
sudo reboot
後始末
sudo apt autoremove
sudo apt clean