Skip to content
KernelIndex
Search⌘K

submission 688863

ftyghome · python · License unknown

Use it

Vendorable · source mirrored · license unknownView source →

No package. Vendor the mirrored source: 26 lines, June 9 Researcher Reciprocity License v1.0.

submission.py
curl "https://kernelindex.com/api/v1/implementations/kernelbot-amd-mxfp4-mm-688863?include=source"
interfacepython
Compatibility
measured onAMD Instinct MI355X
declared hardwareAMD Instinct MI355X
architecturesgfx950
dtypesbf16, mxfp4

Benchmark evidence

1 measurement across 1 GPU, fastest first.

Operation / workload
Hardware
Latency
Rank
Observed
AMD MXFP4 GEMMsuite of 6 cases
AMD Instinct MI355X
8.12µs
#27 of 1143
2026-04-01

Reported · How evidence levels are derived →

Source and license

sourceavailable
revision digestsha256:34e4796d15fcfac80f0a91b244d8e25b27dffedcad8666913eeee288bab3b4f3
license declaredunknown
license concludedunknown
authorsftyghome
imported2026-08-15

Kernel source

submission.py26 lines
#!POPCORN leaderboard amd-mxfp4-mm
# This file is generated by gen_submission.py. DO NOT EDIT.
import os, zlib, base64, torch
os.environ.setdefault("HSA_XNACK", "0")
os.environ["PYTORCH_ROCM_ARCH"] = "gfx950:xnack-"
from torch.utils.cpp_extension import load_inline
from task import input_t, output_t

CUDA_SRC = zlib.decompress(base64.b64decode(b'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')).decode("utf-8")

_mod = load_inline(
    name="mxfp4_gemm_submission",
    cpp_sources=[""],
    cuda_sources=[CUDA_SRC],
    verbose=False,
    extra_cflags=["-Ofast", "-ffast-math", "-march=native", "-funroll-loops", "-fomit-frame-pointer"],
    extra_cuda_cflags=[
        "-std=c++20", "-Ofast", "-ffast-math", "-ffp-contract=fast", "-DGEMM6_SWIZZLE=0",
        "-U__HIP_NO_HALF_OPERATORS__", "-U__HIP_NO_HALF_CONVERSIONS__",
    ],
)
_quant_gemm = _mod.quant_gemm

def custom_kernel(data: input_t) -> output_t:
    A, _, _, B_shuffle, B_scale_sh = data
    return _quant_gemm(A, B_shuffle.view(torch.uint8), B_scale_sh.view(torch.uint8))

Source code from GPU Mode and the KernelBot dataset · June 9 Researcher Reciprocity License v1.0

Changes from previous submission

Against this author's previous submission submission 686042.

⋯ 5 unchanged lines
from torch.utils.cpp_extension import load_inline
from task import input_t, output_t
- CUDA_SRC = zlib.decompress(base64.b64decode(b'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')).decode("utf-8")
+ CUDA_SRC = zlib.decompress(base64.b64decode(b'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')).decode("utf-8")
_mod = load_inline(
name="mxfp4_gemm_submission",

Best evidence level for this revision: reported

JSON