Quadro RTX　セットアップメモ

# 前置き
- 例のごとく、非公式の自社手順書（生ものなので）
- 前回 RTX 4000系＋AMD,Intel 最新マザーでのトラブルシューティングつづき
- 今回は4000でも A4000
- めったに触らせてもらえないのと、情報が少ないので備忘録として残します

:::note info
インフォメーション
- OSはUbuntu 22.04
- Quadro RTX 4000での個人的な体験です
:::

https://qiita.com/Manyan3/items/9109e1f46fe0898040a9

# ドライブとCUDAセットアップ
## ドライバとCUDAをセットアップするなら公式ダウンロードページ
- 執筆時点でCUDA Toolkit 12.4 Downloadsのページ（2024年3月上旬）よりセットアップ
- **ドライバのセットアップに失敗する事例が発生**

:::note info
トラブルの原因
- GeForceのRTXと同じバージョンでインストールできるだろうと思い込んでいた
- CUDAは問題なし
- なお、CUDAインストールも丸写しで失敗してしまう
:::

```Ubuntu：ターミナル画面

# Geforce RTX 40xxでは以下で問題なし
sudo apt install nvidia-driver-535

# Quadro RTX A4000では最後に微妙にdpkgが失敗みたいな表示がよく見ると出ていた
sudo apt install nvidia-driver-535

```

### インストールできるドライバを確認
- 他の3000番や4000番のGeForceでは反射的にCUDA12.2などをつかっているので、そのまま
- 結果、nvcc -V ができない（インストールに失敗する）
- A4000についてはGeForceに合わせたCUDAをインストールすると必ず失敗
- Ubuntu-drivers devices


:::note info
追加情報（RTX A2000）
- OSはUbuntu 22.04
- こちらではNeavauドライバも問題なく入りました。
- CUDAの最新版のインストールも支障がありませんでした・・・ということはRTXシリーズでも新しい製品に起こる現象のようですね。
### 他のエラー
- nvcc -Vに失敗するのはRTX 4000同様。
:::

<details><summary>Ubuntu-drivers devices結果比較</summary>

```Ubuntu：ターミナル画面

# Geforce 表示例
== /sys/devices/pci0000:00/0000:00:01.1/0000:10:00.0 ==
modalias : pci:v000010DEd00002204sv00001462sd00003881bc03sc00i00
vendor   : NVIDIA Corporation
model    : GA102 [GeForce RTX 3090]
driver   : nvidia-driver-535 - distro non-free recommended
driver   : nvidia-driver-470-server - distro non-free
driver   : nvidia-driver-535-open - distro non-free
driver   : nvidia-driver-545-open - distro non-free
driver   : nvidia-driver-525 - distro non-free
driver   : nvidia-driver-525-server - distro non-free
driver   : nvidia-driver-545 - distro non-free
driver   : nvidia-driver-525-open - distro non-free
driver   : nvidia-driver-535-server - distro non-free
driver   : nvidia-driver-535-server-open - distro non-free
driver   : nvidia-driver-520 - third-party non-free
driver   : nvidia-driver-470 - distro non-free
driver   : xserver-xorg-video-nouveau - distro free builtin


# Quadro RTX A4000 表示例
== /sys/devices/pci0000:00/0000:00:01.1/0000:01:00.0 ==
modalias : pci:v000010DEd000024B0sv000010DEsd000014ADbc03sc00i00
vendor   : NVIDIA Corporation
model    : GA104GL [RTX A4000]
driver   : nvidia-driver-545-open - distro non-free
driver   : nvidia-driver-550-open - third-party non-free
driver   : nvidia-driver-535 - distro non-free
driver   : nvidia-driver-470-server - distro non-free
driver   : nvidia-driver-550 - third-party non-free recommended
driver   : nvidia-driver-525-open - distro non-free
driver   : nvidia-driver-535-open - distro non-free
driver   : nvidia-driver-535-server-open - distro non-free
driver   : nvidia-driver-535-server - distro non-free
driver   : nvidia-driver-525 - distro non-free
driver   : nvidia-driver-545 - distro non-free
driver   : nvidia-driver-470 - distro non-free
driver   : nvidia-driver-525-server - distro non-free
driver   : xserver-xorg-video-nouveau - distro free builtin


```

