最新のCUDA環境のセットアップの方法を解説します。以前の記事(2023年2月)のアップデート版になります。Stable DiffusionやWhisper、LLM系の各種アプリなどを手動のカスタマイズ環境でWindowsネイティブ環境にインストールしたい方向けの参考資料です。以前の記事も合わせてご参考いただければと思います。
NVIDIAドライバーの更新
もし、古いNVIDIAドライバーを使っている場合、Webサイトから新しいバージョンのドライバーをインストールしましょう。ただし、2023年頃にアップデートされたNVIDIAのGPUドライバーが一部のGPUを「壊してしまう」という致命的なバグがあったそうです。2023年9月17日現在、最新版は537.34のようで、このバージョンについては致命的なバグは聞いていません。比較的安定なバージョンとして532.03や531.79は良く使われているようです。NVIDIAドライバーなどが以下のサイトからダウンロードできますので各自お使いのGPUに応じたダウンロードをセットアップしてください。
NVIDIAのGPUドライバーのバージョンは「GEFORCE Experience」の歯車の設定ボタンを開いて確認できます。ドライバーがインストールされていないか、古い場合はインストールします。
Build Tools for Visual Studio(C++コンパイラ)のインストール
CUDA Toolkitのインストールに必要なC++コンパイラをインストールします。下記のリンク先から「Build Tools for Visual Studio 2022」のインストーラーをダウンロードしてインストールします。
Visual Studio Toolのダウンロードサイト(Microsoft公式)
「Build Tools for Visual Studio2022」のインストーラーから「C++によるデスクトップ開発」と、左側の「v143ビルドツール用C++/CLIサポート(最新)」にチェックを入れて、インストールします。インストール後、再起動が促されるので、再起動します。
PyTorchソフトウエア要件確認
公式ページから要件を確認します。2023年9月17日現在、安定版がPyTorch2.0.1で、Windows版はCUDA11.7かCUDA11.8が対応しているようです。また、この公式サイトの記述からPythonは3.8~3.11をサポートしているようです。それぞれ、適合したバージョンを使うことが必要です。最新版を使えば良いわけではないことに注意しましょう。
CUDAのセットアップ
CUDA(Compute Unified Device Architecture)はNVIDIAが開発したGPUで高性能な計算を行うためのアーキテクチャを定義したプログラミングモデルと、その実装を支援するライブラリからなります。CUDAはそれらの要素を連携させて、GPUを効率的に動かすことができるようになります。
今回はPyTorch2.0.1を使うためにCUDA11.7をセットアップします。CUDA11.7のセットアップの方法は以前の記事で詳細に説明しているので、ここでの説明は省略します。そちらをご参照いただき、CUDA11.7とcuDNNをセットアップしてください。(CUDA11.7とcuDNNのインストールとPATH設定までお願います。)
PythonおよびPyTorchのGPU計算環境構築
2023年9月現在のPyTorchの安定版はPyTorch2.0.1で、Pythonは3.8~3.11がサポートされています。ここでは現在、Stable Diffusionをはじめとしていろいろなライブラリのテスト環境として最もメジャーなPython3.10をインストールして環境構築をしてみます。
Python3.10は、ここからダウンロードします。
上のサイトからWindowsの方はWindows installer (64-bit)を選んでインストーラーをダウンロードして実行してください。実行すると下のような画面が表示されますので、「Add Python 3.10 to PATH」にチェックを入れてから、「Install Now」でインストールをしましょう。
続いて、PyTorchの仮想環境を作成します。好きなフォルダを作成して、そのフォルダを「shift」+右クリックでターミナルやPowerShellでフォルダを開きます。以下、開いたCLIに以下のコマンドを順番に入力します。
py -3.10 -m venv venv
.\venv\Scripts\Activate.ps1
もし、この時、「このシステムではスクリプトの実行が無効になっているため、ファイル xxxx\venv\Scripts\Activate.ps1 を読み込むことができません。」というエラーが出た場合は、スクリプトの実行制限がされているので、セキュリティ設定を変更してやります。(詳しくはQiitaの参考記事参照)
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser -Force
上記でスクリプトを実行できるようになるかと思います。再度以下のコマンドを入力すると、今度はエラーが出ないと思います。
.\venv\Scripts\Activate.ps1
上記のコマンドにより、入力欄に「(venv)」と表示されて、仮想環境に入ったことが分かります。次回から、仮想環境を使うときは上記のコマンドで同じフォルダ内で実行することで、仮想環境を立ち上げることができます。
次いで、以下のコマンドでCUDA環境でのPyTorchの設定ができます。
python -m pip install -U pip setuptools
pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu117
PyTorchの起動テスト
PyTorchを起動して、GPUで使えることを確認します。以下は「.\venv\Scripts\Activate.ps1」で仮想環境に入った状態で実行します。
python
import torch
torch.cuda.is_available()
True
これが「True」になっていたらちゃんとGPUでの計算環境ができています。もし、「False」になった場合はどこか設定がうまくいっていませんので、設定を見直してください。もし、分からないことがあれば、問い合わせフォームよりご質問ください。
コメント