Microsoftは6月17日(米国時間)、「GPU accelerated ML training inside the Windows Subsystem for Linux - Windows Developer Blog」において、同時期に公開された開発版「Windows 10 Insider Preview Build 20150」のWSL 2にGPUコンピュートサポート機能を追加したと伝えた。

WSLのLinuxからWindows側のGPUを計算に利用する機能はWSLが登場してから最も要望の多い機能だった。MicrosoftはWSLの導入から4年を経て、ついにこの機能に対応したことになる。具体的には、「Windows 10 Insider Preview Build 20150」の「WSL2」から次の2つのプレビュー版機能が利用できるようになる。

NVIDIA CUDA for WLS2

TensorFlowパッケージ(DirectMLバックエンド)

NVIDIA CUDA for WLS 2使用例 - 資料: Microsoft

TensorFlowパッケージ(DirectMLバックエンド)使用例 - 資料: Microsoft

機械学習では、データやパラメータの調整も含めて長い時間をかけて開発を行う必要がある。こうしたケースでは、GPUのハードウェアアクセラレーションを使って処理速度を高速化する。その際、ツールとしてはNVIDIA CUDAが使われることが多く、既に多くのLinuxベースのツール、ライブラリ、フレームワークが整っている。WindowsもCUDAをサポートしているものの、Linux向けのCUDAコンピュートアプリケーションが多いのが現実だ。

このため、WSLで動作するLinuxでCUDAを利用できるようにしてほしいというのがユーザーの長年の要望だった。今回、「NVIDIA CUDA for WSL2」がプレビュー版ながらも公開されたことで、WSL 2のLinuxでこうした演算を行うことが実用的なレベルに到達したことになる。PyTorchやTensorFlowなど既存のツール、ライブラリ、フレームワークがサポートされており、広く利用できるものと見られる。

また最近では、学生向けに機械学習の演習が行われることが多く、そうしたケースではDirectX 12ベースのGPU(AMD、Intel、NVIDIA各社のH/W)をDirectML経由で利用するといったことも行われている。今回、MicrosoftはこのDirectMLをバックエンドとして利用するTensorFlowパッケージのプレビュー版も公開しており、WSL 2からも動作するようになっている。

Windowsは世界中で最も広く使われているデスクトップ/ノートPC向けのオペレーティングシステムであり、この環境でLinuxおよびGPUコンピュートがサポートされる意味は大きい。今後、機械学習のプラットフォームとしてWindows 10の存在感が大きくなっていく可能性がある。