ウェブGPU

ウェブGPU
状態候補者推薦(CR)
年が始まった2021年5月18日 ( 2021-05-18 )
初版2021年5月18日 ( 2021-05-18 )
最新バージョンW3C 候補勧告(2025年現在)
組織W3C
委員会
  • Web向けGPU WG
  • Web CG向け GPU
編集者
  • 二宮 海
  • ブランドン・ジョーンズ
  • ジム・ブランディ
  • マイルズ・C・マックスフィールド(元)
  • ドミトリー・マリシャウ(元)
  • ジャスティン・ファン(元)
[ 1 ]
関連規格
ドメイン
Webサイトwww .w3 .org /TR /webgpu /

WebGPU APIは、 JavaScriptRustC++C言語 に対応した、クロスプラットフォームで効率的なグラフィック処理装置(GPU)アクセスを実現するAPIです。システムの基盤となるVulkanMetalDirect3D 12といった技術を利用することで、WebGPUはグラフィック処理、ゲーム、AIや機械学習アプリケーションなど、様々なアプリケーションの開発を可能にします。WebGPUは、Webにおける主要なグラフィック標準として、従来のWebGLに取って代わることを目指しています。 [ 2 ]

JavaScriptでは、WebGPUはWebブラウザやNode.jsDenoなどのJavaScript環境から利用できます。RustとC++では、それぞれのWebGPU仕様の実装を使用できます。Python 、JavaGoなどの他の言語では C言語仕様を拡張することでWebGPUを利用できます。

Google ChromeMicrosoft Edgeは、 2023年4月に初めてWebGPUサポートをリリースしました。[ 2 ] [ 3 ] Safariは、2025年6月にSafari 26でWebGPUサポートを開始しました。[ 4 ] Firefoxは 2025年7月にFirefox 141で初めてWebGPUをリリースしました。[ 3 ] W3C標準は候補勧告です。

テクノロジー

WebGPUはHTMLキャンバス内で3Dグラフィックスを実現します。また、汎用GPU計算を強力にサポートしています。[ 5 ]

WebGPUはWebGPU Shading Language (WGSL)と呼ばれる独自のシェーディング言語を使用しています。これはSPIR-Vに簡単に変換できるように設計されていましたが、苦情が寄せられたため、他のシェーディング言語と同様のより伝統的な設計に変更されました。構文はRustに似ています。[ 6 ] TintはGoogle製のWGSL用コンパイラです。 [ 7 ] Nagaはwgpu-rsのニーズに合わせて開発された同様のプロジェクトです。[ 8 ]

実装

Google ChromeFirefoxはどちらもWebGPUとWGSLをサポートしています。FirefoxとDenoはRustのwgpuライブラリを使用しています。[ 9 ] SafariはWebGPUとWGSLの両方のアップストリーム仕様に準拠しています。[ 3 ]

Chromeバージョン113では、 Direct3D 12を搭載したWindowsデバイス、Vulkanを搭載したChromeOSデバイス、Metalを搭載したmacOSでWebGPUの初期サポートが有効になりました。[ 2 ] Android向けのこのサポートはバージョン121で有効になりました。[ 3 ]

歴史

2016年6月8日、GoogleはWebGLワーキンググループ(2年ごとの対面会議中)に「明示的なウェブグラフィックスAPI」のプレゼンテーションを行った。[ 10 ]このプレゼンテーションでは、最終的にWebGLに代わる新しいAPI、いわゆる「WebGL Next」を構築するための基本的な考え方と原則が検討された。

2017年1月24日、クロノスは「WebGL Next」のアイデアを議論するためのIPフリー会議を開催したが、この会議はバンクーバーでのWebGLワーキンググループ会議と重なっていた。[ 11 ] Googleチームは、 ChromiumでOpenGLと連携して実行できる、またはOpenGLとMetalでスタンドアロンで実行できる新しいAPIを実装したNXTプロトタイプを発表した。NXTはVulkan、Direct3D 12、MetalネイティブAPIのコンセプトを全て借用している。AppleとMozillaの代表者もSafariServo上にそれぞれ構築したプロトタイプを披露したが、どちらもMetal APIを忠実に再現していた。

