Module Sarek_gemm

type float32 = float
val fma : float -> float -> float -> float
val gemm_fma_f32 : float32 -> float32 -> float32 -> float32

Element multiply-accumulate: acc + a * b with a single rounding (FMA). The one op L15b swaps for a tensor-core fragment multiply-accumulate.

val sgemm_tiled_kernel : unit * (unit -> unit, 'a, 'b) Sarek.Kirc_types.kirc_kernel

Tiled SGEMM: c := alpha * a * b + beta * c for row-major float32 a (MxK), b (KxN), c (MxN). Launch with Host. Tile is 16x16.

module Host : sig ... end

Host-side launch configuration for sgemm_tiled_kernel. Kept element-type- agnostic so an f64/df64 or L15b mma kernel reuses it by construction.