公開日: 2024 年 11 月 21 日
WebGPU 仕様は常に進化しており、Google、Mozilla、Apple、Intel、Microsoft などの大手企業が毎週会合を開いて開発について話し合っています。最新の GPU for the Web ワーキング グループ ミーティングでは、WebGPU の次のイテレーションで予定されている主な目的と機能について概要が説明されました。このブログ投稿では、このミーティングで得られた主な知見について説明します。
候補者の推奨ステータスに到達する
この会議では、マイルストーン 0 の進捗状況について議論し、W3C の候補推奨ステータスに到達する前に対処する必要がある問題を確定することを主眼としました。これは標準化プロセスの次のステップであり、安定性と知的財産権の保護が強化されます。
会議の参加者全員が、これらの問題はブロックするものではなく、これらの問題はタイムリーに解決でき、W3C の WebGPU 候補勧告の道を開くことができるという点で一致しました。
新機能の優先順位付け
参加者からは、新機能の優先順位に関する意見も寄せられました。デベロッパー、実装者、関係者からのフィードバックからまとめた機能リクエストのリストから始めました。
議論の結果、AI 向けの重要な WebGPU 機能として次のものが特定されました。
サブグループとサブグループ マトリックス: アプリケーションが GPU スレッド間の高速ローカル通信を使用し、シェーダー コア横の固定サイズのマトリックス乗算ハードウェアを活用できるようにします。サブグループの提案をご覧ください。
テキセル バッファ: 16 ビット値や 8 ビット値などの小さなデータ型をポータブルな方法で保存し、アクセスするためのより効率的な方法を提供します。これは、一部の ML 画像処理アルゴリズムにとって重要です。テクセル バッファのスライドをご覧ください。
UMA バッファ マッピング: コピーと同期のオーバーヘッドを削減または排除することで、データアップロードのパフォーマンスを向上させます。仕様の問題 2388 をご覧ください。
また、新しい種類のレンダリング アルゴリズムを実現する次の WebGPU 機能も検討と優先順位付けの対象となっています。
バインディングなし: シーン全体の情報が必要となるため、この待望の機能プロポーザルは、ほとんどの最先端のレンダリング アルゴリズムの前提条件となります。バインディングなしでは、シェーダーは、現在比較的厳しい制限と比較して、テクスチャを含む無数のリソースを使用できます。
マルチドロー間接: GPU での以前の計算で、以前の
drawIndirect
では 1 つしか作成されなかった複数のドローを作成できます。これは、オブジェクトの GPU カリングなど、GPU 駆動のレンダリングに重要な機能です。pull リクエスト 2315 をご覧ください。64 ビット アトミック: バッファまたはテクスチャのいずれかで、深度テストと 32 ビット ペイロードの書き込みを 1 つの
atomicMax
オペレーションにバンドルすることで、GPU で「ソフトウェア ラスタライゼーション」を行う必要があります。問題 4329 をご覧ください。
WebGPU の機能と幅広いウェブ プラットフォームとの統合を強化するために、次の WebGPU 機能について議論されています。
互換モード: このモードは、OpenGL ES 3.1 のみをサポートするデバイスなど、より幅広いデバイスで WebGPU を実行できるようにすることを目的としています。互換モードの提案をご覧ください。
WebXR: 既存の WebXR レイヤ モジュールが、各レイヤタイプに WebGPU スワップチェーンを提供することで、WebGPU とインターフェースをとれるようにします。WebGPU/WebXR 統合のスライドをご覧ください。
Canvas2D: Canvas 2D と WebGPU 間の相互運用性を改善し、パフォーマンスと人間工学の問題の両方に対処します。この WebGPU 転送プロポーザルにより、WebGPU でテキストとパスの描画にアクセスし、WebGPU レンダリングを Canvas 2D に適用できるようになります。
また、WGSL ツールとライブラリの改善に向けた取り組みに関するプレゼンテーションとディスカッションも行われました。注目すべき取り組みの 1 つが、WGSL にコミュニティ主導の拡張機能を提供することを目的とした WESL(WGSL 拡張シェーディング言語)の開発です。
詳しくは、未加工の会議メモをご覧ください。
考え
このミーティングでは、WebGPU の将来を形作るために、WebGPU ワーキング グループ、デベロッパー、幅広いグラフィック コミュニティ間のコラボレーションの重要性が強調されました。ワーキング グループは、提案された機能に関するフィードバックを積極的に求めており、デベロッパーと連携して WebGPU がデベロッパーのニーズを満たすように取り組んでいます。
WebGPU の次の進化は、ウェブ グラフィックスの新たな可能性を解き放ち、デベロッパーが AI 向けの没入感とエンゲージメントの高いウェブ エクスペリエンスをさらに構築できるようにする、大きな前進となることが期待されます。