WSL2上にCUDA Toolkitをインストールするための手順をまとめた記事です。以下の手順に沿って進めることで、Windows上のWSL2環境でGPUアクセラレーションを利用できるようになります。
事前準備
WindowsとNVIDIAドライバの準備
Windowsのバージョン
Windows 11(またはWSL2が利用可能なWindows 10 21H2以降)を使用してください。
NVIDIA Windowsドライバのインストール
GPUアクセラレーションを利用するため、Windows側に最新のNVIDIAドライバをインストールします。
WSL2内にはLinux用のNVIDIAドライバをインストールしてはいけません。Windows側のCUDAドライバがWSL2へ自動的に libcuda.so
としてスタブ化され、WSL内からもCUDAライブラリとして利用可能となります。
WSL2とLinuxディストリビューションのセットアップ
WSL2のインストール
管理者権限のPowerShellで以下のコマンドを実行します。
wsl --install
インストール後、最新のWSLに更新します。
wsl --update
既定のバージョンをWSL2に設定します。デフォルトのディストリビューションもUbuntuにセット。
wsl --set-default-version 2
wsl --set-default Ubuntu
wsl --set-version Ubuntu 2
wsl --shutdown
デフォルトでUbuntuがインストールされます。

起動後、ユーザー名やパスワードの設定を行うとWSL2上のUbuntu環境が利用可能になります。
他のLinuxディストリビューションのインストール
今回は必要ありませんが、他のディストリビューションをインストールしたい場合は以下の手順でインストールできます。
利用可能なディストリビューションの一覧を表示します。
wsl --list --online
インストールしたいディストリビューションを選択し、インストールします。
ws --install -d <ディストリビューション名>
インストール済みのディストリビューションの確認は以下のコマンドで行えます。
wsl --list --verbose
CUDA Toolkit のインストール手順
公式のガイドに沿って、WSL2環境内(Ubuntu)でLinux x86向けのCUDA Toolkitパッケージをインストールしていきます。
※ここからはWSLのUbuntuでコマンド実行します
インストール
最初に古いGPGキーを削除します。
sudo apt-key del 7fa2af80
次に下記ページを開き、インストールコマンドを取得します。
コマンド例
wget https://developer.download.nvidia.com/compute/cuda/repos/wsl-ubuntu/x86_64/cuda-wsl-ubuntu.pin
sudo mv cuda-wsl-ubuntu.pin /etc/apt/preferences.d/cuda-repository-pin-600
wget https://developer.download.nvidia.com/compute/cuda/12.8.0/local_installers/cuda-repo-wsl-ubuntu-12-8-local_12.8.0-1_amd64.deb
sudo dpkg -i cuda-repo-wsl-ubuntu-12-8-local_12.8.0-1_amd64.deb
sudo cp /var/cuda-repo-wsl-ubuntu-12-8-local/cuda-*-keyring.gpg /usr/share/keyrings/
sudo apt-get update
sudo apt-get -y install cuda-toolkit-12-8
インストールの確認
インストールが正しく完了しているか、次のコマンドでCUDAコンパイラのバージョンを確認します。
/usr/local/cuda/bin/nvcc --version
実行例として、以下のような出力が得られれば成功です。
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2025 NVIDIA Corporation
Built on Wed_Jan_15_19:20:09_PST_2025
Cuda compilation tools, release 12.8, V12.8.61
Build cuda_12.8.r12.8/compiler.35404655_0
Docker Desktop のインストール
Dockerも入れておいたほうが便利なのでついでにインストールします。
インストール
下記ページに書いてある手順でインストールしてください。
sudoなしで実行するための設定
Ubuntuを起動し、docker
コマンドを実行しようとすると次のように権限で弾かれます。
$ docker image ls
permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Head "http://%2Fvar%2Frun%2Fdocker.sock/_ping": dial unix /var/run/docker.sock: connect: permission denied
docker
コマンドはデフォルトではroot権限がないと実行できません。sudo
をつければ実行できますが、いちいちパスワードを求められるのも面倒です。
そこで、ユーザーをdockerグループに追加して sudo
を省略できるようにしましょう。
次のコマンドを実行します。ユーザー名は自分で設定したものを入力してください。
sudo usermod -aG docker <ユーザー名>
一旦ログアウト後、再度Ubuntu内に入ると sudo
無しで docker
コマンドを実行できるようになっているはずです。
Dockerコンテナ内からGPU使用できることを確認
最後に確認のため、次のコマンドを実行します。
docker run --rm --gpus all nvidia/cuda:12.6.2-base-ubuntu22.04 nvidia-smi
実行例として次のような情報が表示されれば成功です。
+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 565.77.01 Driver Version: 566.36 CUDA Version: 12.7 |
|-----------------------------------------+------------------------+----------------------+
| GPU Name Persistence-M | Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap | Memory-Usage | GPU-Util Compute M. |
| | | MIG M. |
|=========================================+========================+======================|
| 0 NVIDIA GeForce RTX 4080 On | 00000000:01:00.0 On | N/A |
| 0% 34C P8 27W / 320W | 1738MiB / 16376MiB | 0% Default |
| | | N/A |
+-----------------------------------------+------------------------+----------------------+
+-----------------------------------------------------------------------------------------+
| Processes: |
| GPU GI CI PID Type Process name GPU Memory |
| ID ID Usage |
|=========================================================================================|
| No running processes found |
+-----------------------------------------------------------------------------------------+
まとめ
以上の手順でWSL2上にCUDA Toolkitをインストールすることで、WSL2内のLinux環境からGPUの使用が可能になります。
以前はWindows上でのこのような環境構築は難易度高めな印象でしたが、最新のWSL2および公式ドキュメントの整備により、比較的簡単な手順で実現できるようになりました。
NVIDIAのGPUを持っている人は、ぜひ参考にしてみてください。
コメント