Matrix multiplication. RGBA16F textures + transposed B benchmark

WebGL2 HALF_FLOAT matrix multiplication C = A x B (SGEMM) benchmark. Fixed random A, B 4096x4096 arrays are used for calculations, therefore You can set new N = M = K value (up to N=4096, multiple of 4). FLOPS = 2 N3/ time. Random CGPU and CGPU - CCPU are shown.

calculating
N=

GeForce GT 710     ~90 GFLOPS (3000 ms, N = 4096).

I re-run all programs many times (press "Run" button) and try to choose "representative" values. Results differ very much on different GPUs.

HGEMM with HALF_FLOAT textures are almost x2 faster than SGEMM with FLOAT ones on GT 710. But it is likely that HGEMM and SGEMM are similar on AMD (me) and modern Intel (Jiajia) GPU. This script is very fast on Atom Z3735F 22.8 GFLOPS (N = 1024) with respect to TFjs 9.6 GFLOPS and FLOAT SGEMM 8 GFLOPS.


WebGL2-compute vs. WebGL?     updated 27 Apr 2019