Skip to content
KernelIndex
Search⌘K

Grouped GEMM FP8 fp4 m masked g4 n2048 k2048

2 eligible runs
gemm

M-masked grouped mixed FP8xFP4 GEMM (4 groups, max_m=512, N=2048, K=2048), DeepGEMM SM100. Each group g computes A_g[:masked_m[g]] @ B_g.T into a fixed [max_m] bucket; rows >= masked_m[g] are zeroed. A is FP8 (float8_e4m3fn, per-token x128 float32 scale); B per-group FP4 (E2M1 int8 + UE8M0 per-32 float32 scale). expected_m is the scheduling hint (int(1.2*expected_per_group)). Reference dequantizes per group; kernel is exact.

Source baseline · unbeaten
147.3µsmean
deepgemm_m_grouped_fp8_fp4_masked_g4_n2048_k2048FlashInfer-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 max_m = 512 · fp32/fp8_e4m3 · CUDA 13.0 · Framework pytorch 2.11.0+cu130 · Protocol flashinfer-bench · mean · 2 results · last observed 2026-06-06Record history →
Estimated floor 1.85 µs · record 79.54× above itestimate, not evidence ›
DRAM 1.85 µs · compute 477 ns · bandwidth-bound on B200
every declared tensor crosses HBM exactly once (8,000 GB/s, B200 datasheet)
2·M·N·K with M=512, N=1024, K=2048 at the dense fp8 peak (4,500 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
1
deepgemm_m_grouped_fp8_fp4_masked_g4_n2048_k2048baselineFlashInfer-Bench baselines
147.3µ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
deepgemm_m_grouped_fp8_fp4_masked_g4_n2048_k2048baselineFlashInfer-Bench baselines
153.2µ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 →

Implementations

Implementation
Runtime
Best latency
Evidence
Availability
python
147.3µs
1.00×
Reported
Apache-2.0 · source

Semantics

Inputs and outputs
a_fp8fp8_e4m3 [g, max_m, k]
a_scalefp32 [g, max_m, k_a_blocks]
b_fp4int8 [g, n, k_half]
b_scalefp32 [g, n, k_b_blocks]
masked_mint32 [g]
expected_mint32 scalar
cbf16 [g, max_m, n]
Axes and behavior
gconstant = 4
kconstant = 2048
nconstant = 2048
max_mvariable
k_halfconstant = 1024
k_a_blocksconstant = 16
k_b_blocksconstant = 64
determinismunspecified
constraintsNo mutation or aliasing
Identity
aliasgrouped_gemm_fp8_fp4_m_masked_g4_n2048_k2048sha25667a497131590…
Sources: FlashInfer-Bench (2026-06-06) · Apache-2.0last observed 2026-06-06How records are decidedJSON