CUDA for WSLのインストール
次にWindows 10側でNVIDIAが提供する「CUDA on WSL」をインストールする(WSL2側でないことに注意されたい)。なお、ダウンロードには、NVIDIA Developer Program Membershipへの登録が必要である。
EXEファイルが入手できるので、これを実行してインストールする。インストール後にNVIDA GPU用の「GeforceExpreience」が起動する。これは、NVIDIA提供のGPUドライバーをインストールすると必ずインストールされ、ドライバーのアップデートなどをするものだ。これもデバイスドライバーの更新などにはユーザー登録(Googleアカウントなどが利用できる)が必要となる。NVIDIA、MicrosoftのドキュメントともにGPUドライバーのバージョンについての記述はないが、最新ドライバーにしておくべきだろう。
WSL2側で必要な処理
WSL2側での処理は大きく以下のとおり。
Docker-CEのインストール
NVIDIA Container Toolkitのインストール
Dockerデーモンの再起動
それぞれ、Linuxのコマンドだが、ここでは特に意味を説明しない。詳細は、以下のNVIDIAの文書にある。
●CUDA on WSL :: CUDA Toolkit Documentation
https://docs.nvidia.com/cuda/wsl-user-guide/index.html
まずは、以下のコマンドでDocker-CEをインストールする。
curl https://get.docker.com | sh
途中、WSLを見付けたのでDocker Desktopにしませんか的な英語のメッセージが出るが、放っておくと、処理が先に進む。ここで慌てて止めないように。
次にNVIDIA Container Toolkitをインストールする。面倒だが、以下のリストの6行のコマンドを実行させる。
distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add -
curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list
curl -s -L https://nvidia.github.io/libnvidia-container/experimental/$distribution/libnvidia-container-experimental.list | sudo tee /etc/apt/sources.list.d/libnvidia-container-experimental.list
sudo apt-get update
sudo apt-get install -y nvidia-docker2
前記NVIDIAの文書に同じものがあるので、そちらをコピーして使うといいだろう。この記事の表示を使うには折り返しなどに注意されたい。
リストのコマンドの出力が終わって、プロンプトに戻ったら、以下の2つのコマンドを実行する。これでDockerデーモンが再立ち上げされ、準備が整う。
sudo service docker stop
sudo service docker start
特にエラー表示などがなければ、インストールはうまくいったはずだ。
とりあえず、ホントに動くか試してみる
では、サンプルのコンテナーを動かして試してみることにしよう。以下のDockerコマンドを入れてみる(記事冒頭の画面)。
sudo docker run --gpus all nvcr.io/nvidia/k8s/cuda-sample:nbody nbody -gpu -benchmark
コンテナーのダウンロードが開始され、実行には数分かかる。まあ、表示を見ていればわかると思うが……。コマンド出力の最後に
GPU Device 0: "GeForce GTX 960M" with compute capability 5.0
といった表示が出れば、WSL2側でCUDAが正しく動作していることになる。コマンド出力の最後に実行結果が表示されるが、これは、GPUにより違いが出る。
コマンドがちょっと面倒だが、WSLやコマンドラインを使い慣れているユーザーなら特に問題なく設定できるはずだ。これで、少なくとも機械学習関係は、Linuxマシンを用意することなく、Windowsマシンで代用が可能になる。あとはDIGITSなり、なんなりを動かすだけだ。
この連載の記事
-
第459回
PC
WSL 2.4.4ではtar形式でのディストリビューションが配布でき、企業での利用が容易になってきた -
第458回
PC
Windows上でhostsファイルを活用する -
第457回
PC
IPv6アドレスは先頭を見ればどんな種類かわかる -
第456回
PC
あらためてIPv6基本のキ -
第455回
PC
Windowsで現在どのネットワークアダプタがインターネット接続に使われているかを調べる方法 -
第454回
PC
Windows 11 24H2では「デバイスの暗号化」の条件が変わり、より多くのPCでドライブが暗号化される -
第453回
PC
Windows 11 24H2の配布開始後もすぐにはやってこない Windows UpdateとSafeguard Holds -
第452回
PC
Windows 11 Ver.24H2が登場 Copilot+ PCとそうでないPCで実質Windowsが2つに分かれる -
第451回
PC
新しいWindowsサンドボックスではコマンドラインからの制御が可能に -
第450回
PC
ユニコードで文字数を数える方法 -
第449回
PC
WSLはプレビュー版でGUIでの設定が加わった! リリース2.3.xの新機能を見る - この連載の一覧へ