Matrix multiplication benchmark (Shader 1, 2)

WebGL2-compute based NxN matrix multiplication C = A x B benchmark. Fixed random A, B 4096x4096 buffers are used for calculations, therefore You can set new N value (up to N=4096, multiple of TS). 6 shaders Sh1, 2 with tile sizes (local_size_x,y) TS = 8, 16, 32 are precompiled. it - number of iterations. FLOPS = 2 N3it / time. Random CGPU and CGPU - CCPU are shown.

calculating
N= TS= Sh= it=

GeForce GT 710     29.8 GFLOPS (N=4096, TS=32).
Intel Atom Z3735F   4.8 GFLOPS (N=1024, TS=32).

Comments

Dummy operator gl.getBufferSubData()
  gl.dispatchCompute(N/TS, N/TS, 1)
  gl.memoryBarrier(gl.SHADER_STORAGE_BARRIER_BIT)
  gl.getBufferSubData(gl.SHADER_STORAGE_BUFFER, 0, result)
  var ti = performance.now()
is used to get compute execution time.
SGEMM in WebGL2-compute     updated 26 Mar 2019