はじめに
本記事は私がタイトル通りの環境を構築するために行ったことのまとめです。
※2021年9月4日現在の内容です。
構成
OS:Windows 11 Homes Insider Preview 22449.1000
WSL2:ubuntu 20.04LTS
Docker:version 20.10.8
手順
1.Windows10 Insider Preview Buildのインストール
2.WSL2のインストール
3.Docker Desktopのインストール
4.Nvidiaドライバをインストール
5.NGCコンテナイメージにいろいろとオプションを付けてコンテナを作る
手順1~4
手順1~4に関して windows上のWSL2でCUDAを使用する環境構築の手順を説明してくれているこちらの記事や
Nvidiaさんが直々に説明してくれているこちらのサイト
を参考に構築してみて下さい。windows11で環境構築を行っても問題ありませんでした。
手段5
ここからが本題。
windows+dockerでGPU対応のJupyter labを動かしたいが、以下の記事を参考に環境構築を行ってみたがどうにも上手くいかない。Dockerコンテナ内でJupyter Labは立ち上がるものの、Windows上のブラウザでJupyter Labを表示することができない。以下の記事の内容が決して悪いわけではなく、両記事の環境構築までの手順が多く、どこかで自分がミスってる可能性が高い。
「もっと簡単できないもんかな~」と考えるのが人間の性。他の記事を探していると、以下の記事(WSL2は関係なく、ただ単にDocker上でJupyter Labを起動してhttp://localhost:8888 でJupyter Labを利用するもの)を発見。
ものは試しに、記事内で紹介されているdocker コマンドを
docker run --rm --name jupyter -d -p 8888:8888 \
-v `pwd`/workspace:/workspace -w /workspace \
continuumio/anaconda3 \
jupyter-lab --no-browser --port=8888 --ip=0.0.0.0 \
--allow-root --NotebookApp.token=''
以下のように”–gpus all”の追加と、anacondaコンテナイメージではなく、NGCコンテナイメージに変更して起動した。
docker run --gpus all --rm --name jupyter -p 8888:8888\
-v `pwd`/workspace:/workspace -w /workspace\
nvcr.io/nvidia/pytorch:21.07-py3 \
jupyter-lab --no-browser --port=8888 --ip=0.0.0.0 \
--allow-root --NotebookApp.token=''
すると、windwos上のchromeブラウザで http://localhost:8888 にアクセスすると、Jupyter Labを利用できるではないか。しかも、torch.cuda.is_available()もTrueを示している。
「粉砕!玉砕!大喝采!」
タイトル通りの環境を他の類似記事よりもだいぶ簡単に構築ができました。