このページの本文へ

前へ 1 2 次へ

Windows Info 第232回

Windows 10のWSL2からGPUが使えるようになった

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

文● 塩田紳二 編集● ASCII

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

というわけで、実際に動かしてみた

 ここでは、変則的な構成ながら、「Razer Blade Stealth 13” Intel 8550U (2017)/RZ09-02393」というモデルと、ThunderBolt 3接続の外部GPUボックスである「RAZER Core X」にNVIDIA GeForce GTX 1070を組み合わせた環境で試してみた。

●Razer Launches new Blade Stealth Laptop, now with 13.3-inch Display and New Gunmetal Color Option - Razer Press
 https://press.razer.com/product-news/razer-launches-new-blade-stealth-laptop-now-with-13-3-inch-display-and-new-gunmetal-color-option/

●Razer Blade Stealth 13" - Intel 8550U (2017) | RZ09-02393
 https://support.razer.com/articles/1539717331

●Razer Core X - Thunderbolt 3 eGPU
 https://www2.razer.com/jp-jp/gaming-systems/razer-core-x

 ThunderBolt 3接続とは、変則的ではあるが、論理上ThunderBold 3を介したPCI Express接続とCPUのPCI Express接続には、ソフトウェア側からは区別ができないはずと考えていたら、実際にちゃんと動作した。

 具体的な設定方法などについては次回以降に解説するが、Windowsは、プレビュービルド20150以降をインストールし、WSL2を動作させる。このとき、利用できるディストリビューションには制限がある。筆者は、Ubuntu-18.04を利用した。その後、Windows側にNVIDIAが提供するドライバーを組み込む。

 あとはDockerなどをUbuntuに組み込むことで、GPUを利用できるWSL2環境ができあがる。なお、Windows側からWSL側も制御が可能なDocker DesktopにはNVIDIAのDocker環境が対応していないため、利用できない。

 インストールに関するドキュメントだが、Microsoftのものよりも、NVIDIAのドキュメントのほうが具体的な手順が記述してあり、わかりやすい。どちらも英語だが、Google翻訳でなんとかなるレベルである。

●CUDA on WSL :: CUDA Toolkit Documentation
 https://docs.nvidia.com/cuda/wsl-user-guide/index.html

●GPU acceleration in WSL - Win32 apps
 https://docs.microsoft.com/en-us/windows/win32/direct3d12/gpu-accelerated-training

 見た目には動いているように見えるが、本当にGPUが動いてるのか? とりあえず、GPUとCPUで同じ計算をして、実行時間を測定した。これには、NVIDIAが提供するコンテナーでディープラーニングフレームワークのTenserFlowを動作させ、学習をさせる。幸いなことに、同じ学習処理をCPUとGPUとで速度を比較するデモがあった。それを使って見ると確かにGPUのほうが約9秒、CPUでは約2分という差が出ていた。ちゃんとGPUが利用できているようだ。

同じ学習処理をGPUとCPUでさせたもの。GPUは9秒、CPUでは2分47秒なので、どうやらGPU処理は正しく動作しているようだ

 少なくともWSL2の環境整備は着々と進みつつある。現在はDev Channelのプレビュー版でしか利用できないが、早ければ、来春の機能アップデートの21H2では、GPUやGUIアプリケーションがWSL2から利用できるようになりそうだ。

前へ 1 2 次へ

カテゴリートップへ

この連載の記事

注目ニュース

ASCII倶楽部

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

ピックアップ

ASCII.jp RSS2.0 配信中

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