Pytorch#

GPUを使う#

必須環境#

  • Nvidia製 GPU

  • CUDA

  • (AMD製 GPU は CUDA に代わる ROCm がある.ただ,まだまだ)

CUDA version の確認#

GPU 演算をするためには,Pytorch が要求する CUDA バージョンが必要
公式ページより Pytorch と CUDA のバージョンを確認する
※ Pytorch 2.1.0の場合,CUDA11.8 or CUDA12.1
../../_images/install_pytorch_0.png

古いバージョンの場合 Previous Versionのコマンドを見て判断

CUDAのインストール#

Install_CUDA を参照
$ 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/ でdistributionを選択し,x86_64へ
そして,libcudnn8_8.5.0.96-1+cuda11.7_amd64.debのURLをコビー(自身の環境にあったcudaバージョンを選ぶ)
※cudaバージョンは,nvcc -Vというコマンドを実行するとわかる.nvidia-smiは違うので注意
URLはコピーしたものに変更し,以下のコマンドを実行 (devファイルをダウンロードするため,tempフォルダなどで実行すると良い)

$ 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 にアクセス(Nvidia Developerのアカウント登録が必要)
Licenseの同意チェックボックスにチェックを入れて,バージョンのリストを表示する
ない場合は,Legacy Downloadから探す
今回は,"Download NCCL 2.18.3, for CUDA 12.1, June 13th, 2023"の Local installer for Ubuntu 22.04 を手動でダウンロード(自身の環境にあったcudaバージョンを選ぶ)
../../_images/install_pytorch_1.png 以下のようにコマンドを実行する(各自,公式ページみて置き換える)

# ダウンロードした 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