Chromeの新API「WebGPU」ではどれだけパフォーマンスが改善されるのか?
ARANK
Googleは2022年第一四半期に登場するChromeにおいて、コンピューターグラフィックをレンダリングするために用いられるJavaScript APIを既存のWebGLから後継のWebGPUにアップデートすると発表しています。新たに登場するWebGPUの最大の特徴であるGPUで計算を行う「コンピュートシェーダー」について、フロントエンド開発に焦点を当てたニュースブログのPixels Commanderが解説しています。
1 comments
WebGPUのコンピュートシェーダーの評価記事が出ています。GPU計算メインなので、本質的にはピクセルシェーダーvsコンピュートシェーダーのお話ですが、WebGL vs WebGPUという文脈はもちろんあって新鮮ですね。
記事中のバッチ処理の単位というのは、GPU内のシェアードメモリを共有する演算ブロック(NVIDIA GPUならStreaming Processor)が一度に扱えるGPUスレッド数を意味します。
(参考: 後藤弘茂のWeekly海外ニュース「NVIDIAの新アーキテクチャGPU「GeForce RTX 30」シリーズ」
https://pc.watch.impress.co.jp/docs/column/kaigai/1275220.html )
これに収まらない要素数を計算する場合は、途中計算をシェーアドメモリの範疇を超えてのGPU内メモリアクセス(VRAMアクセス)が発生するため遅くなります。
WebGLのピクセルシェーダーはシェアードメモリを活用できていないでしょうから、その結果今回のケースでは3.5倍程度の違いになったということですね。
今回の性能差は、GPU内のメモリアクセス階層の文脈での要因が大きいと思います。