2017年2月7日、AppleのWebKitチームは、API設計のためのW3Cコミュニティグループの設立を提案しました。同時に、 AppleのMetalの概念に基づいた「WebGPU」という名称で、技術的な概念実証と提案を発表しました。[ 12 ] [ 13 ] [ 14 ] WebGPUという名称は、後にAppleの最初の提案ではなく、将来の標準規格の作業名称としてコミュニティグループによって採用されました。[ 15 ]混乱を避けるため、最初の提案は「WebMetal」に改名されました。[ 16 ]

W3Cの「GPU for the Web」コミュニティグループは2017年2月16日に発足しました。当時、Apple、Google、Mozillaの3社がこの分野で実験を行っていましたが、「gpuweb-proposals」リポジトリに正式に提出されたのはAppleの提案のみでした。[ 17 ] [ 18 ] [ 19 ] その直後の2017年3月21日、MozillaはVulkan設計に基づいたWebGL Nextの提案をKhronosリポジトリに提出しました。[ 20 ] [ 21 ]

2018年6月1日、GoogleのChromeチームは、クロスブラウザ標準化の取り組みにおける「最も高レベルの問題の解決」を理由に、将来のWebGPU標準を実装する意向を発表しました。[ 15 ]

2020 年 2 月 13 日、Google は WebGPU API への WHLSL テキスト言語提案の代替として Tint を発表しました。この言語は最終的に標準化されたWebGPU シェーディング言語 (WGSL)となり、Tint は Chromium の WebGPU 実装である Dawn 内のコンパイラーの名前になりました。

参考文献

  1. ^ 「WebGPU: W3C 候補勧告草案」
  2. ^ a b c「Chrome が WebGPU を搭載」。Chromeデベロッパー2023年4月8日閲覧。
  3. ^ a b c d「WebGPU実装状況」 . GitHub . 2025年6月16日閲覧
  4. ^ 「Safari 26.0ベータ版リリースノート」 。 2025年7月11日閲覧
  5. ^ "WebGPU API" . developer.mozilla.org . 2024年3月17日閲覧
  6. ^ 「WebGPUシェーディング言語」 . gpuweb.github.io . 2025年7月17日閲覧
  7. ^ 「tint - GoogleのGit」dawn.googlesource.com . 2025年7月17日閲覧
  8. ^ gfx-rs/wgpu/naga、Rust Graphics Mages、2025年8月6日、 2025年8月8日取得
  9. ^ wgpu、Rust Graphics Mages、2024年1月3日、 2024年1月3日取得
  10. ^ Wallez, Corentin. 「明示的なWebグラフィックAPI」 . 2019年6月25日閲覧
  11. ^ Wallez, Corentin; Ninomiya, Kai. 「WebGL Next investigations」. 2019年6月25日閲覧。
  12. ^ 「Web上の次世代3Dグラフィックス」 . WebKit . 2017年2月7日. 2018年8月13日閲覧
  13. ^ 「AppleはMetalをウェブ向けの新しい3Dグラフィック標準の一部として位置付けようとしている」 AppleInsider 2018年8月13日閲覧
  14. ^ Claburn, Thomas (2017年2月8日). 「Web標準にアレルギーのあるApple、Webグラフィック標準のWebGPUを発表」 The Register . 2017年8月14日閲覧
  15. ^ 「WebGPUプロトタイプとデモ」 . WebKit . 2017年4月5日. 2019年1月10日閲覧
  16. ^ Jackson, Dean (2017年2月16日). 「ようこそ、そして始めましょう」 . public-gpu (メーリングリスト) . 2018年9月11日閲覧。
  17. ^ Jackson, Dean. 「AppleのWebGPU提案を追加する」 GitHub . 2019年3月8日閲覧。
  18. ^ Malyshau, Dzmitry. 「Web向け新しい3D APIのプロトタイプ作成」 . 2016年12月16日閲覧
  19. ^ Malyshau, Dzmitry (2017-03-21). 「Webプラットフォームの定義」. 2018年9月11日閲覧。
  20. ^ Malyshau, Dzmitry. 「Mozilla の貢献:Obsidian API」 . GitHub . 2019年3月8日閲覧。