fortran66のブログ

fortran について書きます。

【メモ帳】WebGPU とやら

M1 mac WebGPU

斯様な記事が出ていたので、試してみました。結果表示を信じるなら確かに約900GFlopsを出しています。

gigazine.net

WebGPUもよく分かりませんが、JavaScriptもよく分かりません。Flops導出式が正しいのかもよく分かりません。

出力結果

best: 933.69 gflops
[numthreads(4, 16, 1)]
compute void main(constant float4[] A : register(u0),
                  constant float4[] B : register(u1),
                  device float4[] C : register(u2),
                  float3 threadID : SV_DispatchThreadID) {
  uint m = uint(threadID.x);
  uint n = uint(threadID.y);

以下略

しかし秘密主義のアップルのせいでよく分からないGPUも、アップル絡みのWebGPUに関してはブラウザ上のJavaScriptでハードウェアに近いAPIを叩けるという奇妙さ。

GPUの他に、ニューラルエンジンというのもあるけれども、これも何が何やらよく分かりません。マニュアルを見ていると整数1024bitのSIMD演算がAPIがあるように見受けられるけれど、よく分かりません。SwiftかObjective-Cしか例題もなし。CのAPIがあればfortranからも呼べようけども・・・