submission 632710
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-632710?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:c271ecb8c6ba8d4ab1187b6712e78150bfdd61feaf23a02b3f02bcc5239a7daf
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 628542.
⋯ 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