submission 649250
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-649250?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
Reported · How evidence levels are derived →
Source and license
sourceavailable
revision digestsha256:66465fe5eaf61f6873b80aace4fba6cefc6ea45100454e6386d0b62ac5cee154
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 638436.
⋯ 5 unchanged linesfrom torch.utils.cpp_extension import load_inlinefrom 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