Skip to content
KernelIndex
Search⌘K

submission 710356

sepehresy · python · License unknown

Use it

Vendorable · source mirrored · license unknownView source →

No package. Vendor the mirrored source: 76 lines, June 9 Researcher Reciprocity License v1.0.

MoE_V59.py
curl "https://kernelindex.com/api/v1/implementations/kernelbot-amd-moe-mxfp4-710356?include=source"
interfacepython
Compatibility
measured onAMD Instinct MI355X
declared hardwareAMD Instinct MI355X
architecturesgfx950
dtypesbf16, fp32, fp8_e8m0, int32, mxfp4

Benchmark evidence

1 measurement across 1 GPU, fastest first.

Operation / workload
Hardware
Latency
Rank
Observed
AMD MXFP4 MoEsuite of 7 cases
AMD Instinct MI355X
138.7µs
#112 of 782
2026-04-03

Reported · How evidence levels are derived →

Source and license

sourceavailable
revision digestsha256:b03cc26e2d54cdeb800fe49049b9a552702a4951ecdca4ece3a736ad9ed320c3
license declaredunknown
license concludedunknown
authorssepehresy
imported2026-08-15

Kernel source

MoE_V59.py76 lines
"""
MoE_V59: V55 (best=141.8µs) + AMD_DIRECT_DISPATCH=1.

V57 used AMD_DIRECT_DISPATCH=1 + run_1stage=True for d=2048. It failed
because run_1stage caused a timeout, NOT because of AMD_DIRECT_DISPATCH.

AMD_DIRECT_DISPATCH bypasses the HIP runtime dispatch queue, reducing
kernel launch latency. Combined with HIP_FORCE_DEV_KERNARG, this should
further cut dispatch overhead for the 7-shape benchmark.

No config changes from V55 — purely testing the env var impact.
"""
import os
os.environ["HIP_FORCE_DEV_KERNARG"] = "1"
os.environ["GPU_MAX_HW_QUEUES"] = "2"
os.environ["AMD_DIRECT_DISPATCH"] = "1"

import torch
from task import input_t, output_t
from aiter import ActivationType, QuantType
from aiter.fused_moe import fused_moe
import aiter.fused_moe as fm

_S1_256x128 = "moe_ck2stages_gemm1_256x128x128x128_1x4_MulABScaleShuffled_v3_Nswizzle0_Quant3_MulRoutedWeight0_silu_FP4X2_FP4X2_B16"
_S2_64x32 = "moe_ck2stages_gemm2_64x32x32x128_1x1_MulABScaleExpertWeightShuffled_v1_Nswizzle0_Quant3_MulRoutedWeight1_FP4X2_FP4X2_B16"
_configs_injected = False
_call_count = 0

def custom_kernel(data: input_t) -> output_t:
    (hs, guw, dw, guws, dws, guw_sh, dw_sh, guws_sh, dws_sh, tw, ti, cfg) = data
    hp = cfg["d_hidden_pad"] - cfg["d_hidden"]
    ip = cfg["d_expert_pad"] - cfg["d_expert"]
    M = cfg["bs"]; E = cfg["n_routed_experts"] + cfg["n_shared_experts"]
    top_k = cfg["total_top_k"]; est_m = (M * top_k) // E

    if E > 64:
        if est_m <= 0:
            os.environ["AITER_KSPLIT"] = "2"; os.environ["AITER_BYPASS_TUNE_CONFIG"] = "1"
        else:
            os.environ["AITER_KSPLIT"] = "0"; os.environ["AITER_BYPASS_TUNE_CONFIG"] = "0"
    else:
        if est_m <= 34:
            os.environ["AITER_KSPLIT"] = "2"; os.environ["AITER_BYPASS_TUNE_CONFIG"] = "1"
        else:
            os.environ["AITER_KSPLIT"] = "0"; os.environ["AITER_BYPASS_TUNE_CONFIG"] = "0"

    global _configs_injected, _call_count
    _call_count += 1
    if not _configs_injected and _call_count == 2 and fm.cfg_2stages is not None:
        _configs_injected = True
        _A = "ActivationType.Silu"; _D = "torch.bfloat16"
        _QA = "torch.float4_e2m1fn_x2"; _QW = "torch.float4_e2m1fn_x2"; _QT = "QuantType.per_1x32"
        def mk(t,i,e): return (256,t,7168,i,e,9,_A,_D,_QA,_QW,_QT,1,0)
        cfg_e257 = {"ksplit":0, "kernelName1":_S1_256x128, "kernelName2":_S2_64x32, "run_1stage":False}

        fm.cfg_2stages[mk(128,256,257)] = {**cfg_e257, "block_m": 32}
        fm.cfg_2stages[mk(512,256,257)] = {**cfg_e257, "block_m": 32}

        cfg_sm = {"ksplit":0, "kernelName1":"moe_ck2stages_gemm1_256x32x128x128_1x4_MulABScaleShuffled_v3_Nswizzle0_Quant3_MulRoutedWeight0_silu_FP4X2_FP4X2_B16",
                  "kernelName2":_S2_64x32, "run_1stage":False}
        fm.cfg_2stages[mk(512,512,33)] = {**cfg_sm, "block_m": 32}

        fm.cfg_2stages[mk(512,2048,33)] = {
            "block_m": 64, "ksplit": 0,
            "kernelName1": "", "kernelName2": "",
            "run_1stage": False,
        }
        fm.get_2stage_cfgs.cache_clear()

    return fused_moe(hs, guw_sh, dw_sh, tw, ti,
        expert_mask=None, activation=ActivationType.Silu,
        quant_type=QuantType.per_1x32, doweight_stage1=False,
        w1_scale=guws_sh, w2_scale=dws_sh,
        a1_scale=None, a2_scale=None,
        hidden_pad=hp, intermediate_pad=ip)
scrolls · 76 lines total

Source code from GPU Mode and the KernelBot dataset · June 9 Researcher Reciprocity License v1.0

Best evidence level for this revision: reported

JSON