WebGPU の概要

François Beaufort
François Beaufort

WebGPU は、同じグラフィックの JavaScript ワークロードを大幅に削減し、機械学習モデルの推論を 3 倍以上改善するなど、大きなメリットをもたらすウェブ グラフィック API です。これが可能なのは、GPU の柔軟なプログラミングと、WebGL にはない高度な機能があるためです。

この API はウェブ プラットフォームを念頭に設計されており、JavaScript API の慣用句、Promise との統合、動画のインポートのサポート、明確なエラー メッセージによる洗練されたデベロッパー エクスペリエンスを備えています。

WebGPU は、W3C の「GPU for the Web」コミュニティ グループによる共同作業の結果です。このグループには、Mozilla、Apple、Intel、Microsoft などの大手企業が参加しています。

ブラウザ サポート

WebGPU のこの最初のリリースは、Vulkan をサポートする ChromeOS デバイス、Direct3D 12 をサポートする Windows デバイス、macOS で Chrome 113 で利用可能になりました。Linux、Android、既存のプラットフォームのサポート拡大は近日中に提供される予定です。

WebGPU は、Chrome での初期実装に加えて、FirefoxSafari でも現在開発中です。

ライブラリのサポート

広く使用されている WebGL ライブラリの多くは、WebGPU のサポートをすでに実装中であるか、実装済みです。つまり、WebGPU を使用する場合、1 行の変更だけで済みます。

  • Babylon.js は WebGPU を完全にサポートしています。
  • PlayCanvas が WebGPU の初期サポートを発表しました。
  • TensorFlow.js は、ほとんどの演算子の WebGPU 最適化バージョンをサポートしています。
  • Three.js WebGPU のサポートが進行中です。をご覧ください。

Chromium 用の Dawn ライブラリと Firefox 用の wgpu ライブラリは、どちらもスタンドアロン パッケージとして提供されています。オペレーティング システムの GPU API を抽象化する優れたポータビリティと人間工学的なレイヤを提供します。これらのライブラリをネイティブ アプリケーションで使用すると、EmscriptenRust web-sys を介して WASM に簡単に移植できます。

リソース

WebGPU は重要な技術です。詳しくは、以下のリソースをご覧ください。