LoginSignup
26
29

More than 1 year has passed since last update.

WSL2+docker+GPU環境構築(win11)

Last updated at Posted at 2023-04-30

3行で

  • まずWSL2とWindows用のGPUドライバを入れる(WSLからlinux用のドライバは入れない)
  • docker desktopをインストールする
  • nvidia-container-toolkitを入れる

WSL2の導入~GPUドライバの導入

↓公式を読むのがめんどい人向け

GPUドライバをインストール

まず注意。WSLからドライバをインストールしないように

This is the only driver you need to install. Do not install any Linux display driver in WSL.
https://docs.nvidia.com/cuda/wsl-user-guide/index.html#step-1-install-nvidia-driver-for-gpu-support

windows用のドライバでWSL内でも認識するようです。
以下から自分のPCに入っているGPUに対応するドライバをインストールしてください
https://www.nvidia.com/Download/index.aspx

ちなみに、今有効なGPUはタスクバーの検索から「dxdiag」って検索して出てくるツールで調べられます

WSL2をインストール

win11ならコマンドプロンプトで以下を入力するだけ

wsl --install

再起動するとubuntuでのユーザー名・パスワードを聞かれるので設定すればOK

ここまででWSL内でGPUを認識するようになってます。WSLのターミナルで

nvidia-smi

のコマンドをうってGPUの情報が返ってくれば成功してます。

うまくいかない場合・・・残念でした。
俺もnvidiaに何日休日を溶かされたか・・・。
実はこの記事を書く前にも一度win11を再インストールしました。結局それが一番早かったです。

docker desktopのインストール

↓公式を読むのがめんどい人向け
・・・といってもdocker desktopをインストールするだけです。
WSLからdockerをインストールすることはありません。

nvidia-container-toolkitのインストール

↓公式を読むのがめんどい人向け

WSLで以下を実行

distribution=$(. /etc/os-release;echo $ID$VERSION_ID) \
      && curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg \
      && curl -s -L https://nvidia.github.io/libnvidia-container/$distribution/libnvidia-container.list | \
            sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | \
            sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list
sudo apt-get update
sudo apt-get install -y nvidia-container-toolkit

以上です。

成功していれば以下のコマンドが通ります
※公式には--runtime=nvidiaオプションがついていますが消さないと通りません
※nvidiaほんま許さんぞお前

sudo docker run --rm --gpus all nvidia/cuda:11.6.2-base-ubuntu20.04 nvidia-smi
26
29
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
26
29