前回は、WSL2からGPUが利用可能になったことを紹介したが(「Windows 10のWSL2からGPUが使えるようになった」)、今回はその続きとしてWSL2でGPUを使う設定を実際にしてみる。いくつか条件はあるものの、作業自体はそれほど難しくない。ただし、GPU利用といっても現時点では計算処理、特にNVIDIAのGPUを使った機械学習関係の処理が主な目的となるので、この分野に興味がないとせっかく設定しても使い道に困るかもしれない。
ここでは、NVIDIAのGPUを搭載したマシンに「CUDA on WSL」を、WSL2側にDockerなどをインストールして、NVIDIAが機械学習用に提供しているコンテナーを動かしている。いわゆるAI開発用の環境だが、これまで、Linuxをインストールしたマシンを用意するのが普通だった。しかし、CUDA on WSLを使えば、WindowsマシンのWSL2から同じようにGPUを利用できるようになる。
WSL2における正式なGPU対応は、来春のアップデート(21H1)以降と思われるが、別途Linuxマシンを用意することなく、機械学習の標準的な環境を整備できるというのはかなり有益だ。筆者も3年ぐらい前にNVIDIA GPUを搭載するゲーミングノートにLinuxをインストールしてNVIDIAの機械学習環境を整備したことがあるのだが、かなり苦労した記憶がある。その体験からすると、こんなに“簡単”にできるようになるとは、まさに技術の進歩であると感じた。
まずはDevチャンネルに参加して
最新のプレビュービルドを利用することが必要
今回は、GeForce GTX960Mを内蔵したデルのXPS15 9550で作業を行った。4~5年前に買った機種なのだが、15インチノートなのでちょっと持て余していたところ。ようやくそれらしい使い方ができるようになった。いまのところWSL2上のCUDAは、NVIDIA GPU向けなので、ディスクリートGPU搭載は当然なのだが、前回も少し解説したように、ThunderBold 3接続の外部エンクロージャーにGPUボードを設置しても、同じように設定するだけで大丈夫だ(特に設定上の違いはない)。
WSL2からGPUを使うには、Windows Insider Programに登録、マシンをDevチャンネルに登録して、最新のプレビュービルドを入手する必要がある。正規版のWindows 10 Ver.2004ではまだ動作しない。
現在のDevチャンネルのプレビューなら、デスクトップ右下にビルド番号表示が出ているはずなので、特に確認は不要だろう。なお、蛇足ながら、Devチャンネルに登録してプレビュービルドをインストールしてしまうと、正規版に戻るにはWindowsの再インストールが必要となるので注意してほしい。
大まかな流れとしては、
WSL2のインストール
Windows側でのドライバーインストール
WSL2側でのツールインストール
の3段階となる。なお、WSL2のインストールに関しては、今年3月の記事(「20H1の完成とともにWindows Subsystem for Linux 2が来る」)、にまとめてあるので再度解説しない。
本記事では、Ubuntu-18.04をLinuxディストリビューションとして利用しているとして解説を進める。他のディストリビューションでも可能と思われるが、glibcを使うディストリビューションでないと対応できないようだ。なお、マイクロソフトの文書では、Ubuntu以外にはDebianも挙げられている。
WSL2のインストールは標準でかまわないが、最新のLinuxカーネルをインストールしておく必要がある。WSL2からのGPU利用では、カーネルバージョン4.19.121.1以上が必要とされている。更新は、Windows Updteで行われるため、「設定」→「更新とセキュリティ」→「Windows Update」→「詳細オプション」で「Windowsの更新時に他のMicrosoft製品の更新プログラムを受け取る」をオンにしておく必要がある。
条件を満たせば、Windows Updateで「更新プログラムのチェック」を行ってLinuxカーネルがアップデートできるはずである。なお、wsl.exeのドキュメントによれば、アップデートは、
wsl.exe --update
で確認、実行できるはずである。
この連載の記事
-
第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の新機能を見る - この連載の一覧へ