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 での初期実装に加えて、Firefox と Safari でも現在開発中です。
ライブラリのサポート
広く使用されている多くの WebGL ライブラリは、すでに WebGPU サポートの実装を開始しているか、すでに実装しています。つまり、WebGPU を使用するには、1 行の変更のみが必要になる場合があります。
- Babylon.js は WebGPU を完全にサポートしています。
- PlayCanvas が WebGPU の初期サポートを発表しました。
- TensorFlow.js は、ほとんどの演算子の WebGPU 最適化バージョンをサポートしています。
- Three.js の WebGPU サポートは現在開発中です。例をご覧ください。
Chromium の Dawn ライブラリと Firefox の wgpu ライブラリは、スタンドアロン パッケージとして利用できます。オペレーティング システムの GPU API を抽象化する優れたポータビリティと人間工学的なレイヤを提供します。ネイティブ アプリケーションでこれらのライブラリを使用すると、Emscripten と Rust web-sys を介して WASM に簡単に移植できます。
リソース
WebGPU は重要な技術です。詳しくは、以下のリソースをご覧ください。
- WebGPU と WGSL の W3C 仕様をご覧ください。
- サンプルを試したり、ツアーで WGSL を探索したりできます。
- MDN のドキュメントをご覧ください。
- 公式の説明とベスト プラクティスをご覧ください。
- GPU コンピューティングなどについて学習する。