作者 | W3C |
---|---|
開発元 | W3C、Apple、Mozilla、Microsoft、Google、オープンソースコミュニティ |
初版 | リリース前 |
リポジトリ | |
プラットフォーム | ウェブプラットフォーム |
種別 | API |
公式サイト |
webgpu |
WebGPU(ウェブジーピーユー[1])は、画像処理と計算処理のアクセラレーションのための将来のウェブ標準およびJavaScript APIのためのワーキングネームである。「モダンな3D画像処理と計算機能」を提供することを目的としている。Apple、Mozilla、Microsoft、Googleを含むさまざまな組織のエンジニアが協力して、W3CのGPU for the Webコミュニティグループで開発されている[2]。
WebGLとは違い、WebGPUは既存のネイティブAPIを直接ポートするものではない。Vulkan、Metal、Direct3D 12にある概念をベースにしており、これらのモダンなグラフィックAPI上で高性能を提供することを目指している。
2017年初頭、Chromiumチームは、NXTと呼ばれる最初のコンセプトのプロトタイプを発表した。
2016年6月8日、GoogleはWebGLワーキンググループの2年ごとにオフラインで行われるミーティングで「Explicit web graphics API(明示的なウェブグラフィックAPI)」というタイトルのプレゼンテーションを行った[3]。プレゼンテーションは最終的にWebGLを置き換える新しいAPI(別名:WebGL Next)の基本的な概念と原則について検討するものであった。
2017年1月24日、Khronosは「WebGL Next」の概念について議論を行うためにIP-free(知的財産とは無関係)のミーティングを主催し、バンクーバーで開催されたWebGLワーキンググループのミーティングと共催した[4]。Googleチームは、OpenGLを使用したChromium上またはOpenGLとMetalを使用したスタンドアローンで実行可能な、新しいAPIを実装するNXTのプロトタイプを披露した。NXTはVulkan、Direct3D 12、MetalのネイティブAPIの全てから概念を取り入れていた。AppleとMozillaの代表もそれぞれSafariとServo上に構築したプロトタイプを紹介した。これらはMetal APIの複製したものに近かった。
2017年2月7日、AppleのWebKitチームは、APIを設計するためのW3Cのコミュニティグループの設立を提案した。同時に、技術的なproof of conceptとAppleのMetalをベースとした「WebGPU」という名称の提案を発表した[5][6][7]。WebGPUという名称は、後にコミュニティグループにより、Appleの最初の提案に加えて、将来の標準の仮称としても採用された。Appleによる最初の提案は、さらなる混同を避けるために「WebMetal」に改名された[8]。
W3Cの「GPU for the Web」コミュニティグループは2017年2月16日に設立された。この時点で、Apple、Google、Mozillaのすべてがこの領域で実験を行っていたが、Appleの提案だけが公式に「gpuweb-proposals」リポジトリに提出された[9][10]。その直後の2017年3月21日、MozillaはKhronosリポジトリ内で、Vulkanの設計をベースにしたWebGL Next向けの提案を提出した[11][12]。
2018年6月1日、クロスブラウザの標準化の取り組みの中で、GoogleのChromeチームは「最も高レベルな問題の解決(resolution on most-high level issues)」について触れ、将来のWebGPU標準を実装を開始する意向を発表した[13] 。
WebGPUは、SPIR-Vへ簡単に翻訳可能なWGSLと呼ばれる独自のシェーディング言語を使用している。この選択は、Appleによるtextual WebMetal、Apple Safariによるtextual WebHLSL / WSL、MozillaによるバイナリSPIR-Vという3つの提案の妥協案である。
下記ブラウザで実装されている。