Windows の最新の WSL (バージョンはもちろん2) 上で NVIDIA の GPU を使うのに、CUDA Toolkit と cuDNN のセットアップ方法のメモです。
私が2024年11月に新しい自作PCを組んでからこのセットアップをしてなかったので、ざっくりブログに残しておこうというところです。
ちなみに今回使っている環境は以下です。
- OS はWindows 11 version: 24H2
- グラボは NVIDIA GeForce RTX 4080 SUPER
- Ubuntu 24.04 LTS
NVIDIA のドライバーをインストール
まずは Windows 11 自体に NVIDIA のドライバーをインストールします。
(私の場合 Windows Terminal で) PowerShell を開いて nvivida-smi
と打ちます。これで NVIDIA の情報が表示されていればすでにドライバーがインストールされています。
もし、PC 作りたてでドライバーがインストールされてない場合は、以下の公式サイトから自身のグラボのドライバーをインストールしましょう。 NVIDIA Windows GeForce のドライバーで大丈夫です。この中にデフォルトで WSL 用の CUDA と Direct ML のも入っています。
Download The Official NVIDIA Drivers | NVIDIA
インストーラーからポチポチするだけなので特に手順は書きません。
WSL と ubuntu のインストール
もしまだの方は、WSL を有効にして ubuntu をインストールします。
これもドキュメント通りなので手順は省略です。
CUDA Toolkit のセットアップ
インストールされた ubuntu を起動します。
私の場合、Windows Terminal で ubuntu を開いて進めます。
ちなみに今回の環境では、Ubuntu 24.04 LTS
を使っています。
古い GPG Key の削除
まず最初に以下のコマンドを実行します。
sudo apt-key del 7fa2af80
このコマンドは、ざっくりいうとデフォルトでインストールされている古い GPG key を削除するもので、NVIDIA から実施しておくことを推奨されています。
CUDA Toolkit のインストール
CUDA Toolkit をダウンロードするのに、以下の URL に行きます。
CUDA Toolkit 12.6 Update 3 Downloads | NVIDIA Developer
まず、ダウンロードする対象を選択してします。選択する内容は以下図です。
そうすると、インストールするためのコマンドが画面の下部に表示されます。
このコマンドたちをひとつずつ、WSL 上で実行していきます。
CUDA のライブラリに PATH を通す
ルートのディレクトリにいるので、以下のコマンドを開いて .bashrc を開きます。
vim .bashrc
ファイルの最後尾に以下を追加して保存します。
$ export PATH=/usr/local/cuda/bin:$PATH $ export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH
以下コマンドでファイルの変更を反映させます。
source .bashrc
最後に以下のコマンドで CUDA Tookit が見えてるか確認します。
nvcc -V
CuDNN のセットアップ
私は CuDNN の最新バージョンをインストールすればよいですが、ちゃんと確認したい場合は、以下リンクで、自身の CUDA Toolkit の version と NVIDIA Driver のバージョンからどの cuDNN のバージョンが対応しているかを確認した方がいいかもしれません。
cuDNN のインストールですが、NVIDIA Developer のアカウント登録が必要になります。以下サイトにアクセスして、自身のアカウントにログインして "Download cuDNN Library" をクリックします。
CUDA Deep Neural Network (cuDNN) | NVIDIA Developer
自分のプラットフォームを選択します。私の場合は以下 (文字が白いところが選択してるところ)。
これを選ぶとコマンドが表示されるので、これをまた WSL で実行してインストールします。 最後のコマンドは CUDA 11 か 12 かで変わるので注意です。
動作確認
Ubuntu での Python 環境セットアップ
Python はデフォで入ってるので、とりあえず以下を実行。
sudo apt update && sudo apt upgrade
pip を install。
sudo apt install python3-pip
venv も install。
sudo apt install python3-venv
動作確認のコードを実行するための適当なフォルダを VS Code で開いて、ここからは VS Code で操作していく。
まずは、python3 -m venv .venv
を実行して .venv って環境を作成。
次に source .venv/bin/activate
を実行して activate する。
こちらのドキュメントで PyTorch と Torch-DirectML をインストールして動かすサンプルがあるので、これを使って動作確認していく。
まずはこれでインストール。PyTorch もインストールしてるだけにちょっと時間がかかります。
pip install torch-directml
これでとりあえず "demo.py" というファイルを作って以下のコードを書きました。
import torch print(torch.cuda.is_available())
あとは実行して True
返ってきたので、無事に CUDA が認識されていることが確認できました。
動作確認自体はここまでとします。
CUDA Version が12.7 で PyTorch で正しく認識されるかちょっと不安でしたが普通にできてよかったです。