Skip to content
KernelIndex
Search⌘K

submission 655819

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-655819?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.17µs
#34 of 1143
2026-03-28

Reported · How evidence levels are derived →

Source and license

sourceavailable
revision digestsha256:d167b280573dfa9368e8f9b6cae5b17618808d4e7347812abf50339bc6adbde3
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 649250.

⋯ 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