submission 755134
colorswind · python · License unknown
Use it
Vendorable · source mirrored · license unknownView source →
No package. Vendor the mirrored source: 25 lines, June 9 Researcher Reciprocity License v1.0.
submission.py
curl "https://kernelindex.com/api/v1/implementations/kernelbot-amd-mxfp4-mm-755134?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:b8797a63f2d1bac7bb98df2944cba6832c78de0713f6531549199b69abdf5cd3
license declaredunknown
license concludedunknown
authorscolorswind
imported2026-08-15
Kernel source
submission.py25 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:
return _quant_gemm(data[0], data[3], data[4])Source code from GPU Mode and the KernelBot dataset · June 9 Researcher Reciprocity License v1.0
Best evidence level for this revision: reported
JSON