このページの本文へ

前へ 1 2 次へ

Windows Info 第233回

WSL2にCUDA on WSLをインストールする

2020年07月19日 10時00分更新

文● 塩田紳二 編集● ASCII

  • この記事をはてなブックマークに追加
  • 本文印刷

 前回は、WSL2からGPUが利用可能になったことを紹介したが(「Windows 10のWSL2からGPUが使えるようになった」)、今回はその続きとしてWSL2でGPUを使う設定を実際にしてみる。いくつか条件はあるものの、作業自体はそれほど難しくない。ただし、GPU利用といっても現時点では計算処理、特にNVIDIAのGPUを使った機械学習関係の処理が主な目的となるので、この分野に興味がないとせっかく設定しても使い道に困るかもしれない。

WSL2から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の更新時に他のMicrosoft製品の更新プログラムを受け取る」をオンにするく

 条件を満たせば、Windows Updateで「更新プログラムのチェック」を行ってLinuxカーネルがアップデートできるはずである。なお、wsl.exeのドキュメントによれば、アップデートは、

wsl.exe --update

で確認、実行できるはずである。

「wsl.exe --update」コマンドでインストールされているWSL2用カーネルのバージョンを取得できる

前へ 1 2 次へ

カテゴリートップへ

この連載の記事

注目ニュース

ASCII倶楽部

プレミアムPC試用レポート

ピックアップ

ASCII.jp RSS2.0 配信中

ASCII.jpメール デジタルMac/iPodマガジン