バージョンを上げたかったが、意外とバージョン指定でインストールする方法がなかったのでまとめる。
環境
- OS: Ubuntu 22.04.1 LTS
- kernel: 6.8.0-50-generic
nvidia-driverとCUDAを入れる(バージョンを11.8に指定)
以下の2ページを見比べて実行するのが一番いいと思う
- 日本語による一番わかりやすい解説:https://www.kkaneko.jp/tools/ubuntu/ubuntu_cudnn.html
- 英語の公式ドキュメント:https://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html#ubuntu
# nvidia関係のパッケージを全消去 sudo apt --purge remove -y *nvidia-* sudo apt --purge remove -y cuda-* sudo apt purge cuda-keyring # なぜか上では消えないので sudo apt --purge remove -y libcudnn* sudo apt --purge remove -y cudnn-* sudo apt autoremove -y # ちゃんと消せてれば左端がすべて rc になってるはず(もしくはそもそも何も表示されない) dpkg -l | grep cuda dpkg -l | grep nvidia # ヘッダファイルがなければ入れる sudo apt -y update sudo apt -y install linux-headers-$(uname -r) # 各種パッケージのアップグレード sudo apt -y update sudo apt -y upgrade sudo apt dist-upgrade # keyringを入れる ## aptにnvidiaのリポジトリを登録することで、nvidia関係のパッケージをaptでインストールできるようにする wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-keyring_1.0-1_all.deb sudo dpkg -i cuda-keyring_1.0-1_all.deb # nvidia-driverをインストール ubuntu-drivers devices # 使用可能なdriverの確認。ここでrecommendedされてるdriverを次で入れる sudo apt install nvidia-driver-565 # 今回はnvidia-driver-565がrecommendされてたのでこれで sudo update-initramfs -u sudo reboot # 再起動 # nvidia-smiが使えることを確認 nvidia-smi
# nvidia cuda toolkitをインストール ## ここでnvccやcuda-toolkit(nvidia-cuda-toolkitではない)などもインストールされる apt-cache search cuda-11-8 # インストール可否の調査 sudo apt update sudo apt install cuda-11-8 sudo update-initramfs -u sudo reboot # 再起動 # nvidia cuda toolkitにパスを通す ## 今回は/etc/profile.d/cuda_env.shを用いる cd /etc/profile.d cat <<EOF > ./cuda_env.sh #!/bin/bash export CUDA_PATH=$CUDA_PATH export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:\${LD_LIBRARY_PATH} export PATH=$PATH_APPEND:\${PATH} EOF # nvidia cuda toolkitがインストールされたことを確認 cat /usr/local/cuda-11.8/version.json nvcc -V
nvidia container toolkitのインストール
container周りに関してはインストール方法の変更が頻繁に行われる1ため、公式ドキュメントを参考にした。 https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/latest/install-guide.html
# リポジトリを追加してからインストール 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/stable/deb/nvidia-container-toolkit.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 update sudo apt install nvidia-container-toolkit # Dockerの設定 sudo nvidia-ctk runtime configure --runtime=docker sudo systemctl restart docker # Docker上でnvidia-smiが使えるか確認 sudo docker run --rm --runtime=nvidia --gpus all ubuntu nvidia-smi