WebGPU(ウェブジーピーユー)は、画像処理と計算処理のアクセラレーションのための将来のウェブ標準およびJavaScript APIのためのワーキングネームである。「モダンな3D画像処理と計算機能」を提供することを目的としている。Apple、Mozilla、Microsoft、Googleを含むさまざまな組織のエンジニアが協力して、W3CのGPU for the Webコミュニティグループで開発されている。

WebGLとは違い、WebGPUは既存のネイティブAPIを直接ポートするものではない。Vulkan、Metal、Direct3D 12にある概念をベースにしており、これらのモダンなグラフィックAPI上で高性能を提供することを目指している。

2017年初頭、Chromiumチームは、NXTと呼ばれる最初のコンセプトのプロトタイプを発表した。

歴史 2016年6月8日、GoogleはWebGLワーキンググループの2年ごとにオフラインで行われるミーティングで「Explicit web graphics API(明示的なウェブグラフィックAPI)」というタイトルのプレゼンテーションを行った。プレゼンテーションは最終的にWebGLを置き換える新しいAPI(別名:WebGL Next)の基本的な概念と原則について検討するものであった。

2017年1月24日、Khronosは「WebGL Next」の概念について議論を行うためにIP-free(知的財産とは無関係)のミーティングを主催し、バンクーバーで開催されたWebGLワーキンググループのミーティングと共催した。Googleチームは、OpenGLを使用したChromium上またはOpenGLとMetalを使用したスタンドアローンで実行可能な、新しいAPIを実装するNXTのプロトタイプを披露した。NXTはVulkan、Direct3D 12、MetalのネイティブAPIの全てから概念を取り入れていた。AppleとMozillaの代表もそれぞれSafariとServo上に構築したプロトタイプを紹介した。これらはMetal APIの複製したものに近かった。

W3Cのワーキンググループ 2017年2月7日、AppleのWebKitチームは、APIを設計するためのW3Cのコミュニティグループの設立を提案した。同時に、技術的なproof of conceptとAppleのMetalをベースとした「WebGPU」という名称の提案を発表した。WebGPUという名称は、後にコミュニティグループにより、Appleの最初の提案に加えて、将来の標準の仮称としても採用された。Appleによる最初の提案は、さらなる混同を避けるために「WebMetal」に改名された。

W3Cの「GPU for the Web」コミュニティグループは2017年2月16日に設立された。この時点で、Apple、Google、Mozillaのすべてがこの領域で実験を行っていたが、Appleの提案だけが公式に「gpuweb-proposals」リポジトリに提出された。その直後の2017年3月21日、MozillaはKhronosリポジトリ内で、Vulkanの設計をベースにしたWebGL Next向けの提案を提出した。

2018年6月1日、クロスブラウザの標準化の取り組みの中で、GoogleのChromeチームは「最も高レベルな問題の解決(resolution on most-high level issues)」について触れ、将来のWebGPU標準を実装を開始する意向を発表した 。

技術 WebGPUは、へ簡単に翻訳可能なWGSLと呼ばれる独自のシェーディング言語を使用している。この選択は、Appleによるtextual WebMetal、Apple Safariによるtextual WebHLSL / WSL、MozillaによるバイナリSPIR-Vという3つの提案の妥協案である。

実装 下記ブラウザで実装されている。 Google Chrome - 113以降で対応しているChrome ships WebGPU - Chrome Developers Mozilla Firefox - SPIR-Vを使用したWebGPUをサポートしており、Windows版の141 においてサービスワーカーを除くすべてのコンテキストでWebGPU API を完全にサポートしました。 Safari - Web Shading Language (WSL) を使用したWebGPUをSafari Technology Previewでサポートしている。

関連項目

Direct3D 12 Khronos Group Metal (API) OpenGL Vulkan (API) WebCL WebGL

出典

外部リンク

WebGPU 仕様書

WebGPU API Proposal for Apple Webkit in 2017 GPU on the Web Community Group at W3C