</details>

# 解決例（CUDA12.4の例）

**CUDA ダウンロードページへアクセス**

- sudo apt-get -y install cuda-toolkit-12-xを古いバージョンと同じ記載にする
- 具体的にはsudo apt-get -y install cuda
- 新しいドライバをインストール済みの場合はインストール済みファイルを除去しておくといいです

```Ubuntu：ターミナル画面

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
wget https://developer.download.nvidia.com/compute/cuda/12.4.0/local_installers/cuda-repo-ubuntu2204-12-4-local_12.4.0-550.54.14-1_amd64.deb
sudo dpkg -i cuda-repo-ubuntu2204-12-4-local_12.4.0-550.54.14-1_amd64.deb
sudo cp /var/cuda-repo-ubuntu2204-12-4-local/cuda-*-keyring.gpg /usr/share/keyrings/
sudo apt-get update
♯ sudo apt-get -y install cuda-toolkit-12-4
sudo apt-get -y install cuda

```
## ドライバのインストールコマンドが画面下に出ていることに注意

```Ubuntu：ターミナル画面

sudo apt install -y cuda-drivers-550

```

## sudo apt -y install cuda-toolkit はバージョンつけない

```Ubuntu：ターミナル画面

sudo apt -y install cuda-toolkit

```

- 結果、nvidia-smiでドライバがないとかnvccでツールキットインストールとか怒られなくなりました

# おまけ（自社的に目的ですが）

**Stable Diffusion CLIで実行**
- 苦労第一でGUIは使わない縛り
- 本家では16GBなら768x768のV2は生成可能 10GB以下の機種では512x512で分割処理  
- GPU（CUDA）をほぼフル稼働した状態
- セットアップ手順はこちらでは省略します

https://github.com/Stability-AI/stablediffusion



```Ubuntu：1.5コマンド
PYTORCH_CUDA_ALLOC_CONF=max_split_size_mb:100 python scripts/txt2img.py --prompt "Japanese super express train near Tokyo station with kids"  --ckpt checkpoints/v1-5-pruned-emaonly.ckpt --device cuda --config configs/stable-diffusion/v1-inference.yaml --H 512 --W 512

```


```Ubuntu：ターミナル画面

-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 550.54.14              Driver Version: 550.54.14      CUDA Version: 12.4     |
|-----------------------------------------+------------------------+----------------------+
| GPU  Name                 Persistence-M | Bus-Id          Disp.A | Volatile Uncorr. ECC |
| Fan  Temp   Perf          Pwr:Usage/Cap |           Memory-Usage | GPU-Util  Compute M. |
|                                         |                        |               MIG M. |
|=========================================+========================+======================|
|   0  NVIDIA RTX A4000               Off |   00000000:01:00.0  On |                  Off |
| 41%   57C    P2            137W /  140W |   13199MiB /  16376MiB |    100%      Default |
|                                         |                        |                  N/A |
+-----------------------------------------+------------------------+----------------------+
                                                                                         
+-----------------------------------------------------------------------------------------+
| Processes:                                                                              |
|  GPU   GI   CI        PID   Type   Process name                              GPU Memory |
|        ID   ID                                                               Usage      |
|=========================================================================================|
|    0   N/A  N/A      1125      G   /usr/lib/xorg/Xorg                            144MiB |
|    0   N/A  N/A      1384      G   /usr/bin/gnome-shell                          134MiB |
|    0   N/A  N/A      2103      G   ...irefox/3836/usr/lib/firefox/firefox        172MiB |
|    0   N/A  N/A      8979      C   python                                      12734MiB |
+-----------------------------------------------------------------------------------------+

```


<details><summary>表示例</summary>


![askcaestx.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2155177/70ec9b6e-0511-753c-ae07-a196e82505d5.png)



</details>