CUDAとcuDNNの入れ方・バージョンの切り替え方(Ubuntu22.04)
Ubuntu 22.04 でのCUDAとcuDNNの導入手順と、複数バージョンの切り替え方法の解説。機械学習環境構築の備忘録。
この記事はなに?
・機械学習関連ソフトは、使っているCUDAのバージョンがまちまちである
・CUDAは後方依存性が無いことが多い(NVCCというコンパイラを使う場合に顕著)
・つまり環境を作り直す機会が多くてだるい
・うろ覚えでやっていたため、せめてそろそろまとめたほうが良いと思ったので備忘録
・Bloggerではマークダウンが使えないのだけれど、使えるようにしたいなあと思いながらマークダウンで書いている
前提
・Ubuntu22.04
・NVidiaアカウントを持っていること
・へこたれない強さを持っていること
手順
1. CUDAとNVidiaドライバのアンインストール
考えるよりも全部消したほうが早い(脳筋メソッド)
sudo apt --purge remove nvidia\* sudo apt --purge remove cuda\* sudo apt --purge remove cudnn\* sudo apt --purge remove libnvidia\* sudo apt --purge remove libcuda\* sudo apt --purge remove libcudnn\* sudo apt autoremove sudo apt autoclean sudo apt update sudo rm -rf /usr/local/cuda\*
2. グラフィックドライバを入れ直す
こいつを忘れると起動しなくなる
sudo add-apt-repository ppa:graphics-drivers/ppa sudo apt update ubuntu-drivers devices sudo apt install nvidia-driver-(適当なバージョン)
3. 再起動
お茶の準備をしましょうね
4. CUDAを入れる
ダウンロード先:https://developer.nvidia.com/cuda-downloads
wget https://developer.download.nvidia.com/compute/cuda/12.2.1/local\_installers/cuda\*\_linux.run
sudo sh cuda\_\*\_linux.run
クソ長EULAのあとに「accept」を入力すると進む
(確認のための入力画面がたまに表示されないことがあるけれど、入力してEnterすれば進む)
オプション画面で、CUDAだけのインストールにしておく。
グラフィックドライバの[X]は消しておく。
ターミナルの標準出力に「環境変数通しとけよオラァ(意訳)」というコメントが出てくるので、そのとおりによしなにやる。
例はCUDA11.8のインストール後の環境変数 ~/.bashrc
export PATH=HOME/.local/bin:$PATH+:${PATH} export PATH=/usr/local/cuda-11.8/bin:$PATH+:${PATH} export LD\_LIBRARY\_PATH=/usr/local/cuda-11.8/lib64:$LD\_LIBRARY\_PATH+:${LD\_LIBRARY\_PATH} export LD\_LIBRARY\_PATH=/usr/local/cuda/lib64:$LD\_LIBRARY\_PATH+:${LD\_LIBRARY\_PATH} export LD\_LIBRARY\_PATH=/usr/lib/cuda/include:$LD\_LIBRARY\_PATH+:${LD\_LIBRARY\_PATH}
5. cuDNNを入れる
https://developer.nvidia.com/rdp/cudnn-download https://docs.nvidia.com/deeplearning/cudnn/install-guide/index.html
適切なバージョンの.debファイルを落としてきて、
sudo apt install libcudnn8 libcudnn8-dev -y
sudo apt upgrade
6. (必要な場合) NVidiaDockerを入れ直す
参考:
https://developer.nvidia.com/blog/updating-the-cuda-linux-gpg-repository-key/
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 distribution="ubuntu22.04" \ && 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/experimental/$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
#ここでエラーが起きたら、etc/apt/sources.d/にあるnvidia\* をsudoでrmする 古いリポジトリが悪さをするため
sudo apt update sudo apt install -y nvidia-docker2 #https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/install-guide.html#docker
sudo apt-get update sudo apt-get install -y nvidia-container-toolkit sudo nvidia-ctk runtime configure --runtime=docker sudo systemctl restart docker
ざっくり、こんな感じでいけるはず。
まったり、お茶をのみながら、やっていこうね。