PytorchやTensorFlowなどの深層学習フレームワークではGPUでの計算が可能です。
それらを自分の計算環境で利用するためには、GPUはもちろんのことソフトウェアで利用されているバージョンと同じ「CUDA Toolkit」を自分の計算環境にインストールする必要があります。
また、CUDA Toolkitはソフトウェアによって利用されているバージョンが異なるため、複数のバージョンを用意して切り換える必要があります。
本記事では、CUDA Toolkitのインストール方法とconda環境でバージョンを指定して利用する方法を紹介します。
実行環境
- OS: Ubuntu 22.04.3 LTS
- CPU: AMD Ryzen 7 5700X 8-Core Processor
- GPU: NVIDIA GeForce RTX 3060 Ti
- メモリ: 32GB
前提
CUDA Toolkitは、NVIDIA製GPUのみに対応したGPU向けの汎用計算ツールです。NVIDIA製GPUを搭載していないマシンでは扱うことができないのでご注意ください。
また、NVIDIAドライバーが必要です。NVIDIA製GPUを設定する際にインストールしていると思いますが、インストールしていない方は用意しておきましょう。
CUDA Toolkitのインストール方法
例としてCUDA Toolkitのバージョン11.8をインストールしてみます。バージョンに応じたインストール方法は公式が紹介しています(バージョン11.8)。
基本的にはこちらの方法で問題ありませんが、apt-getでインストールするのは「cuda」ではなく「cuda-toolkit-xxx (xxxはバージョン名)」にしましょう。
cudaのままインストールすると、最新バージョンがインストールされる、かつNVIDIAドライバーまで上書きされるのでご注意ください。
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/11.8.0/local_installers/cuda-repo-ubuntu2204-11-8-local_11.8.0-520.61.05-1_amd64.deb
sudo dpkg -i cuda-repo-ubuntu2204-11-8-local_11.8.0-520.61.05-1_amd64.deb
sudo cp /var/cuda-repo-ubuntu2204-11-8-local/cuda-*-keyring.gpg /usr/share/keyrings/
sudo apt-get update
sudo apt-get -y install cuda-toolkit-11.8
コマンド実行後は、/usr/local以下にCUDA Toolkit関連のファイルがインストールされます。
別のバージョンがインストールされていない場合は、以降11.8がCUDA Toolkitのデフォルトとして利用されます。別のバージョンがすでにインストールされている場合はデフォルトは変わりません。
conda環境でCUDA Toolkitのバージョンを指定する方法
論文のアルゴリズムを試したいなどの理由でデフォルト以外のCUDA Toolkitを利用したいことがあります。
そのようなケースでは、新たなconda環境で必要なライブラリをインストールしたのち、そのconda環境限定の環境変数を設定することで問題をクリアできます。
では、前項でインストールしたバージョン11.8を使うように指定してみたいと思います。
まずは、conda環境を起動して”/usr/local/cuda-11.8”を指定する「CUDA_HOME」という環境変数を作成します。
conda activate XXX (任意のconda環境)
conda env config vars set CUDA_HOME=/usr/local/cuda-11.8
作成した環境変数はconda環境を再起動しないと設定が反映されないので一度再起動します。
conda deactivate
conda activate XXX
次に、デフォルトで存在する「PATH」と「LD_LIBRARY_PATH」にバージョン11.8のCUDA Toolkitのパスを追加します。ここで追加したパスはconda環境起動中以外では反映されないので安心してください。
conda env config vars set PATH=$CUDA_HOME/bin:$PATH LD_LIBRARY_PATH=$CUDA_HOME/lib:$LD_LIBRARY_PATH
conda deactivate
conda activate XXX
最後にnvccコマンドでCUDAのコンパイラのバージョンを確認してみましょう。コンパイラはCUDA Toolkitに含まれているため、バージョンは11.8となっているはずです。
nvcc -V
以上、このconda環境においてはCUDA Toolkitのバージョン11.8が利用されるようになりました。
最後に
CUDA Toolkitのインストール方法とconda環境でバージョンを指定して利用する方法を紹介しました。環境構築の際の参考になれば幸いです。
コメント