Skip to content
KernelIndex
Search⌘K

GEMM NVFP4 n4096 k4096

18 eligible runs
gemm

NVFP4 dense GEMM C = (A @ B.T) * alpha (N=4096, K=4096). Inputs are NVFP4-quantized: packed E2M1 data (2 values/byte, int8 storage) plus per-16 UE4M3 block scales (swizzled 128x4 layout, int8 storage), and a scalar global de-scale alpha = 1/(global_sf_a*global_sf_b). The reference dequantizes both operands and matmuls, so NVFP4 kernels are numerically exact against it.

Source baseline · unbeaten
96.6µsmean
mm_fp4_nvfp4_flashinfer_n4096_k4096FlashInfer-Bench baselines · Apache-2.0 · python

Reported evidence · last observed 2026-06-06. The source's designated baseline implementation. Reported by source; not independently reproduced.

Current records

Not measured on H100 for this workload. Challenges →

Source-native comparison · GPU NVIDIA B200 · Workload m = 256 · int8 · CUDA 13.0 · Framework pytorch 2.11.0+cu130 · Protocol flashinfer-bench · mean · 6 results · last observed 2026-06-06Record history →
Estimated floor 1.25 µs · record 77.06× above itestimate, not evidence ›
DRAM 1.25 µs · bandwidth-bound on B200
every declared tensor crosses HBM exactly once (8,000 GB/s, B200 datasheet)
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
1
mm_fp4_nvfp4_flashinfer_n4096_k4096baselineFlashInfer-Bench baselines
96.6µs
1.00×
Reported · Apache-2.0 · source
2026-06-06

Measured exactly what you asked. The source's designated baseline implementation. Reported by source; not independently reproduced.

source mirroredApache-2.0no install recipeView source →Run detail →
2
mm_fp4_nvfp4_flashinfer_n4096_k4096baselineFlashInfer-Bench baselines
97.8µs
1.01×
Reported · Apache-2.0 · source
2026-06-06

Measured exactly what you asked. The source's designated baseline implementation. Reported by source; not independently reproduced.

source mirroredApache-2.0no install recipeView source →Run detail →
3
mm_fp4_nvfp4_flashinfer_n4096_k4096baselineFlashInfer-Bench baselines
100.3µs
1.04×
Reported · Apache-2.0 · source
2026-06-06

Measured exactly what you asked. The source's designated baseline implementation. Reported by source; not independently reproduced.

source mirroredApache-2.0no install recipeView source →Run detail →
4
cublaslt_nvfp4_scaled_mm_n4096_k4096baselineFlashInfer-Bench baselines
103.0µs
1.07×
Reported · Apache-2.0 · source
2026-06-06

Measured exactly what you asked. The source's designated baseline implementation. Reported by source; not independently reproduced.

source mirroredApache-2.0no install recipeView source →Run detail →
5
mm_fp4_nvfp4_cudnn_n4096_k4096baselineFlashInfer-Bench baselines
129.4µs
1.34×
Reported · Apache-2.0 · source
2026-06-06

Measured exactly what you asked. The source's designated baseline implementation. Reported by source; not independently reproduced.

source mirroredApache-2.0no install recipeView source →Run detail →
6
mm_fp4_nvfp4_cudnn_n4096_k4096baselineFlashInfer-Bench baselines
135.9µs
1.41×
Reported · Apache-2.0 · source
2026-06-06

Measured exactly what you asked. The source's designated baseline implementation. Reported by source; not independently reproduced.

source mirroredApache-2.0no install recipeView source →Run detail →

Scaling by m

50.0 µs100.0 µs1282561024m →97.4 µs96.6 µs100.7 µsmm_fp4_nvfp4_flashinfer_n4096_k409697.8 µs103.0 µs104.2 µscublaslt_nvfp4_scaled_mm_n4096_k4096132.9 µs129.4 µs133.5 µsmm_fp4_nvfp4_cudnn_n4096_k4096
mm_fp4_nvfp4_flashinfer_n4096_k4096cublaslt_nvfp4_scaled_mm_n4096_k4096mm_fp4_nvfp4_cudnn_n4096_k4096best per workload · NVIDIA B200 · CUDA 13.0 · pytorch 2.11.0+cu130 · flashinfer-bench held constant

Implementations

Implementation
Runtime
Best latency
Evidence
Availability
cublaslt_nvfp4_scaled_mm_n4096_k4096FlashInfer-Bench baselines
python
97.8µs
1.01×
Reported
Apache-2.0 · source
mm_fp4_nvfp4_cudnn_n4096_k4096FlashInfer-Bench baselines
python
129.4µs
1.34×
Reported
Apache-2.0 · source
mm_fp4_nvfp4_flashinfer_n4096_k4096FlashInfer-Bench baselines
python
96.6µs
1.00×
Reported
Apache-2.0 · source

Semantics

Inputs and outputs
a_fp4int8 [m, k_half]
a_scaleint8 [m, k_blocks]
b_fp4int8 [n, k_half]
b_scaleint8 [n, k_blocks]
alphafp32 scalar
cbf16 [m, n]
Axes and behavior
kconstant = 4096
mvariable
nconstant = 4096
k_halfconstant = 2048
k_blocksconstant = 256
determinismunspecified
constraintsNo mutation or aliasing
Identity
aliasgemm_nvfp4_n4096_k4096sha2568c9d2bd3c626…
Sources: FlashInfer-Bench (2026-06-06) · Apache-2.0last observed 2026-06-06How records are decidedJSON