666db68matmul-bench: browser GEMM benchmark (JS, WebGPU, custom C WASM, libFLAME/BLIS WASM)Jeremy Magland 1import type { MatmulMethod } from './types'
3// libFLAME's LAPACK-compat dgemm_ backed by BLIS, compiled to WASM. Two
4// builds: single-threaded and pthreads (needs SharedArrayBuffer, i.e.
5// crossOriginIsolated). Both run through threadedClient's dedicated worker.
6export const blisStMatmul: MatmulMethod = {
7 id: 'blis-st',
8 label: 'libFLAME/BLIS (1 thread)',
9 precision: 'f64',
10 threadedKind: 'blis-st',
11 available: () => typeof WebAssembly !== 'undefined',
12}
14export const blisMtMatmul: MatmulMethod = {
15 id: 'blis-mt',
16 label: 'libFLAME/BLIS (threaded)',
17 precision: 'f64',
18 threadedKind: 'blis-mt',
19 note: 'WASM threads — needs cross-origin isolation (SharedArrayBuffer)',
20 available: () => typeof WebAssembly !== 'undefined' && globalThis.crossOriginIsolated === true,
21}