Batched matrix multiplication
4 eligible runs
gemm
KernelBench level1 problem 3: Batched matrix multiplication. The computation is the reference PyTorch module's forward pass; the output shape follows the module (mirrored as each implementation's source).
Source baseline · unbeaten
5.33ms±0.01 · mean of 100
PyTorch eagerPyTorch · MIT · python
Reported evidence · last observed 2026-03-05. The source's designated baseline implementation. Reported by source; not independently reproduced.
Current records
HardwareBest knownImplementationRuns
NVIDIA H100 · env 15.33 msPyTorch eager2NVIDIA H100 · env 28.17 msPyTorch eager2Not measured on B200 for this workload. Challenges →
Source-native comparison · GPU NVIDIA H100 · Workload k = 1024 · m = 512 · n = 2048 · batch_size = 128 · fp32 · Protocol KernelBench timing scripts · mean · 2 results · last observed 2026-03-05Record history →
Estimated floor 400.6 µs · record 13.3× above itestimate, not evidence ›
DRAM 400.6 µs · compute 4.34 µs · bandwidth-bound on H100 SXM
every declared tensor crosses HBM exactly once (3,350 GB/s, H100 SXM datasheet)
2·M·N·K with M=512, N=2048, K=1024 at the dense tf32 peak (495 TFLOP/s)
headroom-v1: a lower bound from declared tensors and datasheet peaks. A kernel can sit well above it for good reasons.
#
Implementation
Latency
vs #1
Trust
Observed
15.33ms±0.011.00×Reported · MIT · source2026-03-05stale
Measured exactly what you asked. The source's designated baseline implementation. Reported by source; not independently reproduced.
source mirroredMITno install recipeView source →Run detail →
2torch.compile (inductor)PyTorch5.35ms±0.011.00×Reported · MIT · source2026-03-05stale
1.00× slower than the baseline. Measured exactly what you asked. Reported by source; not independently reproduced.
source mirroredMITno install recipeView source →Run detail →
Implementations
Implementation
Runtime
Best latency
Evidence
Availability
Semantics
Inputs and outputs
afp32 [batch_size, m, k]
bfp32 [batch_size, k, n]
outfloat [out]
Axes and behavior
kvariable
mvariable
nvariable
outvariable
batch_sizevariable
determinismunspecified
constraintsNo mutation or aliasing
Identity
sha2567006e4dccd10…
Sources: KernelBench baseline timings (2026-03-05) · MITlast observed 2026-03-05How records are decidedJSON