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
古いバージョンの場合 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バージョンを選ぶ)
以下のようにコマンドを実行する(各自,公式ページみて置き換える)
# ダウンロードした 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