submission 638436
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-638436?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:b3afbefce53167aa4e3814b368593f0a94a13dab89e0010bf9ffc53db6078723
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 632710.
⋯ 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