M1 mac WebGPU
斯様な記事が出ていたので、試してみました。結果表示を信じるなら確かに約900GFlopsを出しています。
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からも呼べようけども・・・