Ubuntu22.04にCUDA, cuDNN,Docker,NVIDIA-Docker2を入れる
Ubuntu22.04 に CUDA11.7 と cuDNN8,nvidia-docker2 をインストールする手順.
Ubuntu は最小インストールで,サードパーティのパッケージをインストールするで
インストールしたものを用意.
CUDA 11.7
サードパーティインストールをすると,CUDA が勝手に入ってくるので全部削除する.
(本当はサードパーティインストールしなければよいが,Wifi ドライバとか入ってこないとめんどいので)
sudo apt purge *nvidia*
sudo apt autopurge
sudo apt purge nvidia-*
sudo apt purge nvidia-compute-*
sudo apt purge libnvidia*
sudo apt purge linux-objects-nvidia*
NVIDIA 公式から CUDA をインストールする.
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-ubuntu2204.pin
sudo mv cuda-ubuntu2204.pin /etc/apt/preferences.d/cuda-repository-pin-600
sudo apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/3bf863cc.pub
sudo add-apt-repository "deb https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/ /"
sudo apt-get update
sudo apt-get -y install cuda
sudo apt-get -y install cuda-drivers
ここで一度再起動する.
GPU が見えるようになったか確認するために,CUDA へ PATH を通す.
# CUDA
export PATH=/usr/local/cuda/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH
nvidia-smi
やnvcc -V
を試す.
cuDNN をインストールする
cuDNN を入れるには NVIDIA への会員登録が必要.
ダウンロードは以下から行う.
Local Installer Ubuntu2*.04 x86_64 を入れる.22.04 では 20.04 を入れても大丈夫だった.
上記のインストールガイドの通り,インストールする.
今回は dpkg を選択
sudo dpkg -i cudnn-local-repo-${OS}-8.x.x.x_1.0-1_amd64.deb
sudo apt-key add /var/cudnn-local-repo-*/7fa2af80.pub
sudo apt-get install libcudnn8
sudo apt-get install libcudnn8-dev
Docker を入れる
Docker は公式サイトの手順通り入れる.
GUI 版の Docker-Desktop for Linux を推されるが,CLI 運用なら Docker Engine だけで十分.
Desktop は商用とか人数とかで制限があるので注意.
docker コマンドを sudo なしで打てるようにするために,ユーザーを Docker グループに追加する.
sudo groupadd docker
sudo gpasswd -a $USER docker
sudo systemctl restart docker
このあとログアウトして再ログインする.
NVIDIA-Docker-2 を入れる
上記のサイトに従って入れる.
distribution=$(. /etc/os-release;echo $ID$VERSION_ID) \
&& curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg \
&& curl -s -L https://nvidia.github.io/libnvidia-container/$distribution/libnvidia-container.list | \
sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | \
sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list
sudo apt-get update
sudo apt-get install -y nvidia-docker2
sudo systemctl restart docker
コンテナから GPU が見えるかテストする.
sudo docker run --rm --gpus all nvidia/cuda:11.0.3-base-ubuntu20.04 nvidia-smi
注意
CUDA に PATH を通していない状態で,nvcc を打つと,cuda-toolkit
を入れろと言われるが入れてはいけない.
入れると,最新の CUDA である 11.7 が削除されて,インストール直後に入っていた 11.5 にフォールバックさせられてしまう.