# Pytorch ## GPUを使う #### 必須環境 - Nvidia製 GPU - CUDA - (AMD製 GPU は CUDA に代わる ROCm がある.ただ,まだまだ) #### CUDA version の確認 GPU 演算をするためには,Pytorch が要求する CUDA バージョンが必要 [公式ページ](https://pytorch.org)より Pytorch と CUDA のバージョンを確認する ※ Pytorch 2.1.0の場合,CUDA11.8 or CUDA12.1 > 古いバージョンの場合 > [Previous Version](https://pytorch.org/get-started/previous-versions/)のコマンドを見て判断 #### CUDAのインストール [Install_CUDA](../linux/install_cuda.md) を参照 `$ nvcc -V` が実行できていれば良い ## Error解決法 1.**import torchで以下のエラー**
`ImportError: libcudnn.so.8: cannot open shared object file: No such file or directory`

**解決方法** libcudnn8をインストールする(Dockerのコンテナ内で発生した場合は,以下をコンテナ内で実行する) [https://developer.download.nvidia.com/compute/cuda/repos/](https://developer.download.nvidia.com/compute/cuda/repos/) でdistributionを選択し,x86_64へ そして,libcudnn8_8.5.0.96-1+cuda11.7_amd64.debのURLをコビー(自身の環境にあったcudaバージョンを選ぶ) ※cudaバージョンは,`nvcc -V`というコマンドを実行するとわかる.`nvidia-smi`は違うので注意 URLはコピーしたものに変更し,以下のコマンドを実行 (devファイルをダウンロードするため,tempフォルダなどで実行すると良い) ```bash   $ wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/libcudnn8_8.5.0.96-1+cuda11.7_amd64.deb $ sudo dpkg -i libcudnn8_8.5.0.96-1+cuda11.7_amd64.deb ``` 2.**import torchで以下のエラー**
`ImportError: libnccl.so.2: cannot open shared object file: No such file or directory`

**解決方法** libncclをインストールする [https://developer.nvidia.com/nccl/nccl-download](https://developer.nvidia.com/nccl/nccl-download) にアクセス(Nvidia Developerのアカウント登録が必要) Licenseの同意チェックボックスにチェックを入れて,バージョンのリストを表示する ない場合は,Legacy Downloadから探す 今回は,"Download NCCL 2.18.3, for CUDA 12.1, June 13th, 2023"の Local installer for Ubuntu 22.04 を手動でダウンロード(自身の環境にあったcudaバージョンを選ぶ) 以下のようにコマンドを実行する(各自,公式ページみて置き換える) ```bash # ダウンロードした Installer を指定 $ sudo dpkg -i nccl-local-repo-ubuntu2204-2.18.3-cuda12.1_1.0-1_amd64.deb # dpkgコマンドの出力結果にあるコマンドの実行 $ sudo cp /var/nccl-local-repo-ubuntu2204-2.18.3-cuda12.1/nccl-local-xxxxxx-keyring.gpg /usr/share/keyrings/ # libnccl2のインストール $ sudo apt update $ sudo apt install libnccl2=2.18.3-1+cuda12.1 libnccl-dev=2.18.3-1+cuda12.1 ```