2024年2月12日月曜日

apt upgradeする度に壊れるNVIDIAドライバを"とりあえず"復旧させる手順 (Ubuntu 22.04 LTS)

2024年2月11日日曜日

リモートデスクトップ環境を構築したい Part.1 SSH編 (Ubuntu 22.04 LTS)

2023年8月8日火曜日

CUDAとcuDNNの入れ方・バージョンの切り替え方(Ubuntu22.04)

この記事はなに?

・機械学習関連ソフトは、使っているCUDAのバージョンがまちまちである

・CUDAは後方依存性が無いことが多い(NVCCというコンパイラを使う場合に顕著)

・つまり環境を作り直す機会が多くてだるい

・うろ覚えでやっていたため、せめてそろそろまとめたほうが良いと思ったので備忘録

・Bloggerではマークダウンが使えないのだけれど、使えるようにしたいなあと思いながらマークダウンで書いている



前提

・Ubuntu22.04

・NVidiaアカウントを持っていること

・へこたれない強さを持っていること



手順

1. CUDAとNVidiaドライバのアンインストール


考えるよりも全部消したほうが早い(脳筋メソッド)

```bash
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. グラフィックドライバを入れ直す


こいつを忘れると起動しなくなる

```bash
sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt update

ubuntu-drivers devices

sudo apt install nvidia-driver-(適当なバージョン)

```


3. 再起動


お茶の準備をしましょうね



4. CUDAを入れる


```bash
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を入れる 



適切なバージョンの.debファイルを落としてきて、
```bash
sudo dpkg -i cudnn*.deb

#キーリングになんか追加しろって言われるので、その操作(cp )をした後、もう一回

sudo dpkg -i cudnn*.deb


sudo apt update

sudo apt install libcudnn8 libcudnn8-dev -y

 

sudo apt upgrade

```

6. (必要な場合) NVidiaDockerを入れ直す

参考:

https://developer.nvidia.com/blog/updating-the-cuda-linux-gpg-repository-key/


```bash

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

```


ざっくり、こんな感じでいけるはず。


まったり、お茶をのみながら、やっていこうね。

 

最新記事

apt upgradeする度に壊れるNVIDIAドライバを"とりあえず"復旧させる手順 (Ubuntu 22.04 LTS)

apt updateの度に壊れてしまうガラスのハートのNVIDIA Driverを復旧させる手順のまとめです(2024.02.12現在) この記事は根本解決を行いません。私はもう疲れてしまいました。 NVIDIAさんがCUDA12.4でcuda-...

人気の投稿