From b46a253286eb6a06635e93975d26b1d1603282ff Mon Sep 17 00:00:00 2001 From: BinDing Date: Sat, 31 Oct 2026 09:55:00 +0000 Subject: [PATCH 1/8] optimize dsv4.1, k3, m3 tp moe perf --- aiter/ops/flydsl/grouped_gemm_mxfp4.py | 39 ++- aiter/ops/flydsl/grouped_moe_gfx1250.py | 44 +++- .../kernels/mxfp4_preshuffle_gfx1250_tdm.py | 229 +++++++++++++++--- aiter/ops/shuffle.py | 13 +- 4 files changed, 286 insertions(+), 39 deletions(-) diff --git a/aiter/ops/flydsl/grouped_gemm_mxfp4.py b/aiter/ops/flydsl/grouped_gemm_mxfp4.py index 97ca4e27020..3619bfedf6d 100644 --- a/aiter/ops/flydsl/grouped_gemm_mxfp4.py +++ b/aiter/ops/flydsl/grouped_gemm_mxfp4.py @@ -131,6 +131,20 @@ def _select_num_waves_per_tensor_tdm(csv_num_waves: int) -> int: _BIAS_MODE = {torch.bfloat16: 1, torch.float32: 2, torch.float16: 3} +# Split-K scratch: 1024 per-tile arrival counters (the kernel re-arms each to +# zero) followed by fp32 partial tiles. Kept per device and only grown, so a +# warm call allocates nothing and stays CUDA-graph safe. +_SPLITK_COUNTERS = 1024 +_SPLITK_WS: dict = {} + + +def _splitk_workspace(device, nbytes: int) -> torch.Tensor: + ws = _SPLITK_WS.get(device) + if ws is None or ws.numel() * 4 < nbytes: + ws = torch.zeros((nbytes + 3) // 4, dtype=torch.int32, device=device) + _SPLITK_WS[device] = ws + return ws + def flydsl_grouped_gemm_a8w4_masked( out, @@ -177,6 +191,7 @@ def flydsl_grouped_gemm_a8w4_masked( a_scale_row_stride_bytes=0, persistent_workers=0, rolled_drain=0, + split_k=1, ): """Launch a contiguous-M grouped GEMM, optionally with persistent workers. @@ -215,7 +230,12 @@ def flydsl_grouped_gemm_a8w4_masked( if float(situ_linear_beta) <= 0.0: raise ValueError(f"situ_linear_beta must be > 0, got {situ_linear_beta!r}") k_tiles = (K + tile_k - 1) // tile_k - num_buffers = min(num_buffers, max(1, k_tiles)) + split_k = int( + os.environ.get(f"AITER_FLYDSL_SPLIT_K{1 if stage1_act else 2}", split_k) + ) + if split_k > 1 and (k_tiles % split_k or K % tile_k): + split_k = 1 + num_buffers = min(num_buffers, max(1, k_tiles // split_k)) if bias is None: has_bias = 0 elif bias.dtype in _BIAS_MODE: @@ -229,6 +249,16 @@ def flydsl_grouped_gemm_a8w4_masked( out if quant_scale is None else quant_scale.view(torch.uint8) ).view(-1) n_tiles = (N + tile_n - 1) // tile_n + splitk_ws = None + if split_k > 1: + tiles = (contiguous_m + tile_m - 1) // tile_m * n_tiles + if tiles > _SPLITK_COUNTERS: + split_k = 1 + num_buffers = min(num_buffers, max(1, k_tiles)) + else: + splitk_ws = _splitk_workspace( + out.device, 4 * (_SPLITK_COUNTERS + tiles * split_k * tile_m * tile_n) + ) cluster_n = _select_cluster_n(n_tiles, cluster_n) cluster_m = _select_cluster_m(cluster_m, cluster_n, stage1_act) stage = 1 if stage1_act else 2 @@ -250,6 +280,11 @@ def flydsl_grouped_gemm_a8w4_masked( persistent_workers = ( (persistent_workers + cluster_n - 1) // cluster_n * cluster_n ) + if split_k > 1: + # Split-K owns the grid: no clusters, no persistent workers, no As prologue. + cluster_n = cluster_m = 1 + persistent_workers = 0 + tdm_as_in_prologue = 0 waves_per_tensor_tdm = _select_num_waves_per_tensor_tdm(waves_per_tensor_tdm) rolled_drain = int(rolled_drain) if rolled_drain not in (0, 1): @@ -311,6 +346,7 @@ def flydsl_grouped_gemm_a8w4_masked( persistent_workers, rolled_drain, int(a_preshuffled), + int(split_k), ) _run_compiled( launch_gemm_a8w4_tdm, @@ -335,6 +371,7 @@ def flydsl_grouped_gemm_a8w4_masked( float(situ_beta), float(situ_linear_beta), *layout_spec, + splitk_ws if splitk_ws is not None else out.view(-1), specialization_key=( gemm_spec, route_spec, diff --git a/aiter/ops/flydsl/grouped_moe_gfx1250.py b/aiter/ops/flydsl/grouped_moe_gfx1250.py index fd377675c76..5334629c917 100644 --- a/aiter/ops/flydsl/grouped_moe_gfx1250.py +++ b/aiter/ops/flydsl/grouped_moe_gfx1250.py @@ -605,6 +605,18 @@ def get_wmma_m_rep( return tile_m // m_warp // wmma_m +def _fit_tile_n(n: int, tile_n: int, n_warp: int) -> tuple[int, int]: + """Halve ``tile_n`` (and ``n_warp`` while its wave tile stays >= 64) until + it divides ``n``.""" + while n % tile_n and tile_n > 64: + tile_n //= 2 + if tile_n // n_warp < 64 and n_warp > 1: + n_warp //= 2 + if n % tile_n: + raise ValueError(f"[grouped-moe] no N tile divides N={n}") + return tile_n, n_warp + + def _grouped_a8w4_tdm_moe( hidden_states, w1, @@ -649,6 +661,8 @@ def _grouped_a8w4_tdm_moe( a_preshuffle=0, persistent_workers=0, persistent_workers2=0, + split_k1=1, + split_k2=1, data_format="a8w4", expert_mask=None, num_local_tokens=None, @@ -723,6 +737,11 @@ def _grouped_a8w4_tdm_moe( f"[grouped-moe compact] tiles {tile_m}/{tile_m2} do not divide " f"the compact plan's row alignment {_plan_align}" ) + # The B loads do not clamp N, so a partial last N tile would read the next + # expert's rows (and fault past the last one). Narrow such a tile, e.g. the + # 256-wide default at inter_dim=576 (N=1152), to one that divides N. + tile_n, n_warp = _fit_tile_n(2 * inter_dim, tile_n, n_warp) + tile_n2, n_warp2 = _fit_tile_n(model_dim, tile_n2, n_warp2) wmma_rep = get_wmma_m_rep(tile_m, tile_n, m_warp, n_warp, "gemm1") wmma_rep2 = get_wmma_m_rep(tile_m2, tile_n2, m_warp2, n_warp2, "gemm2") _align_m = max(tile_m, tile_m2) @@ -735,8 +754,18 @@ def _grouped_a8w4_tdm_moe( f"divide their max ({_align_m}); otherwise a GEMM tile straddles " "two experts and silently computes against the wrong weights" ) + # Empty experts take no rows, so at most min(E, routes) experts pad their + # tail: a decode batch launches a few M tiles instead of one per expert. + _routes = token_num * topk contiguous_m = max( - _align_m, _tdm_align_up(token_num * topk + E * _align_m - topk, _align_m) + _align_m, + _tdm_align_up( + min( + _routes + E * _align_m - topk, + _routes + min(E, _routes) * (_align_m - 1), + ), + _align_m, + ), ) max_m = max(_align_m, _tdm_align_up(token_num * topk, _align_m)) if _compact: @@ -1148,7 +1177,10 @@ def _grouped_a8w4_tdm_moe( # Pre-allocate MX payload + preshuffled e8m0 scale for gemm1 output. # These are written directly by the kernel's fused quant epilogue. payload_bytes = inter_dim // 2 if _is_fp4 else inter_dim - scale_bytes = inter_dim // 32 # one e8m0 byte per 32-element MX block + # One e8m0 byte per 32-element MX block, laid out per whole k128 (four + # blocks), so a half-k128 tail (inter_dim % 128 == 64) keeps a padded + # dword that gemm1 fills with a finite scale. + scale_bytes = (inter_dim + 127) // 128 * 4 a2_payload = torch.empty( (1, contiguous_m, payload_bytes), dtype=torch.uint8, device=device ) @@ -1195,6 +1227,7 @@ def _grouped_a8w4_tdm_moe( tdm_b_th=tdm_b_th, lds_soa_load_interleave=lds_soa_load_interleave, rolled_drain=rolled_drain, + split_k=split_k1, row_major_ascale=int(_row_major_ascale), a_row_stride_bytes=_a1_wire_stride, a_scale_row_stride_bytes=_a1_wire_stride, @@ -1235,6 +1268,7 @@ def _grouped_a8w4_tdm_moe( tdm_b_th=tdm_b_th, lds_soa_load_interleave=lds_soa_load_interleave, rolled_drain=rolled_drain, + split_k=split_k1, row_major_ascale=int(_row_major_ascale), a_row_stride_bytes=_a1_wire_stride, a_scale_row_stride_bytes=_a1_wire_stride, @@ -1285,6 +1319,7 @@ def _grouped_a8w4_tdm_moe( tdm_b_th=tdm_b_th, lds_soa_load_interleave=lds_soa_load_interleave, rolled_drain=rolled_drain, + split_k=split_k2, **_ep_gemm2_kwargs, ) @@ -1372,6 +1407,7 @@ def _grouped_a8w4_tdm_moe( lds_soa_load_interleave=lds_soa_load_interleave, row_major_ascale=int(_row_major_ascale), rolled_drain=rolled_drain, + split_k=split_k1, **_situ_kw, ), ) @@ -1414,6 +1450,7 @@ def _grouped_a8w4_tdm_moe( lds_soa_load_interleave=lds_soa_load_interleave, row_major_ascale=int(_row_major_ascale), rolled_drain=rolled_drain, + split_k=split_k1, **_situ_kw, ), ) @@ -1453,6 +1490,7 @@ def _grouped_a8w4_tdm_moe( tdm_b_th=tdm_b_th, lds_soa_load_interleave=lds_soa_load_interleave, rolled_drain=rolled_drain, + split_k=split_k2, ), ) ) @@ -1761,6 +1799,8 @@ def _fmt(v): cfg_row.get("lds_soa_load_interleave"), 0 ) _tdm_kw["rolled_drain"] = _as_int(cfg_row.get("rolled_drain"), 0) + _tdm_kw["split_k1"] = _as_int(cfg_row.get("split_k1"), 1) + _tdm_kw["split_k2"] = _as_int(cfg_row.get("split_k2"), 1) # Follow the matched CSV bucket, including padded token counts # (for example, 6144 -> 8192), just like the other kernel knobs. _tdm_kw["a_preshuffle"] = _as_int(cfg_row.get("a_preshuffle"), 0) diff --git a/aiter/ops/flydsl/kernels/mxfp4_preshuffle_gfx1250_tdm.py b/aiter/ops/flydsl/kernels/mxfp4_preshuffle_gfx1250_tdm.py index 5653d15fee6..f5a99df2e86 100644 --- a/aiter/ops/flydsl/kernels/mxfp4_preshuffle_gfx1250_tdm.py +++ b/aiter/ops/flydsl/kernels/mxfp4_preshuffle_gfx1250_tdm.py @@ -18,7 +18,7 @@ from aiter.utility.mx_types import MxDtypeInt as MxDtype -from .buffer_ops import buffer_store, create_buffer_resource_from_addr +from .buffer_ops import buffer_load, buffer_store, create_buffer_resource_from_addr from .gemm_common_gfx1250 import ( batched_silu_swiglu, batched_situv2, @@ -86,6 +86,7 @@ def is_fx_set_register_available(): if LDS_SOA_LOAD_INTERLEAVE is not None: LDS_SOA_LOAD_INTERLEAVE = int(LDS_SOA_LOAD_INTERLEAVE) FORCE_1X4_CLUSTER = int(os.environ.get("AITER_FLYDSL_FORCE_1X4_CLUSTER", "0")) +PSUM_LOOKUP = int(os.environ.get("AITER_FLYDSL_PSUM_LOOKUP", "1")) DISABLE_CLUSTER_SYNC = int(os.environ.get("AITER_FLYDSL_DISABLE_CLUSTER_SYNC", "0")) if EXPLICIT_VGPR_PARTITION not in (0, 1): raise ValueError("AITER_FLYDSL_EXPLICIT_VGPR_PARTITION must be 0 or 1") @@ -188,6 +189,8 @@ def launch_gemm_a8w4_tdm( persistent_workers: Constexpr[int] = 0, rolled_drain: Constexpr[int] = 0, a_preshuffled: Constexpr[int] = 0, + split_k: Constexpr[int] = 1, + arg_splitk_ws: fx.Tensor = None, ): """Launch the grouped contiguous-M a8w4 MoE GEMM for gfx1250. @@ -241,14 +244,37 @@ def launch_gemm_a8w4_tdm( WAVE = 32 PACK_TK = tile_k // 2 KWS = tile_k // WMMA_K - if K % WMMA_K or tile_k % WMMA_K: - raise ValueError(f"K={K} and tile_k={tile_k} must be multiples of {WMMA_K}") + # K may end on half a k128 (K % 128 == 64, e.g. 576 = 4 x 128 + 64): the + # weights stay unpadded and only the scales are laid out per whole k128. + K_HALF_STEP = WMMA_K // 2 + if K % K_HALF_STEP or tile_k % WMMA_K: + raise ValueError( + f"K={K} must be a multiple of {K_HALF_STEP} and tile_k={tile_k} " + f"a multiple of {WMMA_K}" + ) + K128 = ceildiv(K, WMMA_K) + if K % WMMA_K and (a_preshuffled or row_major_ascale): + raise ValueError(f"K={K} with a half k128 tail needs the M16K4 A layout") # A K that tile_k does not divide ends on a ragged tile of KWS_TAIL k128 # steps. Its TDM loads clamp the inner extent there, so the bytes past the - # row end are zero-filled instead of read, and its compute stops early. + # row end are zero-filled instead of read, and its compute stops early. A + # half k128 tail computes its last k128 on that zero fill. K_TILES = ceildiv(K, tile_k) - KWS_TAIL = (K - (K_TILES - 1) * tile_k) // WMMA_K - HAS_K_TAIL = KWS_TAIL != KWS + K_TAIL = K - (K_TILES - 1) * tile_k + KWS_TAIL = ceildiv(K_TAIL, WMMA_K) + HAS_K_TAIL = K_TAIL != tile_k + # Split-K: split_k workgroups share one output tile, each over K_TILES / + # split_k k-tiles; the last to finish sums the partials and runs the + # epilogue. It lifts the workgroup count of decode-sized grids, where a + # handful of experts x N tiles cannot fill the CUs. + if split_k > 1: + if K_TILES % split_k or K % tile_k: + raise ValueError(f"split_k={split_k} must divide K tiles of K={K}/{tile_k}") + if persistent_workers or cluster_m > 1 or cluster_n > 1: + raise ValueError("split_k needs a plain (non-persistent, unclustered) grid") + if enable_ep_scatter or tdm_as_in_prologue: + raise ValueError("split_k does not support EP scatter or the As prologue") + K_TILES = K_TILES // split_k # Double buffering is sufficient: the carry reads the other LDS buffer # before the post-compute barrier permits reusing the current buffer. next_stage_on = 1 if (next_stage_prefetch and num_buffers >= 2) else 0 @@ -305,6 +331,8 @@ def launch_gemm_a8w4_tdm( ep_quant_bits, persistent_workers, rolled_drain, + split_k, + PSUM_LOOKUP, ) _ = cache_tag if enable_ep_scatter: @@ -365,8 +393,8 @@ def launch_gemm_a8w4_tdm( AS_KSTEPS = tile_k // 128 AS_INNER = AS_KSTEPS * wmma_m_rep * 16 AS_SUPERS = m_warp - AS_FULL_KDW = K // 128 - AS_FULL_INNER = (K // 128) * wmma_m_rep * 16 + AS_FULL_KDW = K128 + AS_FULL_INNER = K128 * wmma_m_rep * 16 # A-scale LDS: one outer row is one wave's M tile, and its inner # (k128, wm, lane16) layout gives each WMMA scale operand a contiguous # 16-dword block -- which is why the global buffer has to arrive already @@ -471,6 +499,8 @@ def _lds_pitch(nbytes): _epq = f"_epq{ep_quant_bits}" if ep_quant_bits else "" _persistent = f"_pw{persistent_workers}" if persistent_workers else "" _drain = "_rolleddrain" if rolled_drain else "" + _splitk = f"_sk{split_k}" if split_k > 1 else "" + _splitk += "" if PSUM_LOOKUP else "_bisect" _kname = ( f"mxfp4_tdm_{_afp}{_a_layout}" f"_t{tile_m}x{tile_n}x{tile_k}_w{m_warp}x{n_warp}" @@ -480,7 +510,7 @@ def _lds_pitch(nbytes): f"{_b_tdm_th}{_waves_per_tensor}{_ep}{_epq}" f"{_mma_group}{_ds_first}" f"{_explicit_vgpr_partition}{_planar_lds}" - f"{_interleaved_lds_load}{_persistent}{_drain}" + f"{_interleaved_lds_load}{_persistent}{_drain}{_splitk}" ) # Compile the static path directly, preserving its launch ABI and the @@ -504,6 +534,7 @@ def gemm_task( arg_bias: fx.Pointer, arg_quant_scale: fx.Pointer, arg_ep_row_map: fx.Pointer, + arg_splitk_ws: fx.Pointer, i32_m: fx.Int32, i32_n: fx.Int32, f32_swiglu_limit: fx.Float32, @@ -514,10 +545,15 @@ def gemm_task( ): A_KROW = K // A_PACK Kp16 = (K // 2) * 16 - K4 = K // 4 + # Scale dwords per 32-row B super-row: one per k128, padded K included. + K4 = K128 * 32 tid = fx.thread_idx.x bid_x = task_id if persistent_workers else fx.block_idx.x + split_id = 0 + if const_expr(split_k > 1): + split_id = bid_x % split_k + bid_x = bid_x // split_k wave = rocdl.readfirstlane(T.i32, tid // WAVE) lane = tid % WAVE lane16 = lane % 16 @@ -568,23 +604,45 @@ def gemm_task( elem_ty=fx.Int32.ir_type, address_space=fx.AddressSpace.Global, alignment=4 ) tile_map = fx.recast_iter(i32_ptr, arg_m_tile_map) - has_work = blk_m < tile_map[n_experts - 1] - - # In-kernel bisect: find the expert owning this valid M-tile. Seed the - # result with the padding sentinel so it remains defined outside the - # dynamic branch and the existing main-body guard stays valid. - expert = blk_m * 0 + n_experts - if has_work: - lo, hi = blk_m * 0, blk_m * 0 + n_experts - for _ in range_constexpr( - max(1, math.ceil(math.log2(max(2, n_experts))) + 1) - ): - mid = (lo + hi) >> 1 - mid_clamped = (mid < n_experts - 1).select(mid, n_experts - 1) - go_right = tile_map[mid_clamped] <= blk_m - lo = go_right.select(mid + 1, lo) - hi = go_right.select(hi, mid) - expert = lo + if const_expr(PSUM_LOOKUP): + # psum is sorted, so the owning expert is the count of experts that + # end at or before blk_m. Every lane loads a strided slice in one + # round trip, replacing the bisect's log2(E) dependent loads (the + # bulk of a decode tile's prologue latency). + psum_hits = fx.Int32(0) + for i in range_constexpr(ceildiv(n_experts, WAVE)): + e_idx = lane + i * WAVE + if const_expr((i + 1) * WAVE <= n_experts): + end_e = tile_map[e_idx] + psum_hits = psum_hits + (end_e <= blk_m).select(1, 0) + else: + e_ok = e_idx < n_experts + end_e = tile_map[e_ok.select(e_idx, n_experts - 1)] + psum_hits = psum_hits + (e_ok & (end_e <= blk_m)).select(1, 0) + for sh in range_constexpr(int.bit_length(WAVE) - 1): + psum_hits = psum_hits + psum_hits.shuffle_xor( + fx.Int32(1 << sh), fx.Int32(WAVE) + ) + expert = rocdl.readfirstlane(T.i32, psum_hits) + has_work = expert < n_experts + else: + has_work = blk_m < tile_map[n_experts - 1] + + # In-kernel bisect: find the expert owning this valid M-tile. Seed the + # result with the padding sentinel so it remains defined outside the + # dynamic branch and the existing main-body guard stays valid. + expert = blk_m * 0 + n_experts + if has_work: + lo, hi = blk_m * 0, blk_m * 0 + n_experts + for _ in range_constexpr( + max(1, math.ceil(math.log2(max(2, n_experts))) + 1) + ): + mid = (lo + hi) >> 1 + mid_clamped = (mid < n_experts - 1).select(mid, n_experts - 1) + go_right = tile_map[mid_clamped] <= blk_m + lo = go_right.select(mid + 1, lo) + hi = go_right.select(hi, mid) + expert = lo eb64 = fx.Int64(expert) B_BATCH_ROWS = n64 // 16 N_SUPERS = ceildiv(n64, 32) @@ -593,7 +651,7 @@ def gemm_task( A_GROW = a_row_stride_bytes if a_row_stride_bytes else A_KROW # row-major: scale dwords per M row SA_GROW = ( - a_scale_row_stride_bytes // 4 if a_scale_row_stride_bytes else K // 128 + a_scale_row_stride_bytes // 4 if a_scale_row_stride_bytes else K128 ) c_outer_off, c_inner_off, c_stride = blk_m64, blk_n64, i32_n @@ -776,6 +834,11 @@ def add_tdm_loads( target_jobs=None, cache_modifier=0, ): + if const_expr(split_k > 1 and k_adv): + # This split's first k-tile, in the view's element units. + g_off = g_off + fx.Int64(split_id * K_TILES) * fx.Int64( + k_adv // 4 if on_i32 else k_adv + ) split_i = split_inner and len(wv) > 1 if const_expr(len(wv) > 1): if const_expr(split_i): @@ -814,11 +877,14 @@ def add_tdm_loads( # global-load path; nonzero masks select CLUSTER_LOAD_ASYNC. atom = fx.atom_set_value(atom, "workgroup_mask", fx.Int32(wg_mask)) # Every K-advancing load lays a tile out k128-major, so the ragged - # last tile keeps the first KWS_TAIL/KWS of its inner extent. The - # extent is relative to this wave's base, which imm_offset bumps. + # last tile keeps the first K_TAIL/tile_k of its data extent; the + # scales hold whole k128s, KWS_TAIL/KWS of theirs. The extent is + # relative to this wave's base, which imm_offset bumps. tail_ext = None if const_expr(HAS_K_TAIL and k_adv): - tail_ext = inner * KWS_TAIL // KWS - wave_inner_off + tail_ext = ( + inner * KWS_TAIL // KWS if on_i32 else inner * K_TAIL // tile_k + ) - wave_inner_off (jobs if target_jobs is None else target_jobs).append( Job( atom, @@ -1760,6 +1826,84 @@ def compute_drain_tile(j, has_next, kws=KWS): # mainloop body and no wave-parity branch. run_mainloop(bool(interleaved_lds_load_on)) + if const_expr(split_k > 1): + # Partials keep each thread's own register layout, so the + # reduction is a per-thread sum with no shuffle. The last + # arrival adds them in split order (deterministic) and keeps + # the tile; every other split blanks its epilogue via mn_oob. + SK_NV = n_acc * WMMA_VECTOR_DWORDS + SK_NTASK_PAD = 1024 + # gfx12 cpol SCOPE_DEV: partials are written through to, and read + # from, the device-coherent level so no XCD's L2 serves stale data. + SK_DEV_SCOPE = 16 + i32_gptr = fx.PointerType.get( + elem_ty=fx.Int32.ir_type, + address_space=fx.AddressSpace.Global, + alignment=4, + ) + sk_cnt = fx.recast_iter(i32_gptr, arg_splitk_ws) + # Partials start after the counters; offsets are f32 elements. + sk_rsrc = create_buffer_resource_from_addr( + fx.ptrtoint(sk_cnt + SK_NTASK_PAD) + ) + sk_tile_base = bid_x * (split_k * block * SK_NV) + sk_thread = tid * SK_NV + + def sk_slot(split, j): + return sk_tile_base + split * (block * SK_NV) + sk_thread + j * 4 + + for idx in range_constexpr(n_acc): + v = Vec(c_frags[idx].load()) + for q in range_constexpr(WMMA_VECTOR_DWORDS // 4): + buffer_store( + Vec.from_elements( + [v[q * 4 + i] for i in range_constexpr(4)], fx.Float32 + ).ir_value(), + sk_rsrc, + sk_slot(split_id, idx * (WMMA_VECTOR_DWORDS // 4) + q), + cache_modifier=SK_DEV_SCOPE, + ) + # SCOPE_DEV stores are acknowledged once device-coherent, so + # waiting on them orders the partials before the arrival + # atomic without an L2-wide release fence (which serialises + # every split behind a cache writeback). + rocdl.s_wait_storecnt(0) + workgroup_barrier() + sk_lds_ptr = fx.PointerType.get( + elem_ty=fx.Int32.ir_type, + address_space=fx.AddressSpace.Shared, + alignment=4, + ) + sk_flag = fx.recast_iter(sk_lds_ptr, base_ptr) + if tid == 0: + sk_old = fx.atomic_add(sk_cnt + bid_x, fx.Int32(1), syncscope="agent") + fx.ptr_store(fx.Int32(sk_old), sk_flag) + workgroup_barrier() + sk_is_last = fx.Int32(fx.ptr_load(sk_flag)) == split_k - 1 + if sk_is_last: + if tid == 0: + # Re-arm the counter for the next launch / graph replay. + fx.ptr_store(fx.Int32(0), sk_cnt + bid_x) + for idx in range_constexpr(n_acc): + own = Vec(c_frags[idx].load()) + tot = [] + for q in range_constexpr(WMMA_VECTOR_DWORDS // 4): + acc4 = None + for sp in range_constexpr(split_k): + part = Vec( + buffer_load( + sk_rsrc, + sk_slot(sp, idx * (WMMA_VECTOR_DWORDS // 4) + q), + vec_width=4, + cache_modifier=SK_DEV_SCOPE, + ) + ) + acc4 = part if acc4 is None else acc4 + part + tot += [acc4[i] for i in range_constexpr(4)] + c_frags[idx].store(Vec.from_elements(tot, fx.Float32).ir_value()) + workgroup_barrier() + mn_oob = sk_is_last.select(mn_oob, mn_oob * 0) + accs = [] output_fragments_per_acc = WMMA_N // 16 for idx in range_constexpr(n_acc): @@ -1832,7 +1976,12 @@ def _biased_acc(wm, wn, col_rel): is_kgrp0 = fx.Int32(kgrp) == 0 # i32_n is the pre-activation gate+up width; the quantized # output has half as many columns and one scale dword per K128. - q_dst_scale_dwpr = i32_n // 256 + q_dst_scale_dwpr = (i32_n + 255) // 256 + # A half-k128 output tail leaves the last scale dword's upper two + # bytes without an MX block; GEMM2 reads them against zero data, + # so they get a finite e8m0 (a stale 0xFF is NaN). + q_last_mx_blk = (i32_n >> 6) - 1 + q_half_tail = (i32_n & 255) != 0 scale_rsrc = create_buffer_resource_from_addr( fx.ptrtoint(scale_ptr), num_records_bytes=( @@ -2000,6 +2149,15 @@ def quant_byte_offset(row, col): dst_byte, mask=is_kgrp0, ) + buffer_store( + fx.Int16(0x7F7F), + scale_rsrc, + dst_byte - byte_in_dw + 2, + mask=is_kgrp0 + & q_half_tail + & (mx_blk_is[mx_blk] == q_last_mx_blk), + offset_is_bytes=True, + ) else: # bf16/f16 activation (or passthrough) -> stage to LDS. if const_expr(enable_ep_scatter): @@ -2392,6 +2550,7 @@ def kernel( arg_bias: fx.Pointer, arg_quant_scale: fx.Pointer, arg_ep_row_map: fx.Pointer, + arg_splitk_ws: fx.Pointer, i32_m: fx.Int32, i32_n: fx.Int32, f32_swiglu_limit: fx.Float32, @@ -2411,6 +2570,7 @@ def run_task(task_id, rows): arg_bias, arg_quant_scale, arg_ep_row_map, + arg_splitk_ws, i32_m, i32_n, f32_swiglu_limit, @@ -2443,6 +2603,8 @@ def run_task(task_id, rows): arg_ep_row_map = arg_c if arg_quant_scale is None: arg_quant_scale = arg_c + if arg_splitk_ws is None: + arg_splitk_ws = arg_c kargs = ( fx.get_iter(arg_c), arg_a, @@ -2453,6 +2615,7 @@ def run_task(task_id, rows): arg_bias, fx.get_iter(arg_quant_scale), fx.get_iter(arg_ep_row_map), + fx.get_iter(arg_splitk_ws), i32_m, N, f32_swiglu_limit, @@ -2463,7 +2626,7 @@ def run_task(task_id, rows): ( persistent_workers if persistent_workers - else ((m_tiles + cluster_m - 1) // cluster_m) * n_tiles + else ((m_tiles + cluster_m - 1) // cluster_m) * n_tiles * split_k ), cluster_m, 1, diff --git a/aiter/ops/shuffle.py b/aiter/ops/shuffle.py index e8467e7e177..b642bfb770c 100644 --- a/aiter/ops/shuffle.py +++ b/aiter/ops/shuffle.py @@ -248,7 +248,8 @@ def shuffle_scale_n32k4( """Shuffle a raw per-expert e8m0 weight (B) scale into the n32k4 layout. Input: ``(E, N, K//32)`` (3D) or ``(E*N, K//32)`` (2D, needs ``experts_cnt``). - Output: ``(E, N//32, (K//32)*32)`` uint8. + Output: ``(E, N//32, ceil(K/128)*128)`` uint8 (a K % 128 == 64 tail pads + its last k128 with e8m0 1.0). Within a 32-row super-row the column is ``remain_k*128 + row32*4 + r`` so each lane reads its full WMMA scaleB operand (4 e8m0 of one WMMA-K=128 step) with @@ -284,10 +285,16 @@ def shuffle_scale_n32k4( s = s.view(E, 2, N // 2, k_scale).permute(0, 2, 1, 3).reshape(E, N, k_scale) if N % 32 != 0: raise ValueError(f"B-scale rows must be divisible by 32, got {N}") - if k_scale % 4 != 0: + if k_scale % 2 != 0: raise ValueError( - f"B-scale K//32 must be divisible by 4 (K%128==0), got {k_scale}" + f"B-scale K//32 must be even (K%64==0), got {k_scale}" ) + if k_scale % 4 != 0: + # K % 128 == 64: the weights keep their half-k128 tail unpadded, and only + # the scales round up to a whole k128 with a finite e8m0 (1.0) that the + # GEMM multiplies against zero-filled operand bytes. + s = F.pad(s, (0, 4 - k_scale % 4), value=0x7F) + k_scale = s.shape[-1] g = s.view(E, N // 32, 32, k_scale // 4, 4).permute(0, 1, 3, 2, 4).contiguous() return g.reshape(E, N // 32, k_scale * 32) From 09a6efa695c48d532611b51e90cc73d602547021 Mon Sep 17 00:00:00 2001 From: BinDing Date: Sat, 31 Oct 2026 13:30:39 +0000 Subject: [PATCH 2/8] optimize 10/31 --- aiter/ops/flydsl/grouped_gemm_mxfp4.py | 17 ++- aiter/ops/flydsl/grouped_moe_gfx1250.py | 10 ++ .../kernels/mxfp4_preshuffle_gfx1250_tdm.py | 111 +++++++++++++++++- 3 files changed, 131 insertions(+), 7 deletions(-) diff --git a/aiter/ops/flydsl/grouped_gemm_mxfp4.py b/aiter/ops/flydsl/grouped_gemm_mxfp4.py index 3619bfedf6d..efe69cc79eb 100644 --- a/aiter/ops/flydsl/grouped_gemm_mxfp4.py +++ b/aiter/ops/flydsl/grouped_gemm_mxfp4.py @@ -192,6 +192,7 @@ def flydsl_grouped_gemm_a8w4_masked( persistent_workers=0, rolled_drain=0, split_k=1, + k_waves=1, ): """Launch a contiguous-M grouped GEMM, optionally with persistent workers. @@ -235,7 +236,17 @@ def flydsl_grouped_gemm_a8w4_masked( ) if split_k > 1 and (k_tiles % split_k or K % tile_k): split_k = 1 - num_buffers = min(num_buffers, max(1, k_tiles // split_k)) + k_waves = int( + os.environ.get(f"AITER_FLYDSL_K_WAVES{1 if stage1_act else 2}", k_waves) + ) + if k_waves > 1 and ( + split_k > 1 + or k_tiles % k_waves + or K % tile_k + or stage2_scatter is not None + ): + k_waves = 1 + num_buffers = min(num_buffers, max(1, k_tiles // split_k // k_waves)) if bias is None: has_bias = 0 elif bias.dtype in _BIAS_MODE: @@ -280,7 +291,7 @@ def flydsl_grouped_gemm_a8w4_masked( persistent_workers = ( (persistent_workers + cluster_n - 1) // cluster_n * cluster_n ) - if split_k > 1: + if split_k > 1 or k_waves > 1: # Split-K owns the grid: no clusters, no persistent workers, no As prologue. cluster_n = cluster_m = 1 persistent_workers = 0 @@ -372,6 +383,7 @@ def flydsl_grouped_gemm_a8w4_masked( float(situ_linear_beta), *layout_spec, splitk_ws if splitk_ws is not None else out.view(-1), + int(k_waves), specialization_key=( gemm_spec, route_spec, @@ -379,6 +391,7 @@ def flydsl_grouped_gemm_a8w4_masked( tdm_spec, ep_spec, layout_spec, + int(k_waves), ), ) return out diff --git a/aiter/ops/flydsl/grouped_moe_gfx1250.py b/aiter/ops/flydsl/grouped_moe_gfx1250.py index 5334629c917..19cf0cc903b 100644 --- a/aiter/ops/flydsl/grouped_moe_gfx1250.py +++ b/aiter/ops/flydsl/grouped_moe_gfx1250.py @@ -663,6 +663,8 @@ def _grouped_a8w4_tdm_moe( persistent_workers2=0, split_k1=1, split_k2=1, + k_waves1=1, + k_waves2=1, data_format="a8w4", expert_mask=None, num_local_tokens=None, @@ -1228,6 +1230,7 @@ def _grouped_a8w4_tdm_moe( lds_soa_load_interleave=lds_soa_load_interleave, rolled_drain=rolled_drain, split_k=split_k1, + k_waves=k_waves1, row_major_ascale=int(_row_major_ascale), a_row_stride_bytes=_a1_wire_stride, a_scale_row_stride_bytes=_a1_wire_stride, @@ -1269,6 +1272,7 @@ def _grouped_a8w4_tdm_moe( lds_soa_load_interleave=lds_soa_load_interleave, rolled_drain=rolled_drain, split_k=split_k1, + k_waves=k_waves1, row_major_ascale=int(_row_major_ascale), a_row_stride_bytes=_a1_wire_stride, a_scale_row_stride_bytes=_a1_wire_stride, @@ -1320,6 +1324,7 @@ def _grouped_a8w4_tdm_moe( lds_soa_load_interleave=lds_soa_load_interleave, rolled_drain=rolled_drain, split_k=split_k2, + k_waves=k_waves2, **_ep_gemm2_kwargs, ) @@ -1408,6 +1413,7 @@ def _grouped_a8w4_tdm_moe( row_major_ascale=int(_row_major_ascale), rolled_drain=rolled_drain, split_k=split_k1, + k_waves=k_waves1, **_situ_kw, ), ) @@ -1451,6 +1457,7 @@ def _grouped_a8w4_tdm_moe( row_major_ascale=int(_row_major_ascale), rolled_drain=rolled_drain, split_k=split_k1, + k_waves=k_waves1, **_situ_kw, ), ) @@ -1491,6 +1498,7 @@ def _grouped_a8w4_tdm_moe( lds_soa_load_interleave=lds_soa_load_interleave, rolled_drain=rolled_drain, split_k=split_k2, + k_waves=k_waves2, ), ) ) @@ -1801,6 +1809,8 @@ def _fmt(v): _tdm_kw["rolled_drain"] = _as_int(cfg_row.get("rolled_drain"), 0) _tdm_kw["split_k1"] = _as_int(cfg_row.get("split_k1"), 1) _tdm_kw["split_k2"] = _as_int(cfg_row.get("split_k2"), 1) + _tdm_kw["k_waves1"] = _as_int(cfg_row.get("k_waves1"), 1) + _tdm_kw["k_waves2"] = _as_int(cfg_row.get("k_waves2"), 1) # Follow the matched CSV bucket, including padded token counts # (for example, 6144 -> 8192), just like the other kernel knobs. _tdm_kw["a_preshuffle"] = _as_int(cfg_row.get("a_preshuffle"), 0) diff --git a/aiter/ops/flydsl/kernels/mxfp4_preshuffle_gfx1250_tdm.py b/aiter/ops/flydsl/kernels/mxfp4_preshuffle_gfx1250_tdm.py index f5a99df2e86..b2b3d471e87 100644 --- a/aiter/ops/flydsl/kernels/mxfp4_preshuffle_gfx1250_tdm.py +++ b/aiter/ops/flydsl/kernels/mxfp4_preshuffle_gfx1250_tdm.py @@ -191,6 +191,7 @@ def launch_gemm_a8w4_tdm( a_preshuffled: Constexpr[int] = 0, split_k: Constexpr[int] = 1, arg_splitk_ws: fx.Tensor = None, + k_waves: Constexpr[int] = 1, ): """Launch the grouped contiguous-M a8w4 MoE GEMM for gfx1250. @@ -275,6 +276,19 @@ def launch_gemm_a8w4_tdm( if enable_ep_scatter or tdm_as_in_prologue: raise ValueError("split_k does not support EP scatter or the As prologue") K_TILES = K_TILES // split_k + # Intra-workgroup split-K: k_waves wave groups of m_warp x n_warp waves each + # run the whole pipeline on their own contiguous K slice and LDS arena, then + # reduce their accumulators through LDS. Unlike split_k it adds waves, not + # workgroups, so a decode tile's serial K loop shortens without a global + # store -> atomic -> load round trip. + if k_waves > 1: + if K_TILES % k_waves or K % tile_k: + raise ValueError(f"k_waves={k_waves} must divide K tiles of K={K}/{tile_k}") + if split_k > 1 or persistent_workers or cluster_m > 1 or cluster_n > 1: + raise ValueError("k_waves needs a plain (unsplit, non-persistent, unclustered) grid") + if enable_ep_scatter or tdm_as_in_prologue: + raise ValueError("k_waves does not support EP scatter or the As prologue") + K_TILES = K_TILES // k_waves # Double buffering is sufficient: the carry reads the other LDS buffer # before the post-compute barrier permits reusing the current buffer. next_stage_on = 1 if (next_stage_prefetch and num_buffers >= 2) else 0 @@ -332,6 +346,7 @@ def launch_gemm_a8w4_tdm( persistent_workers, rolled_drain, split_k, + k_waves, PSUM_LOOKUP, ) _ = cache_tag @@ -365,7 +380,7 @@ def launch_gemm_a8w4_tdm( n_acc = wmma_m_rep * wmma_n_rep output_n_rep = warp_tile_n // 16 num_waves = m_warp * n_warp - block = num_waves * WAVE + block = num_waves * k_waves * WAVE SCATTER_GROUP_ROWS = 8 SCATTER_PASSES_PER_VECTOR = WAVE // SCATTER_GROUP_ROWS scatter_groups = (tile_m + SCATTER_GROUP_ROWS - 1) // SCATTER_GROUP_ROWS @@ -459,6 +474,13 @@ def _lds_pitch(nbytes): AS_FULL_OFF = INPUT_LDS_B AS_FULL_B = ceildiv(AS_SUPERS * AS_FULL_INNER * 4, 128) * 128 ARENA_B = max(AS_FULL_OFF + (AS_FULL_B if tdm_as_in_prologue else 0), C_STORE_B) + # Each k_waves group gets its own arena, which also holds its partial + # accumulators (one f32 dword4 per lane per chunk) for the final reduction. + K_PARTIAL_B = ( + ((tile_m // m_warp) // 16) * ((tile_n // n_warp) // (32 if a_is_fp4 else 16)) + * ((32 if a_is_fp4 else 16) // 2) * 4 * num_waves * WAVE + ) + GROUP_ARENA_B = ceildiv(max(ARENA_B, K_PARTIAL_B), 512) * 512 # Quant epilogue compile-time constants. QUANT_ROWS_PER_TILE = quant_wmma_rep * 16 @@ -500,6 +522,7 @@ def _lds_pitch(nbytes): _persistent = f"_pw{persistent_workers}" if persistent_workers else "" _drain = "_rolleddrain" if rolled_drain else "" _splitk = f"_sk{split_k}" if split_k > 1 else "" + _splitk += f"_kw{k_waves}" if k_waves > 1 else "" _splitk += "" if PSUM_LOOKUP else "_bisect" _kname = ( f"mxfp4_tdm_{_afp}{_a_layout}" @@ -555,6 +578,13 @@ def gemm_task( split_id = bid_x % split_k bid_x = bid_x // split_k wave = rocdl.readfirstlane(T.i32, tid // WAVE) + k_group = 0 + if const_expr(k_waves > 1): + # Group 0 holds hardware waves 0..num_waves-1, so the group-0 epilogue + # sees the same wave ids as an unsplit workgroup. + k_group = wave // num_waves + wave = wave % num_waves + split_id = k_group lane = tid % WAVE lane16 = lane % 16 kgrp = lane // 16 @@ -701,7 +731,20 @@ def cluster_sync(): if const_expr(enable_ep_scatter) else fx.SharedAllocator(static=True) ) - base_ptr = _smem.allocate(ARENA_B)._ptr + base_ptr = _smem.allocate( + GROUP_ARENA_B * k_waves if k_waves > 1 else ARENA_B + )._ptr + if const_expr(k_waves > 1): + # Rebuild the pointer so the group offset keeps its 16-B alignment; + # plain pointer arithmetic drops it, which the bf16 epilogue rejects. + base_ptr = fx.inttoptr( + fx.PointerType.get( + elem_ty=fx.Int8.ir_type, + address_space=fx.AddressSpace.Shared, + alignment=16, + ), + fx.Int32(fx.ptrtoint(base_ptr)) + k_group * GROUP_ARENA_B, + ) def ptr_to_idx(p): return fx.Index(fx.ptrtoint(p)) @@ -834,7 +877,7 @@ def add_tdm_loads( target_jobs=None, cache_modifier=0, ): - if const_expr(split_k > 1 and k_adv): + if const_expr((split_k > 1 or k_waves > 1) and k_adv): # This split's first k-tile, in the view's element units. g_off = g_off + fx.Int64(split_id * K_TILES) * fx.Int64( k_adv // 4 if on_i32 else k_adv @@ -1826,6 +1869,55 @@ def compute_drain_tile(j, has_next, kws=KWS): # mainloop body and no wave-parity branch. run_mainloop(bool(interleaved_lds_load_on)) + if const_expr(k_waves > 1): + # Every group is past its last LDS input read once this fence + # retires, so each parks its partials in its own arena. Group 0 + # adds them in group order (deterministic) and alone keeps the + # tile; the other groups blank their epilogue via mn_oob. + pipeline_fence(outstanding=0) + KW_CHUNKS = WMMA_VECTOR_DWORDS // 4 + KW_LANES = num_waves * WAVE + kw_tid = tid % KW_LANES + + def kw_off(idx, q): + # Lane-contiguous dword4s: conflict-free b128 LDS traffic. + return ((idx * KW_CHUNKS + q) * KW_LANES + kw_tid) * 16 + + if k_group > 0: + for idx in range_constexpr(n_acc): + v = Vec(c_frags[idx].load()) + for q in range_constexpr(KW_CHUNKS): + lds_store_b128( + stC_idx, + kw_off(idx, q), + Vec.from_elements( + [v[q * 4 + i] for i in range_constexpr(4)], + fx.Float32, + ) + .bitcast(fx.Int32) + .ir_value(), + ) + workgroup_barrier() + if k_group == 0: + for idx in range_constexpr(n_acc): + own = Vec(c_frags[idx].load()) + tot = [] + for q in range_constexpr(KW_CHUNKS): + acc4 = Vec.from_elements( + [own[q * 4 + i] for i in range_constexpr(4)], + fx.Float32, + ) + for g in range_constexpr(1, k_waves): + part = Vec( + lds_load_b128( + stC_idx, g * GROUP_ARENA_B + kw_off(idx, q) + ) + ).bitcast(fx.Float32) + acc4 = acc4 + part + tot += [acc4[i] for i in range_constexpr(4)] + c_frags[idx].store(Vec.from_elements(tot, fx.Float32).ir_value()) + mn_oob = (k_group == 0).select(mn_oob, mn_oob * 0) + if const_expr(split_k > 1): # Partials keep each thread's own register layout, so the # reduction is a per-thread sum with no shuffle. The last @@ -2470,6 +2562,15 @@ def issue_scatter_group(group, scatter_vector, vector_pass): issue_scatter_group(group, scatter_vector, vector_pass) tdm_ops.tensor_wait(0) else: + + def store_tile(atom, src, dst): + # A k_waves workgroup's tile belongs to group 0 alone. + if const_expr(k_waves > 1): + if k_group == 0: + fx.copy(atom, src, dst) + else: + fx.copy(atom, src, dst) + if const_expr(stage1_act): out_divisor = 4 if is_fp4_quant else 2 out_stride = i32_n // out_divisor @@ -2498,7 +2599,7 @@ def issue_scatter_group(group, scatter_vector, vector_pass): (tile_m // 16, STORE_N * 16), (STORE_N * 16, 1), ) - fx.copy(atomC, src, gtC) + store_tile(atomC, src, gtC) else: c_off_rt = c_outer_off * fx.Int64(out_stride) + out_col_off if const_expr(STORE_PAD == 0): @@ -2528,7 +2629,7 @@ def issue_scatter_group(group, scatter_vector, vector_pass): (tile_m, STORE_PITCH), (STORE_PITCH, 1), ) - fx.copy(atomC, src, gtC) + store_tile(atomC, src, gtC) if const_expr(stage1_quant_out and stage1_act): rocdl.s_wait_storecnt(0) tdm_ops.tensor_wait(0) From 855c44c13bc398d3aba18d5f903d522737bfd7a8 Mon Sep 17 00:00:00 2001 From: BinDing Date: Tue, 3 Nov 2026 03:02:11 +0000 Subject: [PATCH 3/8] Drop split-K, make PSUM lookup unconditional, guard half-k128 tail --- aiter/ops/flydsl/grouped_gemm_mxfp4.py | 52 +---- aiter/ops/flydsl/grouped_moe_gfx1250.py | 15 +- .../kernels/mxfp4_preshuffle_gfx1250_tdm.py | 213 ++++-------------- aiter/ops/shuffle.py | 4 +- 4 files changed, 58 insertions(+), 226 deletions(-) diff --git a/aiter/ops/flydsl/grouped_gemm_mxfp4.py b/aiter/ops/flydsl/grouped_gemm_mxfp4.py index efe69cc79eb..f178f9b5e32 100644 --- a/aiter/ops/flydsl/grouped_gemm_mxfp4.py +++ b/aiter/ops/flydsl/grouped_gemm_mxfp4.py @@ -131,20 +131,6 @@ def _select_num_waves_per_tensor_tdm(csv_num_waves: int) -> int: _BIAS_MODE = {torch.bfloat16: 1, torch.float32: 2, torch.float16: 3} -# Split-K scratch: 1024 per-tile arrival counters (the kernel re-arms each to -# zero) followed by fp32 partial tiles. Kept per device and only grown, so a -# warm call allocates nothing and stays CUDA-graph safe. -_SPLITK_COUNTERS = 1024 -_SPLITK_WS: dict = {} - - -def _splitk_workspace(device, nbytes: int) -> torch.Tensor: - ws = _SPLITK_WS.get(device) - if ws is None or ws.numel() * 4 < nbytes: - ws = torch.zeros((nbytes + 3) // 4, dtype=torch.int32, device=device) - _SPLITK_WS[device] = ws - return ws - def flydsl_grouped_gemm_a8w4_masked( out, @@ -191,7 +177,6 @@ def flydsl_grouped_gemm_a8w4_masked( a_scale_row_stride_bytes=0, persistent_workers=0, rolled_drain=0, - split_k=1, k_waves=1, ): """Launch a contiguous-M grouped GEMM, optionally with persistent workers. @@ -231,22 +216,10 @@ def flydsl_grouped_gemm_a8w4_masked( if float(situ_linear_beta) <= 0.0: raise ValueError(f"situ_linear_beta must be > 0, got {situ_linear_beta!r}") k_tiles = (K + tile_k - 1) // tile_k - split_k = int( - os.environ.get(f"AITER_FLYDSL_SPLIT_K{1 if stage1_act else 2}", split_k) - ) - if split_k > 1 and (k_tiles % split_k or K % tile_k): - split_k = 1 - k_waves = int( - os.environ.get(f"AITER_FLYDSL_K_WAVES{1 if stage1_act else 2}", k_waves) - ) - if k_waves > 1 and ( - split_k > 1 - or k_tiles % k_waves - or K % tile_k - or stage2_scatter is not None - ): + k_waves = int(k_waves) + if k_waves > 1 and (k_tiles % k_waves or K % tile_k or stage2_scatter is not None): k_waves = 1 - num_buffers = min(num_buffers, max(1, k_tiles // split_k // k_waves)) + num_buffers = min(num_buffers, max(1, k_tiles // k_waves)) if bias is None: has_bias = 0 elif bias.dtype in _BIAS_MODE: @@ -260,16 +233,6 @@ def flydsl_grouped_gemm_a8w4_masked( out if quant_scale is None else quant_scale.view(torch.uint8) ).view(-1) n_tiles = (N + tile_n - 1) // tile_n - splitk_ws = None - if split_k > 1: - tiles = (contiguous_m + tile_m - 1) // tile_m * n_tiles - if tiles > _SPLITK_COUNTERS: - split_k = 1 - num_buffers = min(num_buffers, max(1, k_tiles)) - else: - splitk_ws = _splitk_workspace( - out.device, 4 * (_SPLITK_COUNTERS + tiles * split_k * tile_m * tile_n) - ) cluster_n = _select_cluster_n(n_tiles, cluster_n) cluster_m = _select_cluster_m(cluster_m, cluster_n, stage1_act) stage = 1 if stage1_act else 2 @@ -291,8 +254,8 @@ def flydsl_grouped_gemm_a8w4_masked( persistent_workers = ( (persistent_workers + cluster_n - 1) // cluster_n * cluster_n ) - if split_k > 1 or k_waves > 1: - # Split-K owns the grid: no clusters, no persistent workers, no As prologue. + if k_waves > 1: + # k_waves owns the grid: no clusters, no persistent workers, no As prologue. cluster_n = cluster_m = 1 persistent_workers = 0 tdm_as_in_prologue = 0 @@ -357,7 +320,7 @@ def flydsl_grouped_gemm_a8w4_masked( persistent_workers, rolled_drain, int(a_preshuffled), - int(split_k), + k_waves, ) _run_compiled( launch_gemm_a8w4_tdm, @@ -382,8 +345,6 @@ def flydsl_grouped_gemm_a8w4_masked( float(situ_beta), float(situ_linear_beta), *layout_spec, - splitk_ws if splitk_ws is not None else out.view(-1), - int(k_waves), specialization_key=( gemm_spec, route_spec, @@ -391,7 +352,6 @@ def flydsl_grouped_gemm_a8w4_masked( tdm_spec, ep_spec, layout_spec, - int(k_waves), ), ) return out diff --git a/aiter/ops/flydsl/grouped_moe_gfx1250.py b/aiter/ops/flydsl/grouped_moe_gfx1250.py index 19cf0cc903b..868c4aac5af 100644 --- a/aiter/ops/flydsl/grouped_moe_gfx1250.py +++ b/aiter/ops/flydsl/grouped_moe_gfx1250.py @@ -661,8 +661,6 @@ def _grouped_a8w4_tdm_moe( a_preshuffle=0, persistent_workers=0, persistent_workers2=0, - split_k1=1, - split_k2=1, k_waves1=1, k_waves2=1, data_format="a8w4", @@ -744,6 +742,11 @@ def _grouped_a8w4_tdm_moe( # 256-wide default at inter_dim=576 (N=1152), to one that divides N. tile_n, n_warp = _fit_tile_n(2 * inter_dim, tile_n, n_warp) tile_n2, n_warp2 = _fit_tile_n(model_dim, tile_n2, n_warp2) + # A half-k128 K tail (inter_dim % 128 == 64) only runs with a k128 tile. + if model_dim % 128: + tile_k = 128 + if inter_dim % 128: + tile_k2 = 128 wmma_rep = get_wmma_m_rep(tile_m, tile_n, m_warp, n_warp, "gemm1") wmma_rep2 = get_wmma_m_rep(tile_m2, tile_n2, m_warp2, n_warp2, "gemm2") _align_m = max(tile_m, tile_m2) @@ -1229,7 +1232,6 @@ def _grouped_a8w4_tdm_moe( tdm_b_th=tdm_b_th, lds_soa_load_interleave=lds_soa_load_interleave, rolled_drain=rolled_drain, - split_k=split_k1, k_waves=k_waves1, row_major_ascale=int(_row_major_ascale), a_row_stride_bytes=_a1_wire_stride, @@ -1271,7 +1273,6 @@ def _grouped_a8w4_tdm_moe( tdm_b_th=tdm_b_th, lds_soa_load_interleave=lds_soa_load_interleave, rolled_drain=rolled_drain, - split_k=split_k1, k_waves=k_waves1, row_major_ascale=int(_row_major_ascale), a_row_stride_bytes=_a1_wire_stride, @@ -1323,7 +1324,6 @@ def _grouped_a8w4_tdm_moe( tdm_b_th=tdm_b_th, lds_soa_load_interleave=lds_soa_load_interleave, rolled_drain=rolled_drain, - split_k=split_k2, k_waves=k_waves2, **_ep_gemm2_kwargs, ) @@ -1412,7 +1412,6 @@ def _grouped_a8w4_tdm_moe( lds_soa_load_interleave=lds_soa_load_interleave, row_major_ascale=int(_row_major_ascale), rolled_drain=rolled_drain, - split_k=split_k1, k_waves=k_waves1, **_situ_kw, ), @@ -1456,7 +1455,6 @@ def _grouped_a8w4_tdm_moe( lds_soa_load_interleave=lds_soa_load_interleave, row_major_ascale=int(_row_major_ascale), rolled_drain=rolled_drain, - split_k=split_k1, k_waves=k_waves1, **_situ_kw, ), @@ -1497,7 +1495,6 @@ def _grouped_a8w4_tdm_moe( tdm_b_th=tdm_b_th, lds_soa_load_interleave=lds_soa_load_interleave, rolled_drain=rolled_drain, - split_k=split_k2, k_waves=k_waves2, ), ) @@ -1807,8 +1804,6 @@ def _fmt(v): cfg_row.get("lds_soa_load_interleave"), 0 ) _tdm_kw["rolled_drain"] = _as_int(cfg_row.get("rolled_drain"), 0) - _tdm_kw["split_k1"] = _as_int(cfg_row.get("split_k1"), 1) - _tdm_kw["split_k2"] = _as_int(cfg_row.get("split_k2"), 1) _tdm_kw["k_waves1"] = _as_int(cfg_row.get("k_waves1"), 1) _tdm_kw["k_waves2"] = _as_int(cfg_row.get("k_waves2"), 1) # Follow the matched CSV bucket, including padded token counts diff --git a/aiter/ops/flydsl/kernels/mxfp4_preshuffle_gfx1250_tdm.py b/aiter/ops/flydsl/kernels/mxfp4_preshuffle_gfx1250_tdm.py index b2b3d471e87..94c477b7a81 100644 --- a/aiter/ops/flydsl/kernels/mxfp4_preshuffle_gfx1250_tdm.py +++ b/aiter/ops/flydsl/kernels/mxfp4_preshuffle_gfx1250_tdm.py @@ -3,7 +3,6 @@ """Grouped contiguous-M A8W4 preshuffle MoE GEMM for gfx1250 (TDM pipeline).""" -import math import os from collections import namedtuple @@ -18,7 +17,7 @@ from aiter.utility.mx_types import MxDtypeInt as MxDtype -from .buffer_ops import buffer_load, buffer_store, create_buffer_resource_from_addr +from .buffer_ops import buffer_store, create_buffer_resource_from_addr from .gemm_common_gfx1250 import ( batched_silu_swiglu, batched_situv2, @@ -86,7 +85,6 @@ def is_fx_set_register_available(): if LDS_SOA_LOAD_INTERLEAVE is not None: LDS_SOA_LOAD_INTERLEAVE = int(LDS_SOA_LOAD_INTERLEAVE) FORCE_1X4_CLUSTER = int(os.environ.get("AITER_FLYDSL_FORCE_1X4_CLUSTER", "0")) -PSUM_LOOKUP = int(os.environ.get("AITER_FLYDSL_PSUM_LOOKUP", "1")) DISABLE_CLUSTER_SYNC = int(os.environ.get("AITER_FLYDSL_DISABLE_CLUSTER_SYNC", "0")) if EXPLICIT_VGPR_PARTITION not in (0, 1): raise ValueError("AITER_FLYDSL_EXPLICIT_VGPR_PARTITION must be 0 or 1") @@ -189,8 +187,6 @@ def launch_gemm_a8w4_tdm( persistent_workers: Constexpr[int] = 0, rolled_drain: Constexpr[int] = 0, a_preshuffled: Constexpr[int] = 0, - split_k: Constexpr[int] = 1, - arg_splitk_ws: fx.Tensor = None, k_waves: Constexpr[int] = 1, ): """Launch the grouped contiguous-M a8w4 MoE GEMM for gfx1250. @@ -256,6 +252,10 @@ def launch_gemm_a8w4_tdm( K128 = ceildiv(K, WMMA_K) if K % WMMA_K and (a_preshuffled or row_major_ascale): raise ValueError(f"K={K} with a half k128 tail needs the M16K4 A layout") + if K % WMMA_K and tile_k != WMMA_K: + # Only the single-k128 tile is validated on the half k128 tail; a wider + # tile has faulted there, so reject it rather than risk a GPU hang. + raise ValueError(f"K={K} with a half k128 tail needs tile_k={WMMA_K}") # A K that tile_k does not divide ends on a ragged tile of KWS_TAIL k128 # steps. Its TDM loads clamp the inner extent there, so the bytes past the # row end are zero-filled instead of read, and its compute stops early. A @@ -264,28 +264,15 @@ def launch_gemm_a8w4_tdm( K_TAIL = K - (K_TILES - 1) * tile_k KWS_TAIL = ceildiv(K_TAIL, WMMA_K) HAS_K_TAIL = K_TAIL != tile_k - # Split-K: split_k workgroups share one output tile, each over K_TILES / - # split_k k-tiles; the last to finish sums the partials and runs the - # epilogue. It lifts the workgroup count of decode-sized grids, where a - # handful of experts x N tiles cannot fill the CUs. - if split_k > 1: - if K_TILES % split_k or K % tile_k: - raise ValueError(f"split_k={split_k} must divide K tiles of K={K}/{tile_k}") - if persistent_workers or cluster_m > 1 or cluster_n > 1: - raise ValueError("split_k needs a plain (non-persistent, unclustered) grid") - if enable_ep_scatter or tdm_as_in_prologue: - raise ValueError("split_k does not support EP scatter or the As prologue") - K_TILES = K_TILES // split_k # Intra-workgroup split-K: k_waves wave groups of m_warp x n_warp waves each # run the whole pipeline on their own contiguous K slice and LDS arena, then - # reduce their accumulators through LDS. Unlike split_k it adds waves, not - # workgroups, so a decode tile's serial K loop shortens without a global - # store -> atomic -> load round trip. + # reduce their accumulators through LDS. It adds waves, not workgroups, so + # a decode tile's serial K loop shortens without a global round trip. if k_waves > 1: if K_TILES % k_waves or K % tile_k: raise ValueError(f"k_waves={k_waves} must divide K tiles of K={K}/{tile_k}") - if split_k > 1 or persistent_workers or cluster_m > 1 or cluster_n > 1: - raise ValueError("k_waves needs a plain (unsplit, non-persistent, unclustered) grid") + if persistent_workers or cluster_m > 1 or cluster_n > 1: + raise ValueError("k_waves needs a plain (non-persistent, unclustered) grid") if enable_ep_scatter or tdm_as_in_prologue: raise ValueError("k_waves does not support EP scatter or the As prologue") K_TILES = K_TILES // k_waves @@ -345,9 +332,7 @@ def launch_gemm_a8w4_tdm( ep_quant_bits, persistent_workers, rolled_drain, - split_k, k_waves, - PSUM_LOOKUP, ) _ = cache_tag if enable_ep_scatter: @@ -477,8 +462,12 @@ def _lds_pitch(nbytes): # Each k_waves group gets its own arena, which also holds its partial # accumulators (one f32 dword4 per lane per chunk) for the final reduction. K_PARTIAL_B = ( - ((tile_m // m_warp) // 16) * ((tile_n // n_warp) // (32 if a_is_fp4 else 16)) - * ((32 if a_is_fp4 else 16) // 2) * 4 * num_waves * WAVE + ((tile_m // m_warp) // 16) + * ((tile_n // n_warp) // (32 if a_is_fp4 else 16)) + * ((32 if a_is_fp4 else 16) // 2) + * 4 + * num_waves + * WAVE ) GROUP_ARENA_B = ceildiv(max(ARENA_B, K_PARTIAL_B), 512) * 512 @@ -521,9 +510,7 @@ def _lds_pitch(nbytes): _epq = f"_epq{ep_quant_bits}" if ep_quant_bits else "" _persistent = f"_pw{persistent_workers}" if persistent_workers else "" _drain = "_rolleddrain" if rolled_drain else "" - _splitk = f"_sk{split_k}" if split_k > 1 else "" - _splitk += f"_kw{k_waves}" if k_waves > 1 else "" - _splitk += "" if PSUM_LOOKUP else "_bisect" + _kwaves = f"_kw{k_waves}" if k_waves > 1 else "" _kname = ( f"mxfp4_tdm_{_afp}{_a_layout}" f"_t{tile_m}x{tile_n}x{tile_k}_w{m_warp}x{n_warp}" @@ -533,7 +520,7 @@ def _lds_pitch(nbytes): f"{_b_tdm_th}{_waves_per_tensor}{_ep}{_epq}" f"{_mma_group}{_ds_first}" f"{_explicit_vgpr_partition}{_planar_lds}" - f"{_interleaved_lds_load}{_persistent}{_drain}{_splitk}" + f"{_interleaved_lds_load}{_persistent}{_drain}{_kwaves}" ) # Compile the static path directly, preserving its launch ABI and the @@ -557,7 +544,6 @@ def gemm_task( arg_bias: fx.Pointer, arg_quant_scale: fx.Pointer, arg_ep_row_map: fx.Pointer, - arg_splitk_ws: fx.Pointer, i32_m: fx.Int32, i32_n: fx.Int32, f32_swiglu_limit: fx.Float32, @@ -573,10 +559,6 @@ def gemm_task( tid = fx.thread_idx.x bid_x = task_id if persistent_workers else fx.block_idx.x - split_id = 0 - if const_expr(split_k > 1): - split_id = bid_x % split_k - bid_x = bid_x // split_k wave = rocdl.readfirstlane(T.i32, tid // WAVE) k_group = 0 if const_expr(k_waves > 1): @@ -584,7 +566,6 @@ def gemm_task( # sees the same wave ids as an unsplit workgroup. k_group = wave // num_waves wave = wave % num_waves - split_id = k_group lane = tid % WAVE lane16 = lane % 16 kgrp = lane // 16 @@ -628,51 +609,32 @@ def gemm_task( # The host launches a CUDAGraph-safe worst-case M grid. The final psum # entry is the end of the last expert's valid rows, so reject the padded - # tail before paying for the dependent expert bisect. blk_m is shared + # tail before paying for the expert lookup. blk_m is shared # by every workgroup in a cluster, making this predicate cluster-uniform. i32_ptr = fx.PointerType.get( elem_ty=fx.Int32.ir_type, address_space=fx.AddressSpace.Global, alignment=4 ) tile_map = fx.recast_iter(i32_ptr, arg_m_tile_map) - if const_expr(PSUM_LOOKUP): - # psum is sorted, so the owning expert is the count of experts that - # end at or before blk_m. Every lane loads a strided slice in one - # round trip, replacing the bisect's log2(E) dependent loads (the - # bulk of a decode tile's prologue latency). - psum_hits = fx.Int32(0) - for i in range_constexpr(ceildiv(n_experts, WAVE)): - e_idx = lane + i * WAVE - if const_expr((i + 1) * WAVE <= n_experts): - end_e = tile_map[e_idx] - psum_hits = psum_hits + (end_e <= blk_m).select(1, 0) - else: - e_ok = e_idx < n_experts - end_e = tile_map[e_ok.select(e_idx, n_experts - 1)] - psum_hits = psum_hits + (e_ok & (end_e <= blk_m)).select(1, 0) - for sh in range_constexpr(int.bit_length(WAVE) - 1): - psum_hits = psum_hits + psum_hits.shuffle_xor( - fx.Int32(1 << sh), fx.Int32(WAVE) - ) - expert = rocdl.readfirstlane(T.i32, psum_hits) - has_work = expert < n_experts - else: - has_work = blk_m < tile_map[n_experts - 1] - - # In-kernel bisect: find the expert owning this valid M-tile. Seed the - # result with the padding sentinel so it remains defined outside the - # dynamic branch and the existing main-body guard stays valid. - expert = blk_m * 0 + n_experts - if has_work: - lo, hi = blk_m * 0, blk_m * 0 + n_experts - for _ in range_constexpr( - max(1, math.ceil(math.log2(max(2, n_experts))) + 1) - ): - mid = (lo + hi) >> 1 - mid_clamped = (mid < n_experts - 1).select(mid, n_experts - 1) - go_right = tile_map[mid_clamped] <= blk_m - lo = go_right.select(mid + 1, lo) - hi = go_right.select(hi, mid) - expert = lo + # psum is sorted, so the owning expert is the count of experts that + # end at or before blk_m. Every lane loads a strided slice in one + # round trip instead of a bisect's log2(E) dependent loads (the bulk + # of a decode tile's prologue latency). + psum_hits = fx.Int32(0) + for i in range_constexpr(ceildiv(n_experts, WAVE)): + e_idx = lane + i * WAVE + if const_expr((i + 1) * WAVE <= n_experts): + end_e = tile_map[e_idx] + psum_hits = psum_hits + (end_e <= blk_m).select(1, 0) + else: + e_ok = e_idx < n_experts + end_e = tile_map[e_ok.select(e_idx, n_experts - 1)] + psum_hits = psum_hits + (e_ok & (end_e <= blk_m)).select(1, 0) + for sh in range_constexpr(int.bit_length(WAVE) - 1): + psum_hits = psum_hits + psum_hits.shuffle_xor( + fx.Int32(1 << sh), fx.Int32(WAVE) + ) + expert = rocdl.readfirstlane(T.i32, psum_hits) + has_work = expert < n_experts eb64 = fx.Int64(expert) B_BATCH_ROWS = n64 // 16 N_SUPERS = ceildiv(n64, 32) @@ -680,9 +642,7 @@ def gemm_task( # row stride is not K bytes and the scale row stride is not K/128 dwords. A_GROW = a_row_stride_bytes if a_row_stride_bytes else A_KROW # row-major: scale dwords per M row - SA_GROW = ( - a_scale_row_stride_bytes // 4 if a_scale_row_stride_bytes else K128 - ) + SA_GROW = a_scale_row_stride_bytes // 4 if a_scale_row_stride_bytes else K128 c_outer_off, c_inner_off, c_stride = blk_m64, blk_n64, i32_n SB_OUTER_STRIDE = K4 @@ -877,9 +837,9 @@ def add_tdm_loads( target_jobs=None, cache_modifier=0, ): - if const_expr((split_k > 1 or k_waves > 1) and k_adv): - # This split's first k-tile, in the view's element units. - g_off = g_off + fx.Int64(split_id * K_TILES) * fx.Int64( + if const_expr(k_waves > 1 and k_adv): + # This group's first k-tile, in the view's element units. + g_off = g_off + fx.Int64(k_group * K_TILES) * fx.Int64( k_adv // 4 if on_i32 else k_adv ) split_i = split_inner and len(wv) > 1 @@ -1915,86 +1875,10 @@ def kw_off(idx, q): ).bitcast(fx.Float32) acc4 = acc4 + part tot += [acc4[i] for i in range_constexpr(4)] - c_frags[idx].store(Vec.from_elements(tot, fx.Float32).ir_value()) - mn_oob = (k_group == 0).select(mn_oob, mn_oob * 0) - - if const_expr(split_k > 1): - # Partials keep each thread's own register layout, so the - # reduction is a per-thread sum with no shuffle. The last - # arrival adds them in split order (deterministic) and keeps - # the tile; every other split blanks its epilogue via mn_oob. - SK_NV = n_acc * WMMA_VECTOR_DWORDS - SK_NTASK_PAD = 1024 - # gfx12 cpol SCOPE_DEV: partials are written through to, and read - # from, the device-coherent level so no XCD's L2 serves stale data. - SK_DEV_SCOPE = 16 - i32_gptr = fx.PointerType.get( - elem_ty=fx.Int32.ir_type, - address_space=fx.AddressSpace.Global, - alignment=4, - ) - sk_cnt = fx.recast_iter(i32_gptr, arg_splitk_ws) - # Partials start after the counters; offsets are f32 elements. - sk_rsrc = create_buffer_resource_from_addr( - fx.ptrtoint(sk_cnt + SK_NTASK_PAD) - ) - sk_tile_base = bid_x * (split_k * block * SK_NV) - sk_thread = tid * SK_NV - - def sk_slot(split, j): - return sk_tile_base + split * (block * SK_NV) + sk_thread + j * 4 - - for idx in range_constexpr(n_acc): - v = Vec(c_frags[idx].load()) - for q in range_constexpr(WMMA_VECTOR_DWORDS // 4): - buffer_store( - Vec.from_elements( - [v[q * 4 + i] for i in range_constexpr(4)], fx.Float32 - ).ir_value(), - sk_rsrc, - sk_slot(split_id, idx * (WMMA_VECTOR_DWORDS // 4) + q), - cache_modifier=SK_DEV_SCOPE, + c_frags[idx].store( + Vec.from_elements(tot, fx.Float32).ir_value() ) - # SCOPE_DEV stores are acknowledged once device-coherent, so - # waiting on them orders the partials before the arrival - # atomic without an L2-wide release fence (which serialises - # every split behind a cache writeback). - rocdl.s_wait_storecnt(0) - workgroup_barrier() - sk_lds_ptr = fx.PointerType.get( - elem_ty=fx.Int32.ir_type, - address_space=fx.AddressSpace.Shared, - alignment=4, - ) - sk_flag = fx.recast_iter(sk_lds_ptr, base_ptr) - if tid == 0: - sk_old = fx.atomic_add(sk_cnt + bid_x, fx.Int32(1), syncscope="agent") - fx.ptr_store(fx.Int32(sk_old), sk_flag) - workgroup_barrier() - sk_is_last = fx.Int32(fx.ptr_load(sk_flag)) == split_k - 1 - if sk_is_last: - if tid == 0: - # Re-arm the counter for the next launch / graph replay. - fx.ptr_store(fx.Int32(0), sk_cnt + bid_x) - for idx in range_constexpr(n_acc): - own = Vec(c_frags[idx].load()) - tot = [] - for q in range_constexpr(WMMA_VECTOR_DWORDS // 4): - acc4 = None - for sp in range_constexpr(split_k): - part = Vec( - buffer_load( - sk_rsrc, - sk_slot(sp, idx * (WMMA_VECTOR_DWORDS // 4) + q), - vec_width=4, - cache_modifier=SK_DEV_SCOPE, - ) - ) - acc4 = part if acc4 is None else acc4 + part - tot += [acc4[i] for i in range_constexpr(4)] - c_frags[idx].store(Vec.from_elements(tot, fx.Float32).ir_value()) - workgroup_barrier() - mn_oob = sk_is_last.select(mn_oob, mn_oob * 0) + mn_oob = (k_group == 0).select(mn_oob, mn_oob * 0) accs = [] output_fragments_per_acc = WMMA_N // 16 @@ -2651,7 +2535,6 @@ def kernel( arg_bias: fx.Pointer, arg_quant_scale: fx.Pointer, arg_ep_row_map: fx.Pointer, - arg_splitk_ws: fx.Pointer, i32_m: fx.Int32, i32_n: fx.Int32, f32_swiglu_limit: fx.Float32, @@ -2671,7 +2554,6 @@ def run_task(task_id, rows): arg_bias, arg_quant_scale, arg_ep_row_map, - arg_splitk_ws, i32_m, i32_n, f32_swiglu_limit, @@ -2704,8 +2586,6 @@ def run_task(task_id, rows): arg_ep_row_map = arg_c if arg_quant_scale is None: arg_quant_scale = arg_c - if arg_splitk_ws is None: - arg_splitk_ws = arg_c kargs = ( fx.get_iter(arg_c), arg_a, @@ -2716,7 +2596,6 @@ def run_task(task_id, rows): arg_bias, fx.get_iter(arg_quant_scale), fx.get_iter(arg_ep_row_map), - fx.get_iter(arg_splitk_ws), i32_m, N, f32_swiglu_limit, @@ -2727,7 +2606,7 @@ def run_task(task_id, rows): ( persistent_workers if persistent_workers - else ((m_tiles + cluster_m - 1) // cluster_m) * n_tiles * split_k + else ((m_tiles + cluster_m - 1) // cluster_m) * n_tiles ), cluster_m, 1, diff --git a/aiter/ops/shuffle.py b/aiter/ops/shuffle.py index b642bfb770c..153edb988f0 100644 --- a/aiter/ops/shuffle.py +++ b/aiter/ops/shuffle.py @@ -286,9 +286,7 @@ def shuffle_scale_n32k4( if N % 32 != 0: raise ValueError(f"B-scale rows must be divisible by 32, got {N}") if k_scale % 2 != 0: - raise ValueError( - f"B-scale K//32 must be even (K%64==0), got {k_scale}" - ) + raise ValueError(f"B-scale K//32 must be even (K%64==0), got {k_scale}") if k_scale % 4 != 0: # K % 128 == 64: the weights keep their half-k128 tail unpadded, and only # the scales round up to a whole k128 with a finite e8m0 (1.0) that the From a3708115a9f63121a1a96a55600b35ee8df185be Mon Sep 17 00:00:00 2001 From: BinDing Date: Tue, 3 Nov 2026 05:12:28 +0000 Subject: [PATCH 4/8] update config --- .../dsv41_tuned_grouped_fmoe.csv | 196 +++++++++++------- .../kimik3_gfx1250_tuned_grouped_fmoe.csv | 105 +++++++--- .../minimax_m3_gfx1250_tuned_grouped_fmoe.csv | 75 +++++-- 3 files changed, 259 insertions(+), 117 deletions(-) diff --git a/aiter/configs/model_configs/dsv41_tuned_grouped_fmoe.csv b/aiter/configs/model_configs/dsv41_tuned_grouped_fmoe.csv index 247716ac85d..5ed41363b00 100644 --- a/aiter/configs/model_configs/dsv41_tuned_grouped_fmoe.csv +++ b/aiter/configs/model_configs/dsv41_tuned_grouped_fmoe.csv @@ -1,72 +1,124 @@ -gfx,cu_num,token,model_dim,inter_dim,expert,topk,act_type,dtype,q_dtype_a,q_dtype_w,ep_fused,q_type,use_g1u1,doweight_stage1,tile_m,tile_n,tile_k,tile_m2,tile_n2,tile_k2,m_warp,n_warp,m_warp2,n_warp2,num_buffers,num_buffer_stage2,split_k1,split_k2,tdm_as_in_prologue,cluster_m,cluster_n,cluster_m2,cluster_n2,waves_per_tensor_tdm,waves_per_tensor_tdm2,next_stage_prefetch,tdm_b_th,lds_soa_load_interleave,rolled_drain,persistent_workers,persistent_workers2,a_preshuffle,kernelName1,kernelName2,us,tflops,bw -gfx1250,256,4,5120,2304,96,-1,ActivationType.Silu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,256,512,16,256,256,1,4,1,4,4,4,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,17.8447,0,0 -gfx1250,256,8,5120,2304,96,-1,ActivationType.Silu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,256,256,16,256,256,1,4,1,4,3,3,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,23.8599,0,0 -gfx1250,256,16,5120,2304,96,-1,ActivationType.Silu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,256,256,16,256,256,1,4,1,4,2,2,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,34.6749,0,0 -gfx1250,256,32,5120,2304,96,-1,ActivationType.Silu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,512,256,16,512,256,1,4,1,4,2,2,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,51.4823,0,0 -gfx1250,256,64,5120,2304,96,-1,ActivationType.Silu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,256,128,16,512,128,1,4,1,4,2,2,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,78.1030,0,0 -gfx1250,256,128,5120,2304,96,-1,ActivationType.Silu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,256,256,16,512,128,1,4,1,4,2,2,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,100.1470,0,0 -gfx1250,256,256,5120,2304,96,-1,ActivationType.Silu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,256,256,16,512,128,1,4,1,4,2,2,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,107.6273,0,0 -gfx1250,256,512,5120,2304,96,-1,ActivationType.Silu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,256,256,16,512,128,1,4,1,4,2,2,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,111.0942,0,0 -gfx1250,256,1024,5120,2304,96,-1,ActivationType.Silu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,32,256,128,32,512,128,1,4,1,4,2,2,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,115.7514,0,0 -gfx1250,256,2048,5120,2304,96,-1,ActivationType.Silu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,64,256,128,64,256,256,1,4,1,4,3,3,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,128.0199,0,0 -gfx1250,256,4096,5120,2304,96,-1,ActivationType.Silu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,256,256,128,256,256,1,4,1,4,3,2,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,164.9989,0,0 -gfx1250,256,8192,5120,2304,96,-1,ActivationType.Silu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,256,256,128,256,256,1,4,1,4,3,3,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,232.1740,0,0 -gfx1250,256,16384,5120,2304,96,-1,ActivationType.Silu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,256,256,128,256,256,1,4,1,4,3,3,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,363.8510,0,0 -gfx1250,256,32768,5120,2304,96,-1,ActivationType.Silu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,256,256,128,256,256,1,4,1,4,3,3,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,637.2760,0,0 -gfx1250,256,2,5120,2304,192,-1,ActivationType.Silu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,256,512,16,256,256,1,4,1,4,4,4,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,17.6104,0,0 -gfx1250,256,4,5120,2304,192,-1,ActivationType.Silu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,256,256,16,256,256,1,4,1,4,3,4,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,25.0717,0,0 -gfx1250,256,8,5120,2304,192,-1,ActivationType.Silu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,256,128,16,256,128,1,4,1,4,3,3,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,35.8817,0,0 -gfx1250,256,16,5120,2304,192,-1,ActivationType.Silu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,512,256,16,512,256,1,4,1,4,2,2,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,56.1558,0,0 -gfx1250,256,32,5120,2304,192,-1,ActivationType.Silu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,256,256,16,256,256,1,4,1,4,4,4,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,93.1875,0,0 -gfx1250,256,64,5120,2304,192,-1,ActivationType.Silu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,256,256,16,256,256,1,4,1,4,3,3,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,139.3848,0,0 -gfx1250,256,128,5120,2304,192,-1,ActivationType.Silu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,256,128,16,256,128,1,4,1,4,3,3,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,185.8187,0,0 -gfx1250,256,256,5120,2304,192,-1,ActivationType.Silu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,256,128,16,512,128,1,4,1,4,4,2,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,205.0044,0,0 -gfx1250,256,512,5120,2304,192,-1,ActivationType.Silu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,32,256,128,32,256,128,1,4,1,4,3,3,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,213.4411,0,0 -gfx1250,256,1024,5120,2304,192,-1,ActivationType.Silu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,32,256,128,32,256,128,1,4,1,4,3,3,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,221.5299,0,0 -gfx1250,256,2048,5120,2304,192,-1,ActivationType.Silu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,64,512,256,64,512,256,1,4,1,4,2,2,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,242.4103,0,0 -gfx1250,256,4096,5120,2304,192,-1,ActivationType.Silu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,256,256,128,256,256,1,4,1,4,3,3,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,299.7510,0,0 -gfx1250,256,8192,5120,2304,192,-1,ActivationType.Silu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,256,256,128,256,256,1,4,1,4,3,3,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,404.7020,0,0 -gfx1250,256,16384,5120,2304,192,-1,ActivationType.Silu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,256,256,128,256,256,1,4,1,4,3,3,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,662.3050,0,0 -gfx1250,256,32768,5120,2304,192,-1,ActivationType.Silu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,256,256,128,256,256,1,4,1,4,3,3,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,1162.8700,0,0 -gfx1250,256,4,5120,2304,96,-1,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,256,512,16,256,256,1,4,1,4,4,4,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,17.6897,0,0 -gfx1250,256,8,5120,2304,96,-1,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,256,256,16,256,256,1,4,1,4,3,3,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,23.9570,0,0 -gfx1250,256,16,5120,2304,96,-1,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,256,256,16,256,256,1,4,1,4,2,2,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,34.9665,0,0 -gfx1250,256,32,5120,2304,96,-1,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,512,256,16,512,256,1,4,1,4,2,2,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,51.8907,0,0 -gfx1250,256,64,5120,2304,96,-1,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,256,128,16,512,128,1,4,1,4,2,2,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,79.0195,0,0 -gfx1250,256,128,5120,2304,96,-1,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,256,256,16,512,128,1,4,1,4,2,2,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,99.6611,0,0 -gfx1250,256,256,5120,2304,96,-1,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,256,256,16,512,128,1,4,1,4,2,2,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,109.9928,0,0 -gfx1250,256,512,5120,2304,96,-1,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,512,128,16,512,128,1,4,1,4,2,2,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,113.5864,0,0 -gfx1250,256,1024,5120,2304,96,-1,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,32,512,128,32,512,128,1,4,1,4,3,2,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,119.7794,0,0 -gfx1250,256,2048,5120,2304,96,-1,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,64,512,128,64,256,256,1,4,1,4,2,3,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,139.6563,0,0 -gfx1250,256,4096,5120,2304,96,-1,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,256,256,128,256,256,1,4,1,4,2,2,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,193.5941,0,0 -gfx1250,256,8192,5120,2304,96,-1,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,256,256,128,256,256,1,4,1,4,2,2,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,281.9570,0,0 -gfx1250,256,16384,5120,2304,96,-1,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,512,256,128,256,256,2,4,1,4,3,2,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,447.9350,0,0 -gfx1250,256,32768,5120,2304,96,-1,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,512,256,128,256,256,2,4,1,4,3,2,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,783.6610,0,0 -gfx1250,256,2,5120,2304,192,-1,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,256,512,16,256,256,1,4,1,4,4,4,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,18.0710,0,0 -gfx1250,256,4,5120,2304,192,-1,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,256,256,16,256,256,1,4,1,4,3,3,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,24.6131,0,0 -gfx1250,256,8,5120,2304,192,-1,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,256,256,16,256,128,1,4,1,4,2,3,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,35.5872,0,0 -gfx1250,256,16,5120,2304,192,-1,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,512,128,16,512,256,1,4,1,4,3,2,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,56.3245,0,0 -gfx1250,256,32,5120,2304,192,-1,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,512,128,16,256,256,1,4,1,4,2,4,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,94.1773,0,0 -gfx1250,256,64,5120,2304,192,-1,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,256,256,16,256,256,1,4,1,4,4,3,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,139.9418,0,0 -gfx1250,256,128,5120,2304,192,-1,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,256,128,16,256,128,1,4,1,4,4,4,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,188.5428,0,0 -gfx1250,256,256,5120,2304,192,-1,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,256,128,16,256,128,1,4,1,4,3,3,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,208.6789,0,0 -gfx1250,256,512,5120,2304,192,-1,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,512,128,16,512,128,1,4,1,4,2,2,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,218.4323,0,0 -gfx1250,256,1024,5120,2304,192,-1,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,32,512,256,32,512,128,1,4,1,4,2,2,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,226.3855,0,0 -gfx1250,256,2048,5120,2304,192,-1,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,64,256,128,64,256,128,1,4,1,4,3,3,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,270.9410,0,0 -gfx1250,256,4096,5120,2304,192,-1,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,64,512,128,64,512,128,1,4,1,4,3,3,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,355.7130,0,0 -gfx1250,256,8192,5120,2304,192,-1,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,512,256,128,512,256,2,4,2,4,3,3,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,511.2220,0,0 -gfx1250,256,16384,5120,2304,192,-1,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,512,256,128,512,256,2,4,2,4,3,3,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,848.5710,0,0 -gfx1250,256,32768,5120,2304,192,-1,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,512,256,128,256,256,2,4,1,4,3,2,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,1509.3000,0,0 -gfx1250,256,8,5120,2304,48,-1,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,256,512,16,256,256,1,4,1,4,4,4,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,18.1623,0,0 -gfx1250,256,16,5120,2304,48,-1,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,256,256,16,256,256,1,4,1,4,3,3,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,24.1182,0,0 -gfx1250,256,32,5120,2304,48,-1,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,512,256,16,256,256,1,4,1,4,4,3,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,30.2331,0,0 -gfx1250,256,64,5120,2304,48,-1,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,256,128,16,256,128,1,4,1,4,3,3,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,45.1854,0,0 -gfx1250,256,128,5120,2304,48,-1,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,512,128,16,512,256,1,4,1,4,4,2,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,53.7926,0,0 -gfx1250,256,256,5120,2304,48,-1,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,512,128,16,512,256,1,4,1,4,3,2,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,57.0785,0,0 -gfx1250,256,512,5120,2304,48,-1,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,512,128,16,512,256,1,4,1,4,4,2,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,59.8875,0,0 -gfx1250,256,1024,5120,2304,48,-1,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,32,512,128,32,512,256,1,4,1,4,3,2,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,63.8236,0,0 -gfx1250,256,2048,5120,2304,48,-1,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,64,512,128,64,256,256,1,4,1,4,3,3,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,71.6708,0,0 -gfx1250,256,4096,5120,2304,48,-1,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,512,256,128,256,256,1,4,1,4,3,2,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,102.9289,0,0 -gfx1250,256,8192,5120,2304,48,-1,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,256,256,128,256,256,1,4,1,4,2,2,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,156.2070,0,0 -gfx1250,256,16384,5120,2304,48,-1,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,512,256,128,256,256,2,4,1,4,3,2,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,238.3880,0,0 -gfx1250,256,32768,5120,2304,48,-1,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,512,256,128,256,256,1,4,1,4,3,2,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,398.8590,0,0 +gfx,cu_num,token,model_dim,inter_dim,expert,topk,act_type,dtype,q_dtype_a,q_dtype_w,ep_fused,q_type,use_g1u1,doweight_stage1,tile_m,tile_n,tile_k,tile_m2,tile_n2,tile_k2,m_warp,n_warp,m_warp2,n_warp2,num_buffers,num_buffer_stage2,split_k1,split_k2,tdm_as_in_prologue,cluster_m,cluster_n,cluster_m2,cluster_n2,waves_per_tensor_tdm,waves_per_tensor_tdm2,next_stage_prefetch,tdm_b_th,lds_soa_load_interleave,rolled_drain,persistent_workers,persistent_workers2,a_preshuffle,kernelName1,kernelName2,us,tflops,bw,k_waves1,k_waves2 +gfx1250,256,4,5120,2304,96,-1,ActivationType.Silu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,256,512,16,256,256,1,4,1,4,4,4,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,17.8447,0,0,, +gfx1250,256,8,5120,2304,96,-1,ActivationType.Silu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,256,256,16,256,256,1,4,1,4,3,3,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,23.8599,0,0,, +gfx1250,256,16,5120,2304,96,-1,ActivationType.Silu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,256,256,16,256,256,1,4,1,4,2,2,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,34.6749,0,0,, +gfx1250,256,32,5120,2304,96,-1,ActivationType.Silu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,512,256,16,512,256,1,4,1,4,2,2,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,51.4823,0,0,, +gfx1250,256,64,5120,2304,96,-1,ActivationType.Silu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,256,128,16,512,128,1,4,1,4,2,2,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,78.1030,0,0,, +gfx1250,256,128,5120,2304,96,-1,ActivationType.Silu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,256,256,16,512,128,1,4,1,4,2,2,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,100.1470,0,0,, +gfx1250,256,256,5120,2304,96,-1,ActivationType.Silu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,256,256,16,512,128,1,4,1,4,2,2,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,107.6273,0,0,, +gfx1250,256,512,5120,2304,96,-1,ActivationType.Silu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,256,256,16,512,128,1,4,1,4,2,2,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,111.0942,0,0,, +gfx1250,256,1024,5120,2304,96,-1,ActivationType.Silu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,32,256,128,32,512,128,1,4,1,4,2,2,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,115.7514,0,0,, +gfx1250,256,2048,5120,2304,96,-1,ActivationType.Silu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,64,256,128,64,256,256,1,4,1,4,3,3,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,128.0199,0,0,, +gfx1250,256,4096,5120,2304,96,-1,ActivationType.Silu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,256,256,128,256,256,1,4,1,4,3,2,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,164.9989,0,0,, +gfx1250,256,8192,5120,2304,96,-1,ActivationType.Silu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,256,256,128,256,256,1,4,1,4,3,3,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,232.1740,0,0,, +gfx1250,256,16384,5120,2304,96,-1,ActivationType.Silu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,256,256,128,256,256,1,4,1,4,3,3,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,363.8510,0,0,, +gfx1250,256,32768,5120,2304,96,-1,ActivationType.Silu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,256,256,128,256,256,1,4,1,4,3,3,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,637.2760,0,0,, +gfx1250,256,2,5120,2304,192,-1,ActivationType.Silu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,256,512,16,256,256,1,4,1,4,4,4,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,17.6104,0,0,, +gfx1250,256,4,5120,2304,192,-1,ActivationType.Silu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,256,256,16,256,256,1,4,1,4,3,4,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,25.0717,0,0,, +gfx1250,256,8,5120,2304,192,-1,ActivationType.Silu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,256,128,16,256,128,1,4,1,4,3,3,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,35.8817,0,0,, +gfx1250,256,16,5120,2304,192,-1,ActivationType.Silu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,512,256,16,512,256,1,4,1,4,2,2,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,56.1558,0,0,, +gfx1250,256,32,5120,2304,192,-1,ActivationType.Silu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,256,256,16,256,256,1,4,1,4,4,4,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,93.1875,0,0,, +gfx1250,256,64,5120,2304,192,-1,ActivationType.Silu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,256,256,16,256,256,1,4,1,4,3,3,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,139.3848,0,0,, +gfx1250,256,128,5120,2304,192,-1,ActivationType.Silu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,256,128,16,256,128,1,4,1,4,3,3,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,185.8187,0,0,, +gfx1250,256,256,5120,2304,192,-1,ActivationType.Silu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,256,128,16,512,128,1,4,1,4,4,2,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,205.0044,0,0,, +gfx1250,256,512,5120,2304,192,-1,ActivationType.Silu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,32,256,128,32,256,128,1,4,1,4,3,3,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,213.4411,0,0,, +gfx1250,256,1024,5120,2304,192,-1,ActivationType.Silu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,32,256,128,32,256,128,1,4,1,4,3,3,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,221.5299,0,0,, +gfx1250,256,2048,5120,2304,192,-1,ActivationType.Silu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,64,512,256,64,512,256,1,4,1,4,2,2,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,242.4103,0,0,, +gfx1250,256,4096,5120,2304,192,-1,ActivationType.Silu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,256,256,128,256,256,1,4,1,4,3,3,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,299.7510,0,0,, +gfx1250,256,8192,5120,2304,192,-1,ActivationType.Silu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,256,256,128,256,256,1,4,1,4,3,3,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,404.7020,0,0,, +gfx1250,256,16384,5120,2304,192,-1,ActivationType.Silu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,256,256,128,256,256,1,4,1,4,3,3,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,662.3050,0,0,, +gfx1250,256,32768,5120,2304,192,-1,ActivationType.Silu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,256,256,128,256,256,1,4,1,4,3,3,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,1162.8700,0,0,, +gfx1250,256,4,5120,2304,96,-1,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,256,512,16,256,256,1,4,1,4,4,4,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,17.6897,0,0,, +gfx1250,256,8,5120,2304,96,-1,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,256,256,16,256,256,1,4,1,4,3,3,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,23.9570,0,0,, +gfx1250,256,16,5120,2304,96,-1,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,256,256,16,256,256,1,4,1,4,2,2,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,34.9665,0,0,, +gfx1250,256,32,5120,2304,96,-1,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,512,256,16,512,256,1,4,1,4,2,2,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,51.8907,0,0,, +gfx1250,256,64,5120,2304,96,-1,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,256,128,16,512,128,1,4,1,4,2,2,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,79.0195,0,0,, +gfx1250,256,128,5120,2304,96,-1,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,256,256,16,512,128,1,4,1,4,2,2,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,99.6611,0,0,, +gfx1250,256,256,5120,2304,96,-1,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,256,256,16,512,128,1,4,1,4,2,2,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,109.9928,0,0,, +gfx1250,256,512,5120,2304,96,-1,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,512,128,16,512,128,1,4,1,4,2,2,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,113.5864,0,0,, +gfx1250,256,1024,5120,2304,96,-1,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,32,512,128,32,512,128,1,4,1,4,3,2,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,119.7794,0,0,, +gfx1250,256,2048,5120,2304,96,-1,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,64,512,128,64,256,256,1,4,1,4,2,3,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,139.6563,0,0,, +gfx1250,256,4096,5120,2304,96,-1,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,256,256,128,256,256,1,4,1,4,2,2,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,193.5941,0,0,, +gfx1250,256,8192,5120,2304,96,-1,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,256,256,128,256,256,1,4,1,4,2,2,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,281.9570,0,0,, +gfx1250,256,16384,5120,2304,96,-1,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,512,256,128,256,256,2,4,1,4,3,2,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,447.9350,0,0,, +gfx1250,256,32768,5120,2304,96,-1,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,512,256,128,256,256,2,4,1,4,3,2,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,783.6610,0,0,, +gfx1250,256,2,5120,2304,192,-1,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,256,512,16,256,256,1,4,1,4,4,4,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,18.0710,0,0,, +gfx1250,256,4,5120,2304,192,-1,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,256,256,16,256,256,1,4,1,4,3,3,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,24.6131,0,0,, +gfx1250,256,8,5120,2304,192,-1,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,256,256,16,256,128,1,4,1,4,2,3,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,35.5872,0,0,, +gfx1250,256,16,5120,2304,192,-1,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,512,128,16,512,256,1,4,1,4,3,2,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,56.3245,0,0,, +gfx1250,256,32,5120,2304,192,-1,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,512,128,16,256,256,1,4,1,4,2,4,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,94.1773,0,0,, +gfx1250,256,64,5120,2304,192,-1,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,256,256,16,256,256,1,4,1,4,4,3,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,139.9418,0,0,, +gfx1250,256,128,5120,2304,192,-1,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,256,128,16,256,128,1,4,1,4,4,4,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,188.5428,0,0,, +gfx1250,256,256,5120,2304,192,-1,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,256,128,16,256,128,1,4,1,4,3,3,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,208.6789,0,0,, +gfx1250,256,512,5120,2304,192,-1,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,512,128,16,512,128,1,4,1,4,2,2,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,218.4323,0,0,, +gfx1250,256,1024,5120,2304,192,-1,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,32,512,256,32,512,128,1,4,1,4,2,2,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,226.3855,0,0,, +gfx1250,256,2048,5120,2304,192,-1,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,64,256,128,64,256,128,1,4,1,4,3,3,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,270.9410,0,0,, +gfx1250,256,4096,5120,2304,192,-1,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,64,512,128,64,512,128,1,4,1,4,3,3,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,355.7130,0,0,, +gfx1250,256,8192,5120,2304,192,-1,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,512,256,128,512,256,2,4,2,4,3,3,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,511.2220,0,0,, +gfx1250,256,16384,5120,2304,192,-1,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,512,256,128,512,256,2,4,2,4,3,3,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,848.5710,0,0,, +gfx1250,256,32768,5120,2304,192,-1,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,512,256,128,256,256,2,4,1,4,3,2,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,1509.3000,0,0,, +gfx1250,256,8,5120,2304,48,-1,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,256,512,16,256,256,1,4,1,4,4,4,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,18.1623,0,0,, +gfx1250,256,16,5120,2304,48,-1,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,256,256,16,256,256,1,4,1,4,3,3,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,24.1182,0,0,, +gfx1250,256,32,5120,2304,48,-1,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,512,256,16,256,256,1,4,1,4,4,3,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,30.2331,0,0,, +gfx1250,256,64,5120,2304,48,-1,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,256,128,16,256,128,1,4,1,4,3,3,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,45.1854,0,0,, +gfx1250,256,128,5120,2304,48,-1,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,512,128,16,512,256,1,4,1,4,4,2,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,53.7926,0,0,, +gfx1250,256,256,5120,2304,48,-1,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,512,128,16,512,256,1,4,1,4,3,2,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,57.0785,0,0,, +gfx1250,256,512,5120,2304,48,-1,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,512,128,16,512,256,1,4,1,4,4,2,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,59.8875,0,0,, +gfx1250,256,1024,5120,2304,48,-1,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,32,512,128,32,512,256,1,4,1,4,3,2,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,63.8236,0,0,, +gfx1250,256,2048,5120,2304,48,-1,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,64,512,128,64,256,256,1,4,1,4,3,3,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,71.6708,0,0,, +gfx1250,256,4096,5120,2304,48,-1,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,512,256,128,256,256,1,4,1,4,3,2,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,102.9289,0,0,, +gfx1250,256,8192,5120,2304,48,-1,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,256,256,128,256,256,1,4,1,4,2,2,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,156.2070,0,0,, +gfx1250,256,16384,5120,2304,48,-1,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,512,256,128,256,256,2,4,1,4,3,2,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,238.3880,0,0,, +gfx1250,256,32768,5120,2304,48,-1,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,512,256,128,256,256,1,4,1,4,3,2,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,398.8590,0,0,, +gfx1250,256,1,5120,2304,384,6,ActivationType.Silu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,64,512,16,128,128,1,1,1,2,2,2,,,0,-1,-1,,,1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,8.8037,0,0,2,3 +gfx1250,256,8,5120,2304,384,6,ActivationType.Silu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,512,512,16,256,256,1,4,1,2,2,3,,,0,-1,-1,,,-1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,61.5840,0,0,, +gfx1250,256,16,5120,2304,384,6,ActivationType.Silu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,128,128,16,128,128,1,2,1,2,4,3,,,0,-1,-1,,,-1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,108.0769,0,0,, +gfx1250,256,64,5120,2304,384,6,ActivationType.Silu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,384,128,16,256,512,1,2,1,2,4,2,,,0,-1,-1,,,-1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,289.1468,0,0,, +gfx1250,256,128,5120,2304,384,6,ActivationType.Silu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,256,512,16,128,512,1,2,1,2,3,3,,,0,-1,-1,,,-1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,399.1987,0,0,, +gfx1250,256,256,5120,2304,384,6,ActivationType.Silu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,384,128,16,512,512,1,2,1,4,3,2,,,0,-1,-1,,,-1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,449.1041,0,0,, +gfx1250,256,512,5120,2304,384,6,ActivationType.Silu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,256,256,16,256,512,1,4,1,2,3,2,,,0,-1,-1,,,-1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,458.3507,0,0,, +gfx1250,256,1024,5120,2304,384,6,ActivationType.Silu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,32,384,128,32,256,256,1,2,1,4,4,4,,,0,-1,-1,,,-1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,471.8984,0,0,, +gfx1250,256,2048,5120,2304,384,6,ActivationType.Silu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,64,512,256,64,512,128,1,4,1,4,4,2,,,0,-1,-1,,,-1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,503.7990,0,0,, +gfx1250,256,4096,5120,2304,384,6,ActivationType.Silu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,512,256,128,512,128,1,4,1,4,3,3,,,0,-1,-1,,,-1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,602.8378,0,0,, +gfx1250,256,8192,5120,2304,384,6,ActivationType.Silu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,512,256,128,256,256,1,4,1,4,3,3,,,0,-1,-1,,,-1,,0,0,0,0,0,0,1,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,771.7022,0,0,, +gfx1250,256,16384,5120,2304,384,6,ActivationType.Silu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,256,256,256,256,256,256,2,2,2,2,4,4,,,0,1,4,1,4,1,1,1,0,1,0,0,0,1,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,1190.0373,0,0,, +gfx1250,256,32768,5120,2304,384,6,ActivationType.Silu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,256,256,256,256,256,256,2,2,2,2,4,4,,,0,1,4,1,4,1,1,1,0,1,0,0,0,1,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,1967.6713,0,0,, +gfx1250,256,1,5120,2304,384,6,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,64,512,16,128,256,1,1,1,2,2,2,,,0,-1,-1,,,1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,8.6879,0,0,2,3 +gfx1250,256,8,5120,2304,384,6,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,512,256,16,128,256,1,4,1,2,3,3,,,0,-1,-1,,,-1,,1,1,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,55.7633,0,0,, +gfx1250,256,16,5120,2304,384,6,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,128,128,16,256,256,1,2,1,2,3,2,,,0,-1,-1,,,-1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,109.9071,0,0,, +gfx1250,256,32,5120,2304,384,6,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,64,1024,16,64,256,1,1,1,1,2,3,,,0,-1,-1,,,1,1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,189.5117,0,0,1, +gfx1250,256,64,5120,2304,384,6,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,384,128,16,256,128,1,2,1,2,3,3,,,0,-1,-1,,,-1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,291.7681,0,0,, +gfx1250,256,128,5120,2304,384,6,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,512,512,16,128,256,1,4,1,2,2,3,,,0,-1,-1,,,-1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,393.1344,0,0,, +gfx1250,256,256,5120,2304,384,6,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,384,128,16,512,512,1,2,1,8,4,2,,,0,-1,-1,,,-1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,457.1645,0,0,, +gfx1250,256,512,5120,2304,384,6,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,256,256,16,256,512,1,2,1,2,4,2,,,0,-1,-1,,,-1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,468.4928,0,0,, +gfx1250,256,1024,5120,2304,384,6,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,32,512,256,32,512,128,1,4,1,4,3,3,,,0,-1,-1,,,-1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,491.8166,0,0,, +gfx1250,256,2048,5120,2304,384,6,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,64,512,128,64,512,128,1,4,1,4,3,3,,,0,-1,-1,,,-1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,538.5656,0,0,, +gfx1250,256,4096,5120,2304,384,6,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,256,256,128,256,128,2,2,2,2,2,4,,,0,-1,-1,,,-1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,684.2151,0,0,, +gfx1250,256,8192,5120,2304,384,6,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,512,256,128,256,256,1,4,2,2,3,2,,,0,-1,-1,,,-1,,1,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,1112.9487,0,0,, +gfx1250,256,16384,5120,2304,384,6,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,512,256,128,256,128,2,4,1,4,3,3,,,0,1,4,,,2,,1,0,1,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,1774.7636,0,0,, +gfx1250,256,32768,5120,2304,384,6,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,256,256,128,256,256,128,2,2,2,2,4,3,,,0,2,2,2,2,2,2,1,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,2704.0969,0,0,, +gfx1250,256,1,5120,576,384,6,ActivationType.Silu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,64,256,16,128,128,1,1,1,2,2,2,,,0,-1,-1,,,1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,7.1019,0,0,4, +gfx1250,256,8,5120,576,384,6,ActivationType.Silu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,128,512,16,64,128,1,2,1,1,4,3,,,0,-1,-1,,,-1,1,1,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,11.7210,0,0,, +gfx1250,256,16,5120,576,384,6,ActivationType.Silu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,384,128,16,64,128,1,2,1,1,3,2,,,0,-1,-1,,,-1,1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,27.7585,0,0,, +gfx1250,256,32,5120,576,384,6,ActivationType.Silu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,64,512,16,64,128,1,1,1,1,3,2,,,0,-1,-1,,,1,1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,48.7471,0,0,1, +gfx1250,256,64,5120,576,384,6,ActivationType.Silu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,128,256,16,128,128,1,2,1,2,3,3,,,0,-1,-1,,,-1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,79.7599,0,0,, +gfx1250,256,128,5120,576,384,6,ActivationType.Silu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,128,512,16,128,128,1,2,1,2,4,3,,,0,-1,-1,,,-1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,105.8920,0,0,, +gfx1250,256,256,5120,576,384,6,ActivationType.Silu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,128,512,16,512,128,1,2,1,8,4,2,,,0,-1,-1,,,-1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,121.7150,0,0,, +gfx1250,256,512,5120,576,384,6,ActivationType.Silu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,128,512,16,512,128,1,2,1,8,4,2,,,0,-1,-1,,,-1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,125.2232,0,0,, +gfx1250,256,1024,5120,576,384,6,ActivationType.Silu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,32,128,256,32,128,128,1,2,1,2,2,3,,,0,-1,-1,,,-1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,134.7501,0,0,, +gfx1250,256,8192,5120,576,384,6,ActivationType.Silu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,128,256,128,128,256,1,2,1,2,2,2,,,0,-1,-1,,,-1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,288.1954,0,0,, +gfx1250,256,16384,5120,576,384,6,ActivationType.Silu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,384,256,128,256,256,2,2,2,2,4,4,,,0,-1,-1,-1,-1,-1,-1,1,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,428.5814,0,0,, +gfx1250,256,32768,5120,576,384,6,ActivationType.Silu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,384,256,128,256,256,2,2,2,2,4,4,,,0,-1,-1,-1,-1,-1,-1,1,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,729.0402,0,0,, +gfx1250,256,1,5120,576,384,6,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,64,256,16,128,128,1,1,1,2,2,2,,,0,-1,-1,,,1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,7.0833,0,0,4, +gfx1250,256,8,5120,576,384,6,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,64,512,16,512,128,1,1,1,4,3,4,,,0,-1,-1,,4,1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,11.5417,0,0,1, +gfx1250,256,16,5120,576,384,6,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,384,128,16,64,128,1,2,1,1,3,3,,,0,-1,-1,,,-1,1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,28.6250,0,0,, +gfx1250,256,32,5120,576,384,6,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,64,1024,16,64,128,1,1,1,1,2,2,,,0,-1,-1,,,1,1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,51.4501,0,0,1, +gfx1250,256,64,5120,576,384,6,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,384,128,16,128,128,1,2,1,2,3,3,,,0,-1,-1,,,-1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,78.3361,0,0,, +gfx1250,256,128,5120,576,384,6,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,128,256,16,128,128,1,2,1,2,3,3,,,0,-1,-1,,,-1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,104.9947,0,0,, +gfx1250,256,256,5120,576,384,6,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,384,128,16,256,128,1,2,1,4,3,3,,,0,-1,-1,,,-1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,124.6401,0,0,, +gfx1250,256,512,5120,576,384,6,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,128,256,16,512,128,1,2,1,8,2,2,,,0,-1,-1,,,-1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,124.1254,0,0,, +gfx1250,256,1024,5120,576,384,6,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,32,128,256,32,256,128,1,2,1,4,3,3,,,0,-1,-1,,,-1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,141.8739,0,0,, +gfx1250,256,4096,5120,576,384,6,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,64,384,256,64,256,128,1,2,1,4,2,3,,,0,-1,-1,,,-1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,215.4001,0,0,, +gfx1250,256,8192,5120,576,384,6,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,128,256,128,256,128,1,2,2,2,2,3,,,0,-1,-1,,,1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,337.4960,0,0,, +gfx1250,256,16384,5120,576,384,6,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,256,384,128,256,256,256,2,2,2,2,3,3,,,0,-1,-1,1,4,-1,1,1,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,563.3912,0,0,, +gfx1250,256,32768,5120,576,384,6,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,384,128,128,256,128,1,2,2,2,3,4,,,0,-1,-1,-1,-1,-1,-1,1,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,920.4351,0,0,, diff --git a/aiter/configs/model_configs/kimik3_gfx1250_tuned_grouped_fmoe.csv b/aiter/configs/model_configs/kimik3_gfx1250_tuned_grouped_fmoe.csv index 67e700615f2..ab1d2b238b2 100644 --- a/aiter/configs/model_configs/kimik3_gfx1250_tuned_grouped_fmoe.csv +++ b/aiter/configs/model_configs/kimik3_gfx1250_tuned_grouped_fmoe.csv @@ -1,28 +1,77 @@ -gfx,cu_num,token,model_dim,inter_dim,expert,topk,act_type,dtype,q_dtype_a,q_dtype_w,ep_fused,q_type,use_g1u1,doweight_stage1,tile_m,tile_n,tile_k,tile_m2,tile_n2,tile_k2,m_warp,n_warp,m_warp2,n_warp2,num_buffers,num_buffer_stage2,split_k1,split_k2,tdm_as_in_prologue,cluster_m,cluster_n,cluster_m2,cluster_n2,waves_per_tensor_tdm,waves_per_tensor_tdm2,next_stage_prefetch,tdm_b_th,lds_soa_load_interleave,rolled_drain,persistent_workers,persistent_workers2,a_preshuffle,kernelName1,kernelName2,us,tflops,bw -gfx1250,256,16,3584,3072,56,-1,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,512,256,16,256,256,1,8,1,4,4,2,1,1,0,-1,-1,-1,-1,,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,136.9740020891,0,0 -gfx1250,256,32,3584,3072,56,-1,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,256,256,16,256,256,1,4,1,4,2,2,1,1,0,-1,-1,-1,-1,,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,158.9230014361,0,0 -gfx1250,256,64,3584,3072,56,-1,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,128,256,16,256,256,1,2,1,4,4,2,1,1,0,-1,-1,-1,-1,,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,190.1520008687,0,0 -gfx1250,256,128,3584,3072,56,-1,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,128,256,16,256,256,1,2,1,4,2,2,1,1,0,-1,-1,-1,-1,,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,199.1210010601,0,0 -gfx1250,256,256,3584,3072,56,-1,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,128,256,16,256,256,1,2,1,4,4,2,1,1,0,-1,-1,-1,-1,,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,205.371001357,0,0 -gfx1250,256,512,3584,3072,56,-1,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,128,256,16,256,256,1,2,1,4,2,2,1,1,0,-1,-1,-1,-1,,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,208.4510015266,0,0 -gfx1250,256,1024,3584,3072,56,-1,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,32,128,256,32,256,256,1,2,1,4,3,2,1,1,0,-1,-1,-1,-1,,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,218.0310002586,0,0 -gfx1250,256,2048,3584,3072,56,-1,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,64,256,256,64,256,256,1,4,1,4,2,2,1,1,0,-1,-1,-1,-1,,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,235.31899933,0,0 -gfx1250,256,4096,3584,3072,56,-1,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,256,256,128,256,256,1,4,1,4,2,3,1,1,0,-1,-1,-1,-1,,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,269.6180017665,0,0 -gfx1250,256,8192,3584,3072,56,-1,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,64,256,256,64,256,256,1,4,1,4,2,2,1,1,0,-1,-1,-1,-1,,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,399.33,0,0 -gfx1250,256,16384,3584,3072,56,-1,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,256,256,128,256,256,1,4,1,4,2,2,1,1,0,-1,-1,-1,-1,,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,552.767,0,0 -gfx1250,256,32768,3584,3072,56,-1,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,256,256,128,256,256,1,4,1,4,2,2,1,1,0,-1,-1,-1,-1,,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,904.873,0,0 -gfx1250,256,131072,3584,3072,56,-1,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,64,256,256,64,256,256,1,4,1,4,2,2,1,1,0,-1,-1,-1,-1,,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,9504.2588,0,0 -gfx1250,256,8,3584,3072,112,-1,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,256,256,16,256,512,1,4,1,4,4,4,1,1,0,-1,-1,-1,-1,,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,92.5160002225,0,0 -gfx1250,256,16,3584,3072,112,-1,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,32,256,256,32,256,256,1,4,1,4,2,3,1,1,0,-1,-1,-1,-1,,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,108.7149994419,0,0 -gfx1250,256,32,3584,3072,112,-1,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,256,256,16,256,256,1,4,1,4,3,2,1,1,0,-1,-1,-1,-1,,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,139.1229998262,0,0 -gfx1250,256,64,3584,3072,112,-1,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,128,256,16,256,256,1,2,1,4,2,2,1,1,0,-1,-1,-1,-1,,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,179.542999831,0,0 -gfx1250,256,128,3584,3072,112,-1,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,256,256,16,256,128,1,4,1,4,2,4,1,1,0,-1,-1,-1,-1,,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,196.8209999177,0,0 -gfx1250,256,256,3584,3072,112,-1,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,128,256,16,512,128,1,2,1,4,2,2,1,1,0,-1,-1,-1,-1,,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,197.5710001716,0,0 -gfx1250,256,512,3584,3072,112,-1,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,256,256,16,256,256,1,4,1,4,2,2,1,1,0,-1,-1,-1,-1,,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,213.3019997927,0,0 -gfx1250,256,1024,3584,3072,112,-1,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,32,128,256,32,512,128,1,2,1,4,2,2,1,1,0,-1,-1,-1,-1,,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,212.8010000888,0,0 -gfx1250,256,2048,3584,3072,112,-1,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,64,256,256,64,512,256,1,4,1,8,2,2,1,1,0,-1,-1,-1,-1,,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,236.499001403,0,0 -gfx1250,256,4096,3584,3072,112,-1,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,256,256,128,512,256,2,4,1,8,3,2,1,1,0,-1,-1,-1,-1,,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,297.8569991683,0,0 -gfx1250,256,8192,3584,3072,112,-1,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,64,256,256,64,512,256,1,4,1,8,2,2,1,1,0,-1,-1,-1,-1,,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,499.4769988116,0,0 -gfx1250,256,16384,3584,3072,112,-1,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,256,256,128,512,256,1,4,1,8,3,3,1,1,0,-1,-1,-1,-1,,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,672.2920006723,0,0 -gfx1250,256,32768,3584,3072,112,-1,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,256,256,128,512,256,1,4,1,4,3,3,1,1,0,-1,-1,-1,-1,,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,1074.4549999799,0,0 -gfx1250,256,131072,3584,3072,112,-1,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,256,256,128,512,256,1,4,2,4,2,3,1,1,0,-1,-1,-1,-1,,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,3699.0629996581,0,0 +gfx,cu_num,token,model_dim,inter_dim,expert,topk,act_type,dtype,q_dtype_a,q_dtype_w,ep_fused,q_type,use_g1u1,doweight_stage1,tile_m,tile_n,tile_k,tile_m2,tile_n2,tile_k2,m_warp,n_warp,m_warp2,n_warp2,num_buffers,num_buffer_stage2,split_k1,split_k2,tdm_as_in_prologue,cluster_m,cluster_n,cluster_m2,cluster_n2,waves_per_tensor_tdm,waves_per_tensor_tdm2,next_stage_prefetch,tdm_b_th,lds_soa_load_interleave,rolled_drain,persistent_workers,persistent_workers2,a_preshuffle,kernelName1,kernelName2,us,tflops,bw,k_waves1,k_waves2 +gfx1250,256,16,3584,3072,56,-1,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,512,256,16,256,256,1,8,1,4,4,2,1,1,0,-1,-1,-1,-1,,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,136.9740020891,0,0,, +gfx1250,256,32,3584,3072,56,-1,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,256,256,16,256,256,1,4,1,4,2,2,1,1,0,-1,-1,-1,-1,,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,158.9230014361,0,0,, +gfx1250,256,64,3584,3072,56,-1,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,128,256,16,256,256,1,2,1,4,4,2,1,1,0,-1,-1,-1,-1,,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,190.1520008687,0,0,, +gfx1250,256,128,3584,3072,56,-1,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,128,256,16,256,256,1,2,1,4,2,2,1,1,0,-1,-1,-1,-1,,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,199.1210010601,0,0,, +gfx1250,256,256,3584,3072,56,-1,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,128,256,16,256,256,1,2,1,4,4,2,1,1,0,-1,-1,-1,-1,,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,205.371001357,0,0,, +gfx1250,256,512,3584,3072,56,-1,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,128,256,16,256,256,1,2,1,4,2,2,1,1,0,-1,-1,-1,-1,,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,208.4510015266,0,0,, +gfx1250,256,1024,3584,3072,56,-1,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,32,128,256,32,256,256,1,2,1,4,3,2,1,1,0,-1,-1,-1,-1,,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,218.0310002586,0,0,, +gfx1250,256,2048,3584,3072,56,-1,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,64,256,256,64,256,256,1,4,1,4,2,2,1,1,0,-1,-1,-1,-1,,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,235.31899933,0,0,, +gfx1250,256,4096,3584,3072,56,-1,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,256,256,128,256,256,1,4,1,4,2,3,1,1,0,-1,-1,-1,-1,,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,269.6180017665,0,0,, +gfx1250,256,8192,3584,3072,56,-1,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,64,256,256,64,256,256,1,4,1,4,2,2,1,1,0,-1,-1,-1,-1,,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,399.33,0,0,, +gfx1250,256,16384,3584,3072,56,-1,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,256,256,128,256,256,1,4,1,4,2,2,1,1,0,-1,-1,-1,-1,,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,552.767,0,0,, +gfx1250,256,32768,3584,3072,56,-1,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,256,256,128,256,256,1,4,1,4,2,2,1,1,0,-1,-1,-1,-1,,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,904.873,0,0,, +gfx1250,256,131072,3584,3072,56,-1,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,64,256,256,64,256,256,1,4,1,4,2,2,1,1,0,-1,-1,-1,-1,,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,9504.2588,0,0,, +gfx1250,256,8,3584,3072,112,-1,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,256,256,16,256,512,1,4,1,4,4,4,1,1,0,-1,-1,-1,-1,,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,92.5160002225,0,0,, +gfx1250,256,16,3584,3072,112,-1,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,32,256,256,32,256,256,1,4,1,4,2,3,1,1,0,-1,-1,-1,-1,,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,108.7149994419,0,0,, +gfx1250,256,32,3584,3072,112,-1,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,256,256,16,256,256,1,4,1,4,3,2,1,1,0,-1,-1,-1,-1,,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,139.1229998262,0,0,, +gfx1250,256,64,3584,3072,112,-1,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,128,256,16,256,256,1,2,1,4,2,2,1,1,0,-1,-1,-1,-1,,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,179.542999831,0,0,, +gfx1250,256,128,3584,3072,112,-1,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,256,256,16,256,128,1,4,1,4,2,4,1,1,0,-1,-1,-1,-1,,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,196.8209999177,0,0,, +gfx1250,256,256,3584,3072,112,-1,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,128,256,16,512,128,1,2,1,4,2,2,1,1,0,-1,-1,-1,-1,,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,197.5710001716,0,0,, +gfx1250,256,512,3584,3072,112,-1,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,256,256,16,256,256,1,4,1,4,2,2,1,1,0,-1,-1,-1,-1,,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,213.3019997927,0,0,, +gfx1250,256,1024,3584,3072,112,-1,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,32,128,256,32,512,128,1,2,1,4,2,2,1,1,0,-1,-1,-1,-1,,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,212.8010000888,0,0,, +gfx1250,256,2048,3584,3072,112,-1,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,64,256,256,64,512,256,1,4,1,8,2,2,1,1,0,-1,-1,-1,-1,,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,236.499001403,0,0,, +gfx1250,256,4096,3584,3072,112,-1,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,256,256,128,512,256,2,4,1,8,3,2,1,1,0,-1,-1,-1,-1,,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,297.8569991683,0,0,, +gfx1250,256,8192,3584,3072,112,-1,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,64,256,256,64,512,256,1,4,1,8,2,2,1,1,0,-1,-1,-1,-1,,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,499.4769988116,0,0,, +gfx1250,256,16384,3584,3072,112,-1,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,256,256,128,512,256,1,4,1,8,3,3,1,1,0,-1,-1,-1,-1,,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,672.2920006723,0,0,, +gfx1250,256,32768,3584,3072,112,-1,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,256,256,128,512,256,1,4,1,4,3,3,1,1,0,-1,-1,-1,-1,,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,1074.4549999799,0,0,, +gfx1250,256,131072,3584,3072,112,-1,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,256,256,128,512,256,1,4,2,4,2,3,1,1,0,-1,-1,-1,-1,,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,3699.0629996581,0,0,, +gfx1250,256,1,3584,3072,896,16,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,64,512,16,256,512,1,1,1,4,2,2,,,0,-1,-1,,,1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,13.9162,0,0,1,1 +gfx1250,256,8,3584,3072,896,16,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,128,256,16,512,256,1,2,1,4,3,3,,,0,-1,-1,,,-1,,0,1,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,139.8859,0,0,, +gfx1250,256,16,3584,3072,896,16,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,384,256,16,128,128,1,2,1,2,2,3,,,0,-1,-1,,,-1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,263.5649,0,0,, +gfx1250,256,32,3584,3072,896,16,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,256,512,16,64,256,1,2,1,1,4,3,,,0,-1,-1,,,-1,1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,443.9185,0,0,, +gfx1250,256,64,3584,3072,896,16,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,512,256,16,512,128,1,4,1,4,3,3,,,0,-1,-1,,,-1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,650.3285,0,0,, +gfx1250,256,128,3584,3072,896,16,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,384,256,16,512,512,1,2,1,4,3,2,,,0,-1,-1,,,-1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,876.4503,0,0,, +gfx1250,256,256,3584,3072,896,16,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,384,256,16,512,256,1,2,1,4,4,2,,,0,-1,-1,,,-1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,935.8242,0,0,, +gfx1250,256,512,3584,3072,896,16,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,384,512,16,256,512,1,2,1,2,2,2,,,0,-1,-1,,,-1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,992.9061,0,0,, +gfx1250,256,1024,3584,3072,896,16,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,32,384,512,32,512,256,1,2,1,4,2,3,,,0,-1,-1,,,-1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,1039.8420,0,0,, +gfx1250,256,2048,3584,3072,896,16,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,64,512,256,64,512,128,1,4,1,4,2,4,,,0,-1,-1,,,-1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,1077.0983,0,0,, +gfx1250,256,4096,3584,3072,896,16,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,512,256,128,256,256,1,4,2,2,3,3,,,0,-1,-1,,,-1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,1278.0329,0,0,, +gfx1250,256,8192,3584,3072,896,16,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,256,256,512,256,256,512,2,2,2,2,2,2,,,0,-1,2,,,-1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,1974.7926,0,0,, +gfx1250,256,16384,3584,3072,896,16,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,256,256,128,256,256,2,4,1,4,3,3,,,0,-1,-1,4,1,-1,1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,3618.9073,0,0,, +gfx1250,256,1,3584,3072,896,16,ActivationType.Situv2,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,64,512,16,256,256,1,1,1,2,2,2,,,0,-1,-1,,,1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,14.4445,0,0,1, +gfx1250,256,8,3584,3072,896,16,ActivationType.Situv2,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,128,256,16,512,128,1,2,1,8,2,4,,,0,-1,-1,,,-1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,149.8475,0,0,, +gfx1250,256,16,3584,3072,896,16,ActivationType.Situv2,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,256,256,16,512,128,1,2,1,8,2,4,,,0,-1,-1,,,-1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,264.7482,0,0,, +gfx1250,256,32,3584,3072,896,16,ActivationType.Situv2,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,64,512,16,64,256,1,1,1,1,2,3,,,0,-1,-1,,,1,1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,439.0845,0,0,1, +gfx1250,256,64,3584,3072,896,16,ActivationType.Situv2,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,512,256,16,512,128,1,4,1,4,4,3,,,0,-1,-1,,,-1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,662.2305,0,0,, +gfx1250,256,128,3584,3072,896,16,ActivationType.Situv2,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,384,512,16,512,256,1,2,1,4,2,3,,,0,-1,-1,,,-1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,887.8147,0,0,, +gfx1250,256,256,3584,3072,896,16,ActivationType.Situv2,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,384,128,16,256,512,1,2,1,2,4,4,,,0,-1,-1,,,-1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,981.3504,0,0,, +gfx1250,256,512,3584,3072,896,16,ActivationType.Situv2,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,384,512,16,256,512,1,2,1,2,2,2,,,0,-1,-1,,,-1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,1018.5639,0,0,, +gfx1250,256,1024,3584,3072,896,16,ActivationType.Situv2,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,32,384,256,32,512,256,1,2,1,4,3,3,,,0,-1,-1,,,-1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,1076.7810,0,0,, +gfx1250,256,2048,3584,3072,896,16,ActivationType.Situv2,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,64,256,128,64,512,128,2,2,1,4,3,3,,,0,-1,-1,,,-1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,1188.1515,0,0,, +gfx1250,256,4096,3584,3072,896,16,ActivationType.Situv2,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,512,256,128,256,128,1,4,2,2,3,4,,,0,-1,-1,,,-1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,1506.5369,0,0,, +gfx1250,256,8192,3584,3072,896,16,ActivationType.Situv2,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,64,512,128,64,512,128,1,4,1,4,3,3,,,0,-1,4,,,-1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,2474.7820,0,0,, +gfx1250,256,16384,3584,3072,896,16,ActivationType.Situv2,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,256,256,128,256,256,2,2,2,2,2,2,,,0,-1,-1,,,-1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,4091.7701,0,0,, +gfx1250,256,1,3584,768,896,16,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,64,512,16,128,256,1,1,1,2,2,2,,,0,-1,-1,,,1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,8.1344,0,0,1,3 +gfx1250,256,8,3584,768,896,16,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,128,128,16,128,128,1,2,1,2,2,2,,,0,-1,-1,,,-1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,34.3186,0,0,, +gfx1250,256,16,3584,768,896,16,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,128,128,16,64,256,1,2,1,1,4,2,,,0,-1,-1,,,-1,1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,67.8593,0,0,, +gfx1250,256,32,3584,768,896,16,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,64,256,16,64,256,1,1,1,1,2,2,,,0,-1,-1,,,1,1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,116.2319,0,0,1, +gfx1250,256,64,3584,768,896,16,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,512,256,16,128,128,1,8,1,2,2,3,,,0,-1,-1,,,-1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,180.0550,0,0,, +gfx1250,256,128,3584,768,896,16,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,128,256,16,128,128,1,2,1,2,3,4,,,0,-1,-1,,,-1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,237.5469,0,0,, +gfx1250,256,256,3584,768,896,16,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,256,256,16,256,256,1,2,1,4,2,2,,,0,-1,-1,,,-1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,253.9716,0,0,, +gfx1250,256,512,3584,768,896,16,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,384,128,16,256,128,1,2,1,2,4,3,,,0,-1,-1,,,-1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,270.4521,0,0,, +gfx1250,256,1024,3584,768,896,16,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,32,384,256,32,256,128,1,2,1,4,2,3,,,0,-1,-1,,,-1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,273.6726,0,0,, +gfx1250,256,4096,3584,768,896,16,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,512,256,128,512,128,1,4,1,4,3,4,,,0,-1,-1,,,-1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,398.8703,0,0,, +gfx1250,256,8192,3584,768,896,16,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,256,256,512,256,256,256,2,4,2,2,2,4,,,0,-1,-1,,4,-1,1,0,0,1,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,611.4260,0,0,, +gfx1250,256,16384,3584,768,896,16,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,256,256,128,256,256,1,4,1,4,3,4,,,0,1,4,1,4,1,1,1,0,1,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,962.8303,0,0,, +gfx1250,256,1,3584,768,896,16,ActivationType.Situv2,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,64,512,16,128,256,1,1,1,2,2,2,,,0,-1,-1,,,1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,8.0496,0,0,1,1 +gfx1250,256,8,3584,768,896,16,ActivationType.Situv2,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,128,128,16,256,256,1,2,1,2,2,2,,,0,-1,-1,,,-1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,34.7242,0,0,, +gfx1250,256,16,3584,768,896,16,ActivationType.Situv2,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,128,256,16,64,256,1,2,1,1,4,2,,,0,-1,-1,,,-1,1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,73.1383,0,0,, +gfx1250,256,32,3584,768,896,16,ActivationType.Situv2,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,128,256,16,64,256,1,2,1,1,2,2,,,0,-1,-1,,,-1,1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,118.7855,0,0,, +gfx1250,256,64,3584,768,896,16,ActivationType.Situv2,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,256,128,16,256,256,1,2,1,2,4,2,,,0,-1,-1,,,-1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,178.8851,0,0,, +gfx1250,256,128,3584,768,896,16,ActivationType.Situv2,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,128,256,16,128,256,1,2,1,2,2,2,,,0,-1,-1,,,-1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,238.5706,0,0,, +gfx1250,256,256,3584,768,896,16,ActivationType.Situv2,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,384,256,16,256,128,1,2,1,4,2,2,,,0,-1,-1,,,-1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,261.0032,0,0,, +gfx1250,256,512,3584,768,896,16,ActivationType.Situv2,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,384,512,16,256,128,1,2,1,2,2,2,,,0,-1,-1,,,-1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,280.5143,0,0,, +gfx1250,256,1024,3584,768,896,16,ActivationType.Situv2,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,32,384,256,32,512,256,1,2,1,4,2,2,,,0,-1,-1,,,-1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,290.7473,0,0,, +gfx1250,256,4096,3584,768,896,16,ActivationType.Situv2,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,512,256,128,512,256,1,4,1,4,3,2,,,0,-1,-1,,,-1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,454.8532,0,0,, +gfx1250,256,16384,3584,768,896,16,ActivationType.Situv2,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,512,256,128,256,256,1,4,2,2,3,2,,,0,-1,-1,,,-1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,1178.8413,0,0,, diff --git a/aiter/configs/model_configs/minimax_m3_gfx1250_tuned_grouped_fmoe.csv b/aiter/configs/model_configs/minimax_m3_gfx1250_tuned_grouped_fmoe.csv index 6f4fe452802..4df8297cf14 100644 --- a/aiter/configs/model_configs/minimax_m3_gfx1250_tuned_grouped_fmoe.csv +++ b/aiter/configs/model_configs/minimax_m3_gfx1250_tuned_grouped_fmoe.csv @@ -1,17 +1,58 @@ -gfx,cu_num,token,model_dim,inter_dim,expert,topk,act_type,dtype,q_dtype_a,q_dtype_w,ep_fused,q_type,use_g1u1,doweight_stage1,tile_m,tile_n,tile_k,tile_m2,tile_n2,tile_k2,m_warp,n_warp,m_warp2,n_warp2,num_buffers,num_buffer_stage2,split_k1,split_k2,tdm_as_in_prologue,cluster_m,cluster_n,cluster_m2,cluster_n2,waves_per_tensor_tdm,waves_per_tensor_tdm2,next_stage_prefetch,tdm_b_th,lds_soa_load_interleave,rolled_drain,persistent_workers,persistent_workers2,kernelName1,kernelName2,us -gfx1250,256,1,6144,768,129,5,ActivationType.Swiglu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,64,1024,16,64,256,1,1,1,2,3,3,1,1,0,-1,-1,-1,-1,1,-1,0,0,0,0,1024,2048,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,21.85 -gfx1250,256,2,6144,768,129,5,ActivationType.Swiglu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,64,1024,16,64,256,1,1,1,2,3,3,1,1,0,-1,-1,-1,-1,1,-1,0,0,0,0,1024,2048,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,22.07 -gfx1250,256,4,6144,768,129,5,ActivationType.Swiglu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,64,1024,16,64,256,1,1,1,2,3,3,1,1,0,-1,-1,-1,-1,1,-1,0,0,0,0,1024,2048,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,25.28 -gfx1250,256,8,6144,768,129,5,ActivationType.Swiglu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,64,1024,16,64,256,1,1,1,2,3,3,1,1,0,-1,-1,-1,-1,1,-1,0,0,0,0,1024,4096,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,26.75 -gfx1250,256,16,6144,768,129,5,ActivationType.Swiglu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,64,1024,16,64,256,1,1,1,2,3,3,1,1,0,-1,-1,-1,-1,1,-1,0,0,0,0,2048,4096,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,28.85 -gfx1250,256,32,6144,768,129,5,ActivationType.Swiglu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,128,1024,16,64,128,1,2,1,1,2,3,1,1,0,-1,-1,-1,-1,-1,1,0,0,0,0,1024,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,53.38 -gfx1250,256,64,6144,768,129,5,ActivationType.Swiglu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,64,1024,16,64,128,1,1,1,1,2,3,1,1,0,-1,-1,-1,-1,1,1,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,66.56 -gfx1250,256,128,6144,768,129,5,ActivationType.Swiglu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,128,512,16,256,256,1,2,1,4,2,2,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,1024,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,80.25 -gfx1250,256,256,6144,768,129,5,ActivationType.Swiglu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,32,128,256,32,256,256,1,2,1,4,2,2,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,86.28 -gfx1250,256,512,6144,768,129,5,ActivationType.Swiglu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,32,128,256,32,128,256,1,2,1,2,2,2,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,93.25 -gfx1250,256,1024,6144,768,129,5,ActivationType.Swiglu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,256,256,128,256,256,1,4,1,4,2,2,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,162.6272 -gfx1250,256,2048,6144,768,129,5,ActivationType.Swiglu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,256,256,128,256,256,1,4,1,4,3,3,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,124.27 -gfx1250,256,4096,6144,768,129,5,ActivationType.Swiglu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,256,256,128,256,256,1,4,1,4,3,3,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,188.93 -gfx1250,256,8192,6144,768,129,5,ActivationType.Swiglu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,256,256,128,256,256,1,4,1,4,3,3,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,321.82 -gfx1250,256,16384,6144,768,129,5,ActivationType.Swiglu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,256,256,128,256,256,1,4,1,4,3,3,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,584.85 -gfx1250,256,32768,6144,768,129,5,ActivationType.Swiglu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,256,256,128,256,256,1,4,1,4,3,3,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,1097.21 +gfx,cu_num,token,model_dim,inter_dim,expert,topk,act_type,dtype,q_dtype_a,q_dtype_w,ep_fused,q_type,use_g1u1,doweight_stage1,tile_m,tile_n,tile_k,tile_m2,tile_n2,tile_k2,m_warp,n_warp,m_warp2,n_warp2,num_buffers,num_buffer_stage2,split_k1,split_k2,tdm_as_in_prologue,cluster_m,cluster_n,cluster_m2,cluster_n2,waves_per_tensor_tdm,waves_per_tensor_tdm2,next_stage_prefetch,tdm_b_th,lds_soa_load_interleave,rolled_drain,persistent_workers,persistent_workers2,kernelName1,kernelName2,us,a_preshuffle,tflops,bw,k_waves1,k_waves2 +gfx1250,256,2,6144,768,129,5,ActivationType.Swiglu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,64,1024,16,64,256,1,1,1,2,3,3,1,1,0,-1,-1,-1,-1,1,-1,0,0,0,0,1024,2048,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,22.07,,,,, +gfx1250,256,4,6144,768,129,5,ActivationType.Swiglu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,64,1024,16,64,256,1,1,1,2,3,3,1,1,0,-1,-1,-1,-1,1,-1,0,0,0,0,1024,2048,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,25.28,,,,, +gfx1250,256,1,6144,3072,129,5,ActivationType.Swiglu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,64,512,16,128,512,1,1,1,2,2,2,,,0,-1,-1,,,1,,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,9.3754,0,0,0,2,2 +gfx1250,256,8,6144,3072,129,5,ActivationType.Swiglu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,256,256,16,512,128,1,4,1,8,4,2,,,0,-1,-1,,,-1,,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,77.9298,0,0,0,, +gfx1250,256,16,6144,3072,129,5,ActivationType.Swiglu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,256,256,16,512,256,1,2,1,4,4,3,,,0,-1,-1,,,-1,,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,119.4024,0,0,0,, +gfx1250,256,32,6144,3072,129,5,ActivationType.Swiglu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,64,1024,16,128,512,1,1,1,2,3,2,,,0,-1,-1,,,1,,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,186.9773,0,0,0,1, +gfx1250,256,64,6144,3072,129,5,ActivationType.Swiglu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,512,256,16,384,128,1,4,1,2,4,3,,,0,-1,-1,,,-1,,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,229.5677,0,0,0,, +gfx1250,256,128,6144,3072,129,5,ActivationType.Swiglu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,384,512,16,128,512,1,2,1,2,2,2,,,0,-1,-1,,,-1,,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,241.4983,0,0,0,, +gfx1250,256,256,6144,3072,129,5,ActivationType.Swiglu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,512,512,16,384,128,1,4,1,2,2,3,,,0,-1,-1,,,-1,,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,258.5324,0,0,0,, +gfx1250,256,512,6144,3072,129,5,ActivationType.Swiglu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,32,384,256,32,256,512,1,2,1,4,2,2,,,0,-1,-1,,,-1,,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,269.6804,0,0,0,, +gfx1250,256,1024,6144,3072,129,5,ActivationType.Swiglu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,64,128,128,64,128,128,1,2,1,2,3,3,,,0,-1,-1,,,-1,,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,286.9140,0,0,0,, +gfx1250,256,2048,6144,3072,129,5,ActivationType.Swiglu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,512,128,128,256,256,2,4,2,4,4,3,,,0,-1,-1,,,-1,,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,335.9373,0,0,0,, +gfx1250,256,4096,6144,3072,129,5,ActivationType.Swiglu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,256,256,256,256,256,512,2,2,2,2,4,2,,,0,1,4,,,1,,1,0,1,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,467.0129,1,0,0,, +gfx1250,256,8192,6144,3072,129,5,ActivationType.Swiglu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,512,256,128,256,256,1,4,2,2,3,3,,,0,-1,4,,,-1,,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,761.5430,0,0,0,, +gfx1250,256,16384,6144,3072,129,5,ActivationType.Swiglu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,256,256,256,256,256,256,2,2,2,2,3,3,,,0,1,4,2,2,1,1,1,0,1,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,1181.0994,1,0,0,, +gfx1250,256,32768,6144,3072,129,5,ActivationType.Swiglu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,256,256,256,256,256,256,2,2,2,2,3,3,,,0,4,1,4,4,1,1,1,0,1,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,2166.4935,1,0,0,, +gfx1250,256,1,6144,3072,129,5,ActivationType.Swiglu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,64,512,16,128,512,1,1,1,2,2,2,,,0,-1,-1,,,1,,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,9.5492,0,0,0,2,2 +gfx1250,256,8,6144,3072,129,5,ActivationType.Swiglu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,256,512,16,128,256,1,4,1,2,2,3,,,0,-1,-1,,,-1,,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,82.4577,0,0,0,, +gfx1250,256,16,6144,3072,129,5,ActivationType.Swiglu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,256,256,16,512,512,1,4,1,4,3,2,,,0,-1,-1,,,-1,,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,116.1466,0,0,0,, +gfx1250,256,32,6144,3072,129,5,ActivationType.Swiglu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,256,128,16,256,128,1,2,1,2,3,3,,,0,-1,-1,,,-1,,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,178.2946,0,0,0,, +gfx1250,256,64,6144,3072,129,5,ActivationType.Swiglu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,512,256,16,384,128,1,4,1,2,4,3,,,0,-1,-1,,,-1,,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,231.1327,0,0,0,, +gfx1250,256,128,6144,3072,129,5,ActivationType.Swiglu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,128,256,16,384,128,1,2,1,2,3,3,,,0,-1,-1,,,-1,,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,248.0446,0,0,0,, +gfx1250,256,256,6144,3072,129,5,ActivationType.Swiglu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,384,128,16,384,128,1,2,1,2,3,3,,,0,-1,-1,,,-1,,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,256.3651,0,0,0,, +gfx1250,256,512,6144,3072,129,5,ActivationType.Swiglu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,32,512,128,32,384,256,1,4,1,2,2,2,,,0,-1,-1,,,-1,,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,279.9470,0,0,0,, +gfx1250,256,2048,6144,3072,129,5,ActivationType.Swiglu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,512,256,128,256,256,1,4,2,2,3,2,,,0,-1,-1,,,-1,,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,378.8039,0,0,0,, +gfx1250,256,4096,6144,3072,129,5,ActivationType.Swiglu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,512,256,128,256,256,1,4,2,2,3,2,,,0,-1,-1,,,-1,,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,652.9629,0,0,0,, +gfx1250,256,8192,6144,3072,129,5,ActivationType.Swiglu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,512,256,128,256,256,1,4,2,2,3,2,,,0,-1,-1,,,-1,,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,987.9044,0,0,0,, +gfx1250,256,16384,6144,3072,129,5,ActivationType.Swiglu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,256,256,128,256,256,256,2,2,2,2,4,2,,,0,2,4,,,2,,1,0,1,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,1769.0063,0,0,0,, +gfx1250,256,32768,6144,3072,129,5,ActivationType.Swiglu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,256,256,128,256,256,128,2,2,2,2,4,4,,,0,2,4,4,4,2,2,1,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,2881.3809,0,0,0,, +gfx1250,256,1,6144,768,129,5,ActivationType.Swiglu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,64,512,16,128,256,1,1,1,2,2,2,,,0,-1,-1,,,1,,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,6.9235,0,0,0,4,3 +gfx1250,256,8,6144,768,129,5,ActivationType.Swiglu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,128,512,16,512,256,1,2,1,8,3,2,,,0,-1,-1,,,-1,,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,14.3371,0,0,0,, +gfx1250,256,16,6144,768,129,5,ActivationType.Swiglu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,384,128,16,128,128,1,2,1,2,3,2,,,0,-1,-1,,,-1,,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,31.2030,0,0,0,, +gfx1250,256,32,6144,768,129,5,ActivationType.Swiglu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,64,1024,16,256,128,1,1,1,2,2,3,,,0,-1,-1,,,1,,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,45.4792,0,0,0,1, +gfx1250,256,64,6144,768,129,5,ActivationType.Swiglu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,512,128,16,512,128,1,8,1,8,4,4,,,0,-1,-1,,,-1,,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,61.6371,0,0,0,, +gfx1250,256,128,6144,768,129,5,ActivationType.Swiglu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,128,512,16,256,256,1,2,1,4,2,2,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,1024,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,80.25,,,,, +gfx1250,256,256,6144,768,129,5,ActivationType.Swiglu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,256,256,16,128,128,1,4,1,2,3,2,,,0,-1,-1,,,-1,,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,69.6598,0,0,0,, +gfx1250,256,512,6144,768,129,5,ActivationType.Swiglu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,32,256,512,32,256,128,1,4,1,4,2,3,,,0,-1,-1,,,-1,,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,73.7413,0,0,0,, +gfx1250,256,1024,6144,768,129,5,ActivationType.Swiglu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,64,256,128,64,128,128,2,2,1,2,3,3,,,0,-1,-1,,,-1,,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,83.2841,0,0,0,, +gfx1250,256,2048,6144,768,129,5,ActivationType.Swiglu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,512,128,128,256,128,2,4,1,4,4,4,,,0,-1,-1,,,-1,,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,106.4725,0,0,0,, +gfx1250,256,4096,6144,768,129,5,ActivationType.Swiglu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,256,256,128,256,256,1,4,1,4,3,3,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,188.93,,,,, +gfx1250,256,8192,6144,768,129,5,ActivationType.Swiglu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,256,256,128,256,256,1,4,1,4,3,3,,,0,4,4,4,1,1,1,1,0,1,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,241.4516,1,0,0,, +gfx1250,256,16384,6144,768,129,5,ActivationType.Swiglu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,256,256,256,256,256,256,2,2,2,2,3,4,,,0,2,2,4,4,1,1,1,0,1,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,406.0694,1,0,0,, +gfx1250,256,32768,6144,768,129,5,ActivationType.Swiglu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,256,256,256,256,256,256,2,2,2,2,3,3,,,0,2,2,4,4,1,1,1,0,1,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,707.0587,0,0,0,, +gfx1250,256,1,6144,768,129,5,ActivationType.Swiglu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,64,512,16,128,256,1,1,1,2,2,2,,,0,-1,-1,,,1,,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,7.0223,0,0,0,4, +gfx1250,256,8,6144,768,129,5,ActivationType.Swiglu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,256,512,16,512,256,1,4,1,4,3,2,,,0,-1,-1,,,-1,,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,14.3670,0,0,0,, +gfx1250,256,16,6144,768,129,5,ActivationType.Swiglu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,128,256,16,256,128,1,2,1,2,4,2,,,0,-1,-1,,,-1,,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,29.3450,0,0,0,, +gfx1250,256,32,6144,768,129,5,ActivationType.Swiglu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,128,256,16,256,128,1,2,1,2,4,3,,,0,-1,-1,,,-1,,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,47.5227,0,0,0,, +gfx1250,256,64,6144,768,129,5,ActivationType.Swiglu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,512,128,16,512,128,1,4,1,8,4,3,,,0,-1,-1,,,-1,,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,62.2897,0,0,0,, +gfx1250,256,128,6144,768,129,5,ActivationType.Swiglu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,512,256,16,128,128,1,8,1,2,4,3,,,0,-1,-1,,,-1,,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,67.3709,0,0,0,, +gfx1250,256,256,6144,768,129,5,ActivationType.Swiglu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,512,256,16,128,256,1,4,1,2,2,2,,,0,-1,-1,,,-1,,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,70.5307,0,0,0,, +gfx1250,256,512,6144,768,129,5,ActivationType.Swiglu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,32,512,128,32,384,128,1,4,1,2,2,3,,,0,-1,-1,,,-1,,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,76.9218,0,0,0,, +gfx1250,256,1024,6144,768,129,5,ActivationType.Swiglu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,64,512,128,64,256,128,1,4,2,2,3,3,,,0,-1,-1,,,-1,,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,88.0554,0,0,0,, +gfx1250,256,2048,6144,768,129,5,ActivationType.Swiglu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,512,256,128,256,256,1,4,2,2,3,2,,,0,-1,-1,,,-1,,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,119.5323,0,0,0,, +gfx1250,256,4096,6144,768,129,5,ActivationType.Swiglu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,256,256,128,256,256,2,2,2,2,2,2,,,0,-1,-1,,,-1,,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,199.5641,0,0,0,, +gfx1250,256,8192,6144,768,129,5,ActivationType.Swiglu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,512,256,128,512,256,1,4,2,4,3,4,,,0,-1,-1,,,-1,,1,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,301.4199,0,0,0,, +gfx1250,256,16384,6144,768,129,5,ActivationType.Swiglu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,512,256,128,256,256,1,4,2,2,3,2,,,0,-1,-1,,,-1,,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,530.9981,0,0,0,, +gfx1250,256,32768,6144,768,129,5,ActivationType.Swiglu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,512,256,128,256,256,1,4,2,2,3,2,,,0,-1,-1,,,-1,,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,934.3685,0,0,0,, From bdcd16441a6fc9d1b94aa36914661fe60bc6cf91 Mon Sep 17 00:00:00 2001 From: BinDing Date: Tue, 3 Nov 2026 12:06:28 +0000 Subject: [PATCH 5/8] update for k3 tp8 --- .../kimik3tp8_tuned_grouped_fmoe.csv | 32 +++++++++---------- aiter/ops/flydsl/grouped_gemm_mxfp4.py | 2 +- aiter/ops/flydsl/grouped_moe_gfx1250.py | 6 ++-- .../flydsl_tests/test_flydsl_grouped_gemm.py | 9 +++--- 4 files changed, 25 insertions(+), 24 deletions(-) diff --git a/aiter/configs/model_configs/kimik3tp8_tuned_grouped_fmoe.csv b/aiter/configs/model_configs/kimik3tp8_tuned_grouped_fmoe.csv index f17c83970ed..758aa628b18 100644 --- a/aiter/configs/model_configs/kimik3tp8_tuned_grouped_fmoe.csv +++ b/aiter/configs/model_configs/kimik3tp8_tuned_grouped_fmoe.csv @@ -1,16 +1,16 @@ -gfx,cu_num,token,model_dim,inter_dim,expert,topk,act_type,dtype,q_dtype_a,q_dtype_w,ep_fused,q_type,use_g1u1,doweight_stage1,tile_m,tile_n,tile_k,tile_m2,tile_n2,tile_k2,m_warp,n_warp,m_warp2,n_warp2,num_buffers,num_buffer_stage2,split_k1,split_k2,tdm_as_in_prologue,cluster_m,cluster_n,cluster_m2,cluster_n2,waves_per_tensor_tdm,waves_per_tensor_tdm2,next_stage_prefetch,tdm_b_th,lds_soa_load_interleave,rolled_drain,persistent_workers,persistent_workers2,kernelName1,kernelName2,us,tflops,bw -gfx1250,256,1,3584,384,896,16,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,128,512,16,512,128,1,2,1,4,3,2,1,1,0,-1,-1,-1,-1,,,0,1,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,20.2994,0,0 -gfx1250,256,2,3584,384,896,16,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,128,512,16,512,128,1,2,1,4,4,2,1,1,0,-1,-1,-1,-1,,,0,1,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,21.2357,0,0 -gfx1250,256,4,3584,384,896,16,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,128,512,16,256,128,1,2,1,4,3,2,1,1,0,-1,-1,-1,-1,,,0,1,0,1,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,25.5425,0,0 -gfx1250,256,8,3584,384,896,16,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,128,256,16,256,128,1,2,1,2,4,2,1,1,0,-1,-1,-1,-1,,,0,1,0,1,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,32.1113,0,0 -gfx1250,256,16,3584,384,896,16,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,128,128,16,128,128,1,2,1,2,4,2,1,1,0,-1,-1,-1,-1,,,0,1,0,1,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,51.0913,0,0 -gfx1250,256,32,3584,384,896,16,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,128,256,16,128,128,1,2,1,2,3,2,1,1,0,-1,-1,-1,-1,,,0,1,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,71.84,0,0 -gfx1250,256,64,3584,384,896,16,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,128,256,16,128,128,1,2,1,2,3,2,1,1,0,-1,-1,-1,-1,,,0,1,0,1,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,102.6685,0,0 -gfx1250,256,128,3584,384,896,16,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,128,256,16,128,128,1,2,1,2,2,2,1,1,0,-1,-1,-1,-1,,,0,1,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,133.0114,0,0 -gfx1250,256,256,3584,384,896,16,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,128,256,16,128,128,1,2,1,2,2,2,1,1,0,-1,-1,-1,-1,,,0,1,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,146.1798,0,0 -gfx1250,256,512,3584,384,896,16,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,128,256,16,128,128,1,2,1,2,2,2,1,1,0,-1,-1,-1,-1,,,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,157.1095,0,0 -gfx1250,256,1024,3584,384,896,16,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,32,128,256,32,256,128,2,2,1,2,2,2,1,1,0,-1,-1,-1,-1,,,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,174.5391,0,0 -gfx1250,256,2048,3584,384,896,16,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,64,256,128,64,128,128,2,4,1,2,3,3,1,1,0,-1,-1,-1,-1,,,0,1,0,1,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,221.3278,0,0 -gfx1250,256,4096,3584,384,896,16,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,64,256,128,64,256,128,2,4,1,4,3,3,1,1,0,-1,-1,-1,-1,,,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,354.3946,0,0 -gfx1250,256,8192,3584,384,896,16,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,64,256,128,64,256,128,2,4,1,4,3,3,1,1,0,-1,-1,-1,-1,,,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,576.6258,0,0 -gfx1250,256,16384,3584,384,896,16,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,256,256,128,128,512,1,4,1,2,3,3,1,1,0,-1,-1,-1,-1,,,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,963.5116,0,0 +gfx,cu_num,token,model_dim,inter_dim,expert,topk,act_type,dtype,q_dtype_a,q_dtype_w,ep_fused,q_type,use_g1u1,doweight_stage1,tile_m,tile_n,tile_k,tile_m2,tile_n2,tile_k2,m_warp,n_warp,m_warp2,n_warp2,num_buffers,num_buffer_stage2,split_k1,split_k2,tdm_as_in_prologue,cluster_m,cluster_n,cluster_m2,cluster_n2,waves_per_tensor_tdm,waves_per_tensor_tdm2,next_stage_prefetch,tdm_b_th,lds_soa_load_interleave,rolled_drain,persistent_workers,persistent_workers2,a_preshuffle,kernelName1,kernelName2,us,tflops,bw,k_waves1,k_waves2 +gfx1250,256,1,3584,384,896,16,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,128,256,16,256,128,1,2,1,8,3,3,1,1,0,-1,-1,-1,-1,,,0,0,1,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,7.0168,0,0,2,1 +gfx1250,256,2,3584,384,896,16,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,128,512,16,512,128,1,2,1,4,4,2,1,1,0,-1,-1,-1,-1,,,0,1,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,21.2357,0,0,1,1 +gfx1250,256,4,3584,384,896,16,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,128,512,16,256,128,1,2,1,4,3,2,1,1,0,-1,-1,-1,-1,,,0,1,0,1,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,25.5425,0,0,1,1 +gfx1250,256,8,3584,384,896,16,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,32,128,512,32,256,128,1,2,1,4,2,2,1,1,0,-1,-1,-1,-1,,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,14.6269,0,0,1,1 +gfx1250,256,16,3584,384,896,16,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,128,128,16,128,128,1,2,1,2,4,2,1,1,0,-1,-1,-1,-1,,,0,1,0,1,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,30.6662,0,0,1,1 +gfx1250,256,32,3584,384,896,16,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,128,256,16,128,128,1,2,1,2,3,2,1,1,0,-1,-1,-1,-1,,,0,1,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,71.84,0,0,1,1 +gfx1250,256,64,3584,384,896,16,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,384,128,16,256,128,1,2,1,2,2,2,1,1,0,-1,-1,-1,-1,,,0,1,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,83.4872,0,0,1,1 +gfx1250,256,128,3584,384,896,16,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,128,256,16,128,128,1,2,1,2,2,2,1,1,0,-1,-1,-1,-1,,,0,1,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,133.0114,0,0,1,1 +gfx1250,256,256,3584,384,896,16,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,256,128,16,128,128,1,2,1,2,2,2,1,1,0,-1,-1,-1,-1,,,0,1,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,119.5659,0,0,1,1 +gfx1250,256,512,3584,384,896,16,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,32,256,128,32,256,128,1,2,1,2,2,2,1,1,0,-1,-1,-1,-1,,,0,1,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,128.0673,0,0,1,1 +gfx1250,256,1024,3584,384,896,16,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,32,128,256,32,256,128,2,2,1,2,2,2,1,1,0,-1,-1,-1,-1,,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,174.5391,0,0,1,1 +gfx1250,256,2048,3584,384,896,16,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,64,256,128,64,128,128,2,4,1,2,3,3,1,1,0,-1,-1,-1,-1,,,0,1,0,1,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,221.3278,0,0,1,1 +gfx1250,256,4096,3584,384,896,16,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,64,256,128,64,256,128,2,4,1,4,3,3,1,1,0,-1,-1,-1,-1,,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,354.3946,0,0,1,1 +gfx1250,256,8192,3584,384,896,16,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,64,256,128,64,256,128,2,4,1,4,3,3,1,1,0,-1,-1,-1,-1,,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,576.6258,0,0,1,1 +gfx1250,256,16384,3584,384,896,16,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,256,256,128,128,512,1,4,1,2,3,3,1,1,0,-1,-1,-1,-1,,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,963.5116,0,0,1,1 diff --git a/aiter/ops/flydsl/grouped_gemm_mxfp4.py b/aiter/ops/flydsl/grouped_gemm_mxfp4.py index 52e73c9c3ad..c04cd8c1759 100644 --- a/aiter/ops/flydsl/grouped_gemm_mxfp4.py +++ b/aiter/ops/flydsl/grouped_gemm_mxfp4.py @@ -186,7 +186,7 @@ def flydsl_grouped_gemm_a8w4_masked( if float(situ_linear_beta) <= 0.0: raise ValueError(f"situ_linear_beta must be > 0, got {situ_linear_beta!r}") k_tiles = (K + tile_k - 1) // tile_k - k_waves = int(k_waves) + k_waves = max(1, int(k_waves)) if k_waves > 1 and (k_tiles % k_waves or K % tile_k or stage2_scatter is not None): k_waves = 1 num_buffers = min(num_buffers, max(1, k_tiles // k_waves)) diff --git a/aiter/ops/flydsl/grouped_moe_gfx1250.py b/aiter/ops/flydsl/grouped_moe_gfx1250.py index 106095a18c1..6fd6139121a 100644 --- a/aiter/ops/flydsl/grouped_moe_gfx1250.py +++ b/aiter/ops/flydsl/grouped_moe_gfx1250.py @@ -1817,8 +1817,10 @@ def _fmt(v): cfg_row.get("lds_soa_load_interleave"), 0 ) _tdm_kw["rolled_drain"] = _as_int(cfg_row.get("rolled_drain"), 0) - _tdm_kw["k_waves1"] = _as_int(cfg_row.get("k_waves1"), 1) - _tdm_kw["k_waves2"] = _as_int(cfg_row.get("k_waves2"), 1) + # The model_configs/ merge fills a column an older table lacks + # (e.g. kimik3tp8) with 0, so a k_waves below 1 means unset. + _tdm_kw["k_waves1"] = max(1, _as_int(cfg_row.get("k_waves1"), 1)) + _tdm_kw["k_waves2"] = max(1, _as_int(cfg_row.get("k_waves2"), 1)) # Follow the matched CSV bucket, including padded token counts # (for example, 6144 -> 8192), just like the other kernel knobs. _tdm_kw["a_preshuffle"] = _as_int(cfg_row.get("a_preshuffle"), 0) diff --git a/op_tests/flydsl_tests/test_flydsl_grouped_gemm.py b/op_tests/flydsl_tests/test_flydsl_grouped_gemm.py index ae55acf60ce..253e1d2da03 100644 --- a/op_tests/flydsl_tests/test_flydsl_grouped_gemm.py +++ b/op_tests/flydsl_tests/test_flydsl_grouped_gemm.py @@ -1605,13 +1605,12 @@ def main() -> None: run_csv_scenario(args) return - # The >=512 floor is a FlyDSL grouped-kernel constraint (tile_k=256 needs two - # K tiles). - if args.model_dim < 512 or args.inter_dim < 512: + # The >=256 floor is a FlyDSL grouped-kernel constraint (two K tiles at + # tile_k=128; e.g. Kimi-K3 TP8 runs inter_dim=384). + if args.model_dim < 256 or args.inter_dim < 256: raise SystemExit( f"model_dim ({args.model_dim}) and inter_dim ({args.inter_dim}) must be " - "at least 512 for the grouped GEMM kernels (tile_k=256 requires at " - "least two K tiles)." + "at least 256 for the grouped GEMM kernels (two K tiles at tile_k=128)." ) set_data_format(args.data_format) From 3c93c79a664e2f919aa5e5174f0ecfbfc5a167e5 Mon Sep 17 00:00:00 2001 From: BinDing Date: Wed, 4 Nov 2026 07:29:23 +0000 Subject: [PATCH 6/8] update code --- .../kimik3tp8_tuned_grouped_fmoe.csv | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/aiter/configs/model_configs/kimik3tp8_tuned_grouped_fmoe.csv b/aiter/configs/model_configs/kimik3tp8_tuned_grouped_fmoe.csv index 758aa628b18..4f3fa46d31d 100644 --- a/aiter/configs/model_configs/kimik3tp8_tuned_grouped_fmoe.csv +++ b/aiter/configs/model_configs/kimik3tp8_tuned_grouped_fmoe.csv @@ -1,14 +1,14 @@ gfx,cu_num,token,model_dim,inter_dim,expert,topk,act_type,dtype,q_dtype_a,q_dtype_w,ep_fused,q_type,use_g1u1,doweight_stage1,tile_m,tile_n,tile_k,tile_m2,tile_n2,tile_k2,m_warp,n_warp,m_warp2,n_warp2,num_buffers,num_buffer_stage2,split_k1,split_k2,tdm_as_in_prologue,cluster_m,cluster_n,cluster_m2,cluster_n2,waves_per_tensor_tdm,waves_per_tensor_tdm2,next_stage_prefetch,tdm_b_th,lds_soa_load_interleave,rolled_drain,persistent_workers,persistent_workers2,a_preshuffle,kernelName1,kernelName2,us,tflops,bw,k_waves1,k_waves2 -gfx1250,256,1,3584,384,896,16,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,128,256,16,256,128,1,2,1,8,3,3,1,1,0,-1,-1,-1,-1,,,0,0,1,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,7.0168,0,0,2,1 +gfx1250,256,1,3584,384,896,16,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,64,128,16,64,128,1,1,1,1,4,3,1,1,0,-1,-1,,,1,1,0,3,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,6.3065,0,0,7,1 gfx1250,256,2,3584,384,896,16,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,128,512,16,512,128,1,2,1,4,4,2,1,1,0,-1,-1,-1,-1,,,0,1,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,21.2357,0,0,1,1 gfx1250,256,4,3584,384,896,16,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,128,512,16,256,128,1,2,1,4,3,2,1,1,0,-1,-1,-1,-1,,,0,1,0,1,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,25.5425,0,0,1,1 -gfx1250,256,8,3584,384,896,16,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,32,128,512,32,256,128,1,2,1,4,2,2,1,1,0,-1,-1,-1,-1,,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,14.6269,0,0,1,1 -gfx1250,256,16,3584,384,896,16,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,128,128,16,128,128,1,2,1,2,4,2,1,1,0,-1,-1,-1,-1,,,0,1,0,1,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,30.6662,0,0,1,1 -gfx1250,256,32,3584,384,896,16,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,128,256,16,128,128,1,2,1,2,3,2,1,1,0,-1,-1,-1,-1,,,0,1,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,71.84,0,0,1,1 -gfx1250,256,64,3584,384,896,16,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,384,128,16,256,128,1,2,1,2,2,2,1,1,0,-1,-1,-1,-1,,,0,1,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,83.4872,0,0,1,1 -gfx1250,256,128,3584,384,896,16,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,128,256,16,128,128,1,2,1,2,2,2,1,1,0,-1,-1,-1,-1,,,0,1,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,133.0114,0,0,1,1 -gfx1250,256,256,3584,384,896,16,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,256,128,16,128,128,1,2,1,2,2,2,1,1,0,-1,-1,-1,-1,,,0,1,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,119.5659,0,0,1,1 -gfx1250,256,512,3584,384,896,16,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,32,256,128,32,256,128,1,2,1,2,2,2,1,1,0,-1,-1,-1,-1,,,0,1,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,128.0673,0,0,1,1 +gfx1250,256,8,3584,384,896,16,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,64,512,16,64,128,1,1,1,1,2,2,1,1,0,-1,-1,,,1,1,0,2,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,13.1693,0,0,1,1 +gfx1250,256,16,3584,384,896,16,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,384,128,16,128,128,1,2,1,1,4,2,1,1,0,-1,-1,,,2,1,0,4,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,28.6514,0,0,2,1 +gfx1250,256,32,3584,384,896,16,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,128,128,16,64,128,1,1,1,1,2,3,1,1,0,-1,-1,,,1,1,0,4,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,51.4909,0,0,1,1 +gfx1250,256,64,3584,384,896,16,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,384,128,16,64,128,1,2,1,1,2,3,1,1,0,-1,-1,,,-1,1,0,1,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,77.3317,0,0,1,1 +gfx1250,256,128,3584,384,896,16,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,128,128,16,128,128,1,2,1,1,3,2,1,1,0,-1,-1,,,2,1,0,1,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,106.815,0,0,2,1 +gfx1250,256,256,3584,384,896,16,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,256,128,16,128,128,1,2,1,1,2,2,1,1,0,-1,-1,,,-1,1,0,4,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,122.2313,0,0,1,1 +gfx1250,256,512,3584,384,896,16,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,128,128,16,128,128,1,1,1,1,2,2,1,1,0,-1,-1,,,1,1,0,6,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,126.2082,0,0,1,1 gfx1250,256,1024,3584,384,896,16,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,32,128,256,32,256,128,2,2,1,2,2,2,1,1,0,-1,-1,-1,-1,,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,174.5391,0,0,1,1 gfx1250,256,2048,3584,384,896,16,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,64,256,128,64,128,128,2,4,1,2,3,3,1,1,0,-1,-1,-1,-1,,,0,1,0,1,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,221.3278,0,0,1,1 gfx1250,256,4096,3584,384,896,16,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,64,256,128,64,256,128,2,4,1,4,3,3,1,1,0,-1,-1,-1,-1,,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,354.3946,0,0,1,1 From 110aad325a2f77e724001beeef6dbc2a770f7447 Mon Sep 17 00:00:00 2001 From: BinDing Date: Wed, 4 Nov 2026 13:14:40 +0000 Subject: [PATCH 7/8] update config --- aiter/configs/model_configs/dsv41_tuned_grouped_fmoe.csv | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/aiter/configs/model_configs/dsv41_tuned_grouped_fmoe.csv b/aiter/configs/model_configs/dsv41_tuned_grouped_fmoe.csv index 5ed41363b00..6357425a229 100644 --- a/aiter/configs/model_configs/dsv41_tuned_grouped_fmoe.csv +++ b/aiter/configs/model_configs/dsv41_tuned_grouped_fmoe.csv @@ -94,8 +94,8 @@ gfx1250,256,512,5120,2304,384,6,ActivationType.Silu,torch.bfloat16,torch.float8_ gfx1250,256,1024,5120,2304,384,6,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,32,512,256,32,512,128,1,4,1,4,3,3,,,0,-1,-1,,,-1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,491.8166,0,0,, gfx1250,256,2048,5120,2304,384,6,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,64,512,128,64,512,128,1,4,1,4,3,3,,,0,-1,-1,,,-1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,538.5656,0,0,, gfx1250,256,4096,5120,2304,384,6,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,256,256,128,256,128,2,2,2,2,2,4,,,0,-1,-1,,,-1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,684.2151,0,0,, -gfx1250,256,8192,5120,2304,384,6,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,512,256,128,256,256,1,4,2,2,3,2,,,0,-1,-1,,,-1,,1,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,1112.9487,0,0,, -gfx1250,256,16384,5120,2304,384,6,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,512,256,128,256,128,2,4,1,4,3,3,,,0,1,4,,,2,,1,0,1,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,1774.7636,0,0,, +gfx1250,256,8192,5120,2304,384,6,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,512,256,128,512,256,1,4,1,4,3,3,,,0,-1,-1,,,-1,,1,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,1089.3,0,0,, +gfx1250,256,16384,5120,2304,384,6,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,512,256,128,512,256,2,4,1,4,3,3,,,0,1,4,,,2,,1,0,1,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,1857.7,0,0,, gfx1250,256,32768,5120,2304,384,6,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,256,256,128,256,256,128,2,2,2,2,4,3,,,0,2,2,2,2,2,2,1,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,2704.0969,0,0,, gfx1250,256,1,5120,576,384,6,ActivationType.Silu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,64,256,16,128,128,1,1,1,2,2,2,,,0,-1,-1,,,1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,7.1019,0,0,4, gfx1250,256,8,5120,576,384,6,ActivationType.Silu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,128,512,16,64,128,1,2,1,1,4,3,,,0,-1,-1,,,-1,1,1,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,11.7210,0,0,, From 76176f958e20415d9afaf07409604043ab04d7c2 Mon Sep 17 00:00:00 2001 From: BinDing Date: Wed, 4 Nov 2026 13:51:08 +0000 Subject: [PATCH 8/8] resolve reviewer comments --- .../dsv41_tuned_grouped_fmoe.csv | 248 +++++++++--------- .../kimik3_gfx1250_tuned_grouped_fmoe.csv | 154 +++++------ .../kimik3tp8_tuned_grouped_fmoe.csv | 32 +-- .../minimax_m3_gfx1250_tuned_grouped_fmoe.csv | 116 ++++---- aiter/configs/tuned_grouped_fmoe.csv | 2 +- aiter/ops/flydsl/grouped_gemm_mxfp4.py | 31 ++- aiter/ops/flydsl/grouped_moe_gfx1250.py | 55 +++- .../kernels/mxfp4_preshuffle_gfx1250_tdm.py | 8 + 8 files changed, 349 insertions(+), 297 deletions(-) diff --git a/aiter/configs/model_configs/dsv41_tuned_grouped_fmoe.csv b/aiter/configs/model_configs/dsv41_tuned_grouped_fmoe.csv index 6357425a229..2b2839ba8b7 100644 --- a/aiter/configs/model_configs/dsv41_tuned_grouped_fmoe.csv +++ b/aiter/configs/model_configs/dsv41_tuned_grouped_fmoe.csv @@ -1,124 +1,124 @@ -gfx,cu_num,token,model_dim,inter_dim,expert,topk,act_type,dtype,q_dtype_a,q_dtype_w,ep_fused,q_type,use_g1u1,doweight_stage1,tile_m,tile_n,tile_k,tile_m2,tile_n2,tile_k2,m_warp,n_warp,m_warp2,n_warp2,num_buffers,num_buffer_stage2,split_k1,split_k2,tdm_as_in_prologue,cluster_m,cluster_n,cluster_m2,cluster_n2,waves_per_tensor_tdm,waves_per_tensor_tdm2,next_stage_prefetch,tdm_b_th,lds_soa_load_interleave,rolled_drain,persistent_workers,persistent_workers2,a_preshuffle,kernelName1,kernelName2,us,tflops,bw,k_waves1,k_waves2 -gfx1250,256,4,5120,2304,96,-1,ActivationType.Silu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,256,512,16,256,256,1,4,1,4,4,4,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,17.8447,0,0,, -gfx1250,256,8,5120,2304,96,-1,ActivationType.Silu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,256,256,16,256,256,1,4,1,4,3,3,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,23.8599,0,0,, -gfx1250,256,16,5120,2304,96,-1,ActivationType.Silu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,256,256,16,256,256,1,4,1,4,2,2,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,34.6749,0,0,, -gfx1250,256,32,5120,2304,96,-1,ActivationType.Silu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,512,256,16,512,256,1,4,1,4,2,2,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,51.4823,0,0,, -gfx1250,256,64,5120,2304,96,-1,ActivationType.Silu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,256,128,16,512,128,1,4,1,4,2,2,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,78.1030,0,0,, -gfx1250,256,128,5120,2304,96,-1,ActivationType.Silu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,256,256,16,512,128,1,4,1,4,2,2,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,100.1470,0,0,, -gfx1250,256,256,5120,2304,96,-1,ActivationType.Silu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,256,256,16,512,128,1,4,1,4,2,2,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,107.6273,0,0,, -gfx1250,256,512,5120,2304,96,-1,ActivationType.Silu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,256,256,16,512,128,1,4,1,4,2,2,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,111.0942,0,0,, -gfx1250,256,1024,5120,2304,96,-1,ActivationType.Silu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,32,256,128,32,512,128,1,4,1,4,2,2,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,115.7514,0,0,, -gfx1250,256,2048,5120,2304,96,-1,ActivationType.Silu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,64,256,128,64,256,256,1,4,1,4,3,3,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,128.0199,0,0,, -gfx1250,256,4096,5120,2304,96,-1,ActivationType.Silu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,256,256,128,256,256,1,4,1,4,3,2,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,164.9989,0,0,, -gfx1250,256,8192,5120,2304,96,-1,ActivationType.Silu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,256,256,128,256,256,1,4,1,4,3,3,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,232.1740,0,0,, -gfx1250,256,16384,5120,2304,96,-1,ActivationType.Silu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,256,256,128,256,256,1,4,1,4,3,3,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,363.8510,0,0,, -gfx1250,256,32768,5120,2304,96,-1,ActivationType.Silu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,256,256,128,256,256,1,4,1,4,3,3,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,637.2760,0,0,, -gfx1250,256,2,5120,2304,192,-1,ActivationType.Silu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,256,512,16,256,256,1,4,1,4,4,4,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,17.6104,0,0,, -gfx1250,256,4,5120,2304,192,-1,ActivationType.Silu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,256,256,16,256,256,1,4,1,4,3,4,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,25.0717,0,0,, -gfx1250,256,8,5120,2304,192,-1,ActivationType.Silu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,256,128,16,256,128,1,4,1,4,3,3,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,35.8817,0,0,, -gfx1250,256,16,5120,2304,192,-1,ActivationType.Silu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,512,256,16,512,256,1,4,1,4,2,2,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,56.1558,0,0,, -gfx1250,256,32,5120,2304,192,-1,ActivationType.Silu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,256,256,16,256,256,1,4,1,4,4,4,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,93.1875,0,0,, -gfx1250,256,64,5120,2304,192,-1,ActivationType.Silu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,256,256,16,256,256,1,4,1,4,3,3,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,139.3848,0,0,, -gfx1250,256,128,5120,2304,192,-1,ActivationType.Silu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,256,128,16,256,128,1,4,1,4,3,3,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,185.8187,0,0,, -gfx1250,256,256,5120,2304,192,-1,ActivationType.Silu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,256,128,16,512,128,1,4,1,4,4,2,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,205.0044,0,0,, -gfx1250,256,512,5120,2304,192,-1,ActivationType.Silu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,32,256,128,32,256,128,1,4,1,4,3,3,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,213.4411,0,0,, -gfx1250,256,1024,5120,2304,192,-1,ActivationType.Silu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,32,256,128,32,256,128,1,4,1,4,3,3,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,221.5299,0,0,, -gfx1250,256,2048,5120,2304,192,-1,ActivationType.Silu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,64,512,256,64,512,256,1,4,1,4,2,2,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,242.4103,0,0,, -gfx1250,256,4096,5120,2304,192,-1,ActivationType.Silu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,256,256,128,256,256,1,4,1,4,3,3,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,299.7510,0,0,, -gfx1250,256,8192,5120,2304,192,-1,ActivationType.Silu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,256,256,128,256,256,1,4,1,4,3,3,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,404.7020,0,0,, -gfx1250,256,16384,5120,2304,192,-1,ActivationType.Silu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,256,256,128,256,256,1,4,1,4,3,3,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,662.3050,0,0,, -gfx1250,256,32768,5120,2304,192,-1,ActivationType.Silu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,256,256,128,256,256,1,4,1,4,3,3,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,1162.8700,0,0,, -gfx1250,256,4,5120,2304,96,-1,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,256,512,16,256,256,1,4,1,4,4,4,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,17.6897,0,0,, -gfx1250,256,8,5120,2304,96,-1,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,256,256,16,256,256,1,4,1,4,3,3,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,23.9570,0,0,, -gfx1250,256,16,5120,2304,96,-1,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,256,256,16,256,256,1,4,1,4,2,2,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,34.9665,0,0,, -gfx1250,256,32,5120,2304,96,-1,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,512,256,16,512,256,1,4,1,4,2,2,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,51.8907,0,0,, -gfx1250,256,64,5120,2304,96,-1,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,256,128,16,512,128,1,4,1,4,2,2,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,79.0195,0,0,, -gfx1250,256,128,5120,2304,96,-1,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,256,256,16,512,128,1,4,1,4,2,2,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,99.6611,0,0,, -gfx1250,256,256,5120,2304,96,-1,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,256,256,16,512,128,1,4,1,4,2,2,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,109.9928,0,0,, -gfx1250,256,512,5120,2304,96,-1,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,512,128,16,512,128,1,4,1,4,2,2,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,113.5864,0,0,, -gfx1250,256,1024,5120,2304,96,-1,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,32,512,128,32,512,128,1,4,1,4,3,2,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,119.7794,0,0,, -gfx1250,256,2048,5120,2304,96,-1,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,64,512,128,64,256,256,1,4,1,4,2,3,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,139.6563,0,0,, -gfx1250,256,4096,5120,2304,96,-1,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,256,256,128,256,256,1,4,1,4,2,2,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,193.5941,0,0,, -gfx1250,256,8192,5120,2304,96,-1,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,256,256,128,256,256,1,4,1,4,2,2,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,281.9570,0,0,, -gfx1250,256,16384,5120,2304,96,-1,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,512,256,128,256,256,2,4,1,4,3,2,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,447.9350,0,0,, -gfx1250,256,32768,5120,2304,96,-1,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,512,256,128,256,256,2,4,1,4,3,2,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,783.6610,0,0,, -gfx1250,256,2,5120,2304,192,-1,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,256,512,16,256,256,1,4,1,4,4,4,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,18.0710,0,0,, -gfx1250,256,4,5120,2304,192,-1,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,256,256,16,256,256,1,4,1,4,3,3,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,24.6131,0,0,, -gfx1250,256,8,5120,2304,192,-1,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,256,256,16,256,128,1,4,1,4,2,3,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,35.5872,0,0,, -gfx1250,256,16,5120,2304,192,-1,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,512,128,16,512,256,1,4,1,4,3,2,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,56.3245,0,0,, -gfx1250,256,32,5120,2304,192,-1,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,512,128,16,256,256,1,4,1,4,2,4,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,94.1773,0,0,, -gfx1250,256,64,5120,2304,192,-1,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,256,256,16,256,256,1,4,1,4,4,3,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,139.9418,0,0,, -gfx1250,256,128,5120,2304,192,-1,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,256,128,16,256,128,1,4,1,4,4,4,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,188.5428,0,0,, -gfx1250,256,256,5120,2304,192,-1,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,256,128,16,256,128,1,4,1,4,3,3,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,208.6789,0,0,, -gfx1250,256,512,5120,2304,192,-1,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,512,128,16,512,128,1,4,1,4,2,2,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,218.4323,0,0,, -gfx1250,256,1024,5120,2304,192,-1,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,32,512,256,32,512,128,1,4,1,4,2,2,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,226.3855,0,0,, -gfx1250,256,2048,5120,2304,192,-1,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,64,256,128,64,256,128,1,4,1,4,3,3,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,270.9410,0,0,, -gfx1250,256,4096,5120,2304,192,-1,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,64,512,128,64,512,128,1,4,1,4,3,3,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,355.7130,0,0,, -gfx1250,256,8192,5120,2304,192,-1,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,512,256,128,512,256,2,4,2,4,3,3,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,511.2220,0,0,, -gfx1250,256,16384,5120,2304,192,-1,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,512,256,128,512,256,2,4,2,4,3,3,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,848.5710,0,0,, -gfx1250,256,32768,5120,2304,192,-1,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,512,256,128,256,256,2,4,1,4,3,2,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,1509.3000,0,0,, -gfx1250,256,8,5120,2304,48,-1,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,256,512,16,256,256,1,4,1,4,4,4,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,18.1623,0,0,, -gfx1250,256,16,5120,2304,48,-1,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,256,256,16,256,256,1,4,1,4,3,3,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,24.1182,0,0,, -gfx1250,256,32,5120,2304,48,-1,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,512,256,16,256,256,1,4,1,4,4,3,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,30.2331,0,0,, -gfx1250,256,64,5120,2304,48,-1,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,256,128,16,256,128,1,4,1,4,3,3,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,45.1854,0,0,, -gfx1250,256,128,5120,2304,48,-1,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,512,128,16,512,256,1,4,1,4,4,2,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,53.7926,0,0,, -gfx1250,256,256,5120,2304,48,-1,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,512,128,16,512,256,1,4,1,4,3,2,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,57.0785,0,0,, -gfx1250,256,512,5120,2304,48,-1,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,512,128,16,512,256,1,4,1,4,4,2,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,59.8875,0,0,, -gfx1250,256,1024,5120,2304,48,-1,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,32,512,128,32,512,256,1,4,1,4,3,2,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,63.8236,0,0,, -gfx1250,256,2048,5120,2304,48,-1,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,64,512,128,64,256,256,1,4,1,4,3,3,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,71.6708,0,0,, -gfx1250,256,4096,5120,2304,48,-1,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,512,256,128,256,256,1,4,1,4,3,2,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,102.9289,0,0,, -gfx1250,256,8192,5120,2304,48,-1,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,256,256,128,256,256,1,4,1,4,2,2,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,156.2070,0,0,, -gfx1250,256,16384,5120,2304,48,-1,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,512,256,128,256,256,2,4,1,4,3,2,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,238.3880,0,0,, -gfx1250,256,32768,5120,2304,48,-1,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,512,256,128,256,256,1,4,1,4,3,2,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,398.8590,0,0,, -gfx1250,256,1,5120,2304,384,6,ActivationType.Silu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,64,512,16,128,128,1,1,1,2,2,2,,,0,-1,-1,,,1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,8.8037,0,0,2,3 -gfx1250,256,8,5120,2304,384,6,ActivationType.Silu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,512,512,16,256,256,1,4,1,2,2,3,,,0,-1,-1,,,-1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,61.5840,0,0,, -gfx1250,256,16,5120,2304,384,6,ActivationType.Silu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,128,128,16,128,128,1,2,1,2,4,3,,,0,-1,-1,,,-1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,108.0769,0,0,, -gfx1250,256,64,5120,2304,384,6,ActivationType.Silu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,384,128,16,256,512,1,2,1,2,4,2,,,0,-1,-1,,,-1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,289.1468,0,0,, -gfx1250,256,128,5120,2304,384,6,ActivationType.Silu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,256,512,16,128,512,1,2,1,2,3,3,,,0,-1,-1,,,-1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,399.1987,0,0,, -gfx1250,256,256,5120,2304,384,6,ActivationType.Silu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,384,128,16,512,512,1,2,1,4,3,2,,,0,-1,-1,,,-1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,449.1041,0,0,, -gfx1250,256,512,5120,2304,384,6,ActivationType.Silu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,256,256,16,256,512,1,4,1,2,3,2,,,0,-1,-1,,,-1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,458.3507,0,0,, -gfx1250,256,1024,5120,2304,384,6,ActivationType.Silu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,32,384,128,32,256,256,1,2,1,4,4,4,,,0,-1,-1,,,-1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,471.8984,0,0,, -gfx1250,256,2048,5120,2304,384,6,ActivationType.Silu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,64,512,256,64,512,128,1,4,1,4,4,2,,,0,-1,-1,,,-1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,503.7990,0,0,, -gfx1250,256,4096,5120,2304,384,6,ActivationType.Silu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,512,256,128,512,128,1,4,1,4,3,3,,,0,-1,-1,,,-1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,602.8378,0,0,, -gfx1250,256,8192,5120,2304,384,6,ActivationType.Silu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,512,256,128,256,256,1,4,1,4,3,3,,,0,-1,-1,,,-1,,0,0,0,0,0,0,1,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,771.7022,0,0,, -gfx1250,256,16384,5120,2304,384,6,ActivationType.Silu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,256,256,256,256,256,256,2,2,2,2,4,4,,,0,1,4,1,4,1,1,1,0,1,0,0,0,1,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,1190.0373,0,0,, -gfx1250,256,32768,5120,2304,384,6,ActivationType.Silu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,256,256,256,256,256,256,2,2,2,2,4,4,,,0,1,4,1,4,1,1,1,0,1,0,0,0,1,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,1967.6713,0,0,, -gfx1250,256,1,5120,2304,384,6,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,64,512,16,128,256,1,1,1,2,2,2,,,0,-1,-1,,,1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,8.6879,0,0,2,3 -gfx1250,256,8,5120,2304,384,6,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,512,256,16,128,256,1,4,1,2,3,3,,,0,-1,-1,,,-1,,1,1,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,55.7633,0,0,, -gfx1250,256,16,5120,2304,384,6,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,128,128,16,256,256,1,2,1,2,3,2,,,0,-1,-1,,,-1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,109.9071,0,0,, -gfx1250,256,32,5120,2304,384,6,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,64,1024,16,64,256,1,1,1,1,2,3,,,0,-1,-1,,,1,1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,189.5117,0,0,1, -gfx1250,256,64,5120,2304,384,6,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,384,128,16,256,128,1,2,1,2,3,3,,,0,-1,-1,,,-1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,291.7681,0,0,, -gfx1250,256,128,5120,2304,384,6,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,512,512,16,128,256,1,4,1,2,2,3,,,0,-1,-1,,,-1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,393.1344,0,0,, -gfx1250,256,256,5120,2304,384,6,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,384,128,16,512,512,1,2,1,8,4,2,,,0,-1,-1,,,-1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,457.1645,0,0,, -gfx1250,256,512,5120,2304,384,6,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,256,256,16,256,512,1,2,1,2,4,2,,,0,-1,-1,,,-1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,468.4928,0,0,, -gfx1250,256,1024,5120,2304,384,6,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,32,512,256,32,512,128,1,4,1,4,3,3,,,0,-1,-1,,,-1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,491.8166,0,0,, -gfx1250,256,2048,5120,2304,384,6,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,64,512,128,64,512,128,1,4,1,4,3,3,,,0,-1,-1,,,-1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,538.5656,0,0,, -gfx1250,256,4096,5120,2304,384,6,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,256,256,128,256,128,2,2,2,2,2,4,,,0,-1,-1,,,-1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,684.2151,0,0,, -gfx1250,256,8192,5120,2304,384,6,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,512,256,128,512,256,1,4,1,4,3,3,,,0,-1,-1,,,-1,,1,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,1089.3,0,0,, -gfx1250,256,16384,5120,2304,384,6,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,512,256,128,512,256,2,4,1,4,3,3,,,0,1,4,,,2,,1,0,1,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,1857.7,0,0,, -gfx1250,256,32768,5120,2304,384,6,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,256,256,128,256,256,128,2,2,2,2,4,3,,,0,2,2,2,2,2,2,1,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,2704.0969,0,0,, -gfx1250,256,1,5120,576,384,6,ActivationType.Silu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,64,256,16,128,128,1,1,1,2,2,2,,,0,-1,-1,,,1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,7.1019,0,0,4, -gfx1250,256,8,5120,576,384,6,ActivationType.Silu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,128,512,16,64,128,1,2,1,1,4,3,,,0,-1,-1,,,-1,1,1,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,11.7210,0,0,, -gfx1250,256,16,5120,576,384,6,ActivationType.Silu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,384,128,16,64,128,1,2,1,1,3,2,,,0,-1,-1,,,-1,1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,27.7585,0,0,, -gfx1250,256,32,5120,576,384,6,ActivationType.Silu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,64,512,16,64,128,1,1,1,1,3,2,,,0,-1,-1,,,1,1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,48.7471,0,0,1, -gfx1250,256,64,5120,576,384,6,ActivationType.Silu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,128,256,16,128,128,1,2,1,2,3,3,,,0,-1,-1,,,-1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,79.7599,0,0,, -gfx1250,256,128,5120,576,384,6,ActivationType.Silu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,128,512,16,128,128,1,2,1,2,4,3,,,0,-1,-1,,,-1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,105.8920,0,0,, -gfx1250,256,256,5120,576,384,6,ActivationType.Silu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,128,512,16,512,128,1,2,1,8,4,2,,,0,-1,-1,,,-1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,121.7150,0,0,, -gfx1250,256,512,5120,576,384,6,ActivationType.Silu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,128,512,16,512,128,1,2,1,8,4,2,,,0,-1,-1,,,-1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,125.2232,0,0,, -gfx1250,256,1024,5120,576,384,6,ActivationType.Silu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,32,128,256,32,128,128,1,2,1,2,2,3,,,0,-1,-1,,,-1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,134.7501,0,0,, -gfx1250,256,8192,5120,576,384,6,ActivationType.Silu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,128,256,128,128,256,1,2,1,2,2,2,,,0,-1,-1,,,-1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,288.1954,0,0,, -gfx1250,256,16384,5120,576,384,6,ActivationType.Silu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,384,256,128,256,256,2,2,2,2,4,4,,,0,-1,-1,-1,-1,-1,-1,1,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,428.5814,0,0,, -gfx1250,256,32768,5120,576,384,6,ActivationType.Silu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,384,256,128,256,256,2,2,2,2,4,4,,,0,-1,-1,-1,-1,-1,-1,1,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,729.0402,0,0,, -gfx1250,256,1,5120,576,384,6,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,64,256,16,128,128,1,1,1,2,2,2,,,0,-1,-1,,,1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,7.0833,0,0,4, -gfx1250,256,8,5120,576,384,6,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,64,512,16,512,128,1,1,1,4,3,4,,,0,-1,-1,,4,1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,11.5417,0,0,1, -gfx1250,256,16,5120,576,384,6,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,384,128,16,64,128,1,2,1,1,3,3,,,0,-1,-1,,,-1,1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,28.6250,0,0,, -gfx1250,256,32,5120,576,384,6,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,64,1024,16,64,128,1,1,1,1,2,2,,,0,-1,-1,,,1,1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,51.4501,0,0,1, -gfx1250,256,64,5120,576,384,6,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,384,128,16,128,128,1,2,1,2,3,3,,,0,-1,-1,,,-1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,78.3361,0,0,, -gfx1250,256,128,5120,576,384,6,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,128,256,16,128,128,1,2,1,2,3,3,,,0,-1,-1,,,-1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,104.9947,0,0,, -gfx1250,256,256,5120,576,384,6,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,384,128,16,256,128,1,2,1,4,3,3,,,0,-1,-1,,,-1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,124.6401,0,0,, -gfx1250,256,512,5120,576,384,6,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,128,256,16,512,128,1,2,1,8,2,2,,,0,-1,-1,,,-1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,124.1254,0,0,, -gfx1250,256,1024,5120,576,384,6,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,32,128,256,32,256,128,1,2,1,4,3,3,,,0,-1,-1,,,-1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,141.8739,0,0,, -gfx1250,256,4096,5120,576,384,6,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,64,384,256,64,256,128,1,2,1,4,2,3,,,0,-1,-1,,,-1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,215.4001,0,0,, -gfx1250,256,8192,5120,576,384,6,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,128,256,128,256,128,1,2,2,2,2,3,,,0,-1,-1,,,1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,337.4960,0,0,, -gfx1250,256,16384,5120,576,384,6,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,256,384,128,256,256,256,2,2,2,2,3,3,,,0,-1,-1,1,4,-1,1,1,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,563.3912,0,0,, -gfx1250,256,32768,5120,576,384,6,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,384,128,128,256,128,1,2,2,2,3,4,,,0,-1,-1,-1,-1,-1,-1,1,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,920.4351,0,0,, +gfx,cu_num,token,model_dim,inter_dim,expert,topk,act_type,dtype,q_dtype_a,q_dtype_w,ep_fused,q_type,use_g1u1,doweight_stage1,tile_m,tile_n,tile_k,tile_m2,tile_n2,tile_k2,m_warp,n_warp,m_warp2,n_warp2,num_buffers,num_buffer_stage2,split_k1,split_k2,tdm_as_in_prologue,cluster_m,cluster_n,cluster_m2,cluster_n2,waves_per_tensor_tdm,waves_per_tensor_tdm2,next_stage_prefetch,tdm_b_th,lds_soa_load_interleave,rolled_drain,persistent_workers,persistent_workers2,a_preshuffle,kernelName1,kernelName2,us,tflops,bw +gfx1250,256,4,5120,2304,96,-1,ActivationType.Silu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,256,512,16,256,256,1,4,1,4,4,4,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,17.8447,0,0 +gfx1250,256,8,5120,2304,96,-1,ActivationType.Silu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,256,256,16,256,256,1,4,1,4,3,3,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,23.8599,0,0 +gfx1250,256,16,5120,2304,96,-1,ActivationType.Silu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,256,256,16,256,256,1,4,1,4,2,2,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,34.6749,0,0 +gfx1250,256,32,5120,2304,96,-1,ActivationType.Silu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,512,256,16,512,256,1,4,1,4,2,2,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,51.4823,0,0 +gfx1250,256,64,5120,2304,96,-1,ActivationType.Silu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,256,128,16,512,128,1,4,1,4,2,2,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,78.1030,0,0 +gfx1250,256,128,5120,2304,96,-1,ActivationType.Silu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,256,256,16,512,128,1,4,1,4,2,2,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,100.1470,0,0 +gfx1250,256,256,5120,2304,96,-1,ActivationType.Silu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,256,256,16,512,128,1,4,1,4,2,2,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,107.6273,0,0 +gfx1250,256,512,5120,2304,96,-1,ActivationType.Silu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,256,256,16,512,128,1,4,1,4,2,2,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,111.0942,0,0 +gfx1250,256,1024,5120,2304,96,-1,ActivationType.Silu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,32,256,128,32,512,128,1,4,1,4,2,2,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,115.7514,0,0 +gfx1250,256,2048,5120,2304,96,-1,ActivationType.Silu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,64,256,128,64,256,256,1,4,1,4,3,3,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,128.0199,0,0 +gfx1250,256,4096,5120,2304,96,-1,ActivationType.Silu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,256,256,128,256,256,1,4,1,4,3,2,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,164.9989,0,0 +gfx1250,256,8192,5120,2304,96,-1,ActivationType.Silu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,256,256,128,256,256,1,4,1,4,3,3,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,232.1740,0,0 +gfx1250,256,16384,5120,2304,96,-1,ActivationType.Silu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,256,256,128,256,256,1,4,1,4,3,3,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,363.8510,0,0 +gfx1250,256,32768,5120,2304,96,-1,ActivationType.Silu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,256,256,128,256,256,1,4,1,4,3,3,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,637.2760,0,0 +gfx1250,256,2,5120,2304,192,-1,ActivationType.Silu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,256,512,16,256,256,1,4,1,4,4,4,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,17.6104,0,0 +gfx1250,256,4,5120,2304,192,-1,ActivationType.Silu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,256,256,16,256,256,1,4,1,4,3,4,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,25.0717,0,0 +gfx1250,256,8,5120,2304,192,-1,ActivationType.Silu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,256,128,16,256,128,1,4,1,4,3,3,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,35.8817,0,0 +gfx1250,256,16,5120,2304,192,-1,ActivationType.Silu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,512,256,16,512,256,1,4,1,4,2,2,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,56.1558,0,0 +gfx1250,256,32,5120,2304,192,-1,ActivationType.Silu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,256,256,16,256,256,1,4,1,4,4,4,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,93.1875,0,0 +gfx1250,256,64,5120,2304,192,-1,ActivationType.Silu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,256,256,16,256,256,1,4,1,4,3,3,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,139.3848,0,0 +gfx1250,256,128,5120,2304,192,-1,ActivationType.Silu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,256,128,16,256,128,1,4,1,4,3,3,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,185.8187,0,0 +gfx1250,256,256,5120,2304,192,-1,ActivationType.Silu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,256,128,16,512,128,1,4,1,4,4,2,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,205.0044,0,0 +gfx1250,256,512,5120,2304,192,-1,ActivationType.Silu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,32,256,128,32,256,128,1,4,1,4,3,3,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,213.4411,0,0 +gfx1250,256,1024,5120,2304,192,-1,ActivationType.Silu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,32,256,128,32,256,128,1,4,1,4,3,3,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,221.5299,0,0 +gfx1250,256,2048,5120,2304,192,-1,ActivationType.Silu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,64,512,256,64,512,256,1,4,1,4,2,2,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,242.4103,0,0 +gfx1250,256,4096,5120,2304,192,-1,ActivationType.Silu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,256,256,128,256,256,1,4,1,4,3,3,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,299.7510,0,0 +gfx1250,256,8192,5120,2304,192,-1,ActivationType.Silu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,256,256,128,256,256,1,4,1,4,3,3,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,404.7020,0,0 +gfx1250,256,16384,5120,2304,192,-1,ActivationType.Silu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,256,256,128,256,256,1,4,1,4,3,3,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,662.3050,0,0 +gfx1250,256,32768,5120,2304,192,-1,ActivationType.Silu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,256,256,128,256,256,1,4,1,4,3,3,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,1162.8700,0,0 +gfx1250,256,4,5120,2304,96,-1,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,256,512,16,256,256,1,4,1,4,4,4,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,17.6897,0,0 +gfx1250,256,8,5120,2304,96,-1,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,256,256,16,256,256,1,4,1,4,3,3,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,23.9570,0,0 +gfx1250,256,16,5120,2304,96,-1,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,256,256,16,256,256,1,4,1,4,2,2,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,34.9665,0,0 +gfx1250,256,32,5120,2304,96,-1,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,512,256,16,512,256,1,4,1,4,2,2,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,51.8907,0,0 +gfx1250,256,64,5120,2304,96,-1,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,256,128,16,512,128,1,4,1,4,2,2,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,79.0195,0,0 +gfx1250,256,128,5120,2304,96,-1,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,256,256,16,512,128,1,4,1,4,2,2,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,99.6611,0,0 +gfx1250,256,256,5120,2304,96,-1,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,256,256,16,512,128,1,4,1,4,2,2,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,109.9928,0,0 +gfx1250,256,512,5120,2304,96,-1,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,512,128,16,512,128,1,4,1,4,2,2,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,113.5864,0,0 +gfx1250,256,1024,5120,2304,96,-1,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,32,512,128,32,512,128,1,4,1,4,3,2,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,119.7794,0,0 +gfx1250,256,2048,5120,2304,96,-1,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,64,512,128,64,256,256,1,4,1,4,2,3,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,139.6563,0,0 +gfx1250,256,4096,5120,2304,96,-1,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,256,256,128,256,256,1,4,1,4,2,2,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,193.5941,0,0 +gfx1250,256,8192,5120,2304,96,-1,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,256,256,128,256,256,1,4,1,4,2,2,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,281.9570,0,0 +gfx1250,256,16384,5120,2304,96,-1,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,512,256,128,256,256,2,4,1,4,3,2,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,447.9350,0,0 +gfx1250,256,32768,5120,2304,96,-1,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,512,256,128,256,256,2,4,1,4,3,2,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,783.6610,0,0 +gfx1250,256,2,5120,2304,192,-1,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,256,512,16,256,256,1,4,1,4,4,4,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,18.0710,0,0 +gfx1250,256,4,5120,2304,192,-1,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,256,256,16,256,256,1,4,1,4,3,3,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,24.6131,0,0 +gfx1250,256,8,5120,2304,192,-1,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,256,256,16,256,128,1,4,1,4,2,3,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,35.5872,0,0 +gfx1250,256,16,5120,2304,192,-1,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,512,128,16,512,256,1,4,1,4,3,2,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,56.3245,0,0 +gfx1250,256,32,5120,2304,192,-1,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,512,128,16,256,256,1,4,1,4,2,4,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,94.1773,0,0 +gfx1250,256,64,5120,2304,192,-1,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,256,256,16,256,256,1,4,1,4,4,3,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,139.9418,0,0 +gfx1250,256,128,5120,2304,192,-1,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,256,128,16,256,128,1,4,1,4,4,4,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,188.5428,0,0 +gfx1250,256,256,5120,2304,192,-1,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,256,128,16,256,128,1,4,1,4,3,3,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,208.6789,0,0 +gfx1250,256,512,5120,2304,192,-1,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,512,128,16,512,128,1,4,1,4,2,2,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,218.4323,0,0 +gfx1250,256,1024,5120,2304,192,-1,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,32,512,256,32,512,128,1,4,1,4,2,2,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,226.3855,0,0 +gfx1250,256,2048,5120,2304,192,-1,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,64,256,128,64,256,128,1,4,1,4,3,3,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,270.9410,0,0 +gfx1250,256,4096,5120,2304,192,-1,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,64,512,128,64,512,128,1,4,1,4,3,3,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,355.7130,0,0 +gfx1250,256,8192,5120,2304,192,-1,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,512,256,128,512,256,2,4,2,4,3,3,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,511.2220,0,0 +gfx1250,256,16384,5120,2304,192,-1,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,512,256,128,512,256,2,4,2,4,3,3,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,848.5710,0,0 +gfx1250,256,32768,5120,2304,192,-1,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,512,256,128,256,256,2,4,1,4,3,2,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,1509.3000,0,0 +gfx1250,256,8,5120,2304,48,-1,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,256,512,16,256,256,1,4,1,4,4,4,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,18.1623,0,0 +gfx1250,256,16,5120,2304,48,-1,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,256,256,16,256,256,1,4,1,4,3,3,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,24.1182,0,0 +gfx1250,256,32,5120,2304,48,-1,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,512,256,16,256,256,1,4,1,4,4,3,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,30.2331,0,0 +gfx1250,256,64,5120,2304,48,-1,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,256,128,16,256,128,1,4,1,4,3,3,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,45.1854,0,0 +gfx1250,256,128,5120,2304,48,-1,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,512,128,16,512,256,1,4,1,4,4,2,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,53.7926,0,0 +gfx1250,256,256,5120,2304,48,-1,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,512,128,16,512,256,1,4,1,4,3,2,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,57.0785,0,0 +gfx1250,256,512,5120,2304,48,-1,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,512,128,16,512,256,1,4,1,4,4,2,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,59.8875,0,0 +gfx1250,256,1024,5120,2304,48,-1,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,32,512,128,32,512,256,1,4,1,4,3,2,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,63.8236,0,0 +gfx1250,256,2048,5120,2304,48,-1,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,64,512,128,64,256,256,1,4,1,4,3,3,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,71.6708,0,0 +gfx1250,256,4096,5120,2304,48,-1,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,512,256,128,256,256,1,4,1,4,3,2,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,102.9289,0,0 +gfx1250,256,8192,5120,2304,48,-1,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,256,256,128,256,256,1,4,1,4,2,2,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,156.2070,0,0 +gfx1250,256,16384,5120,2304,48,-1,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,512,256,128,256,256,2,4,1,4,3,2,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,238.3880,0,0 +gfx1250,256,32768,5120,2304,48,-1,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,512,256,128,256,256,1,4,1,4,3,2,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,398.8590,0,0 +gfx1250,256,1,5120,2304,384,6,ActivationType.Silu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,64,512,16,128,128,1,1,1,2,2,2,2,3,0,-1,-1,,,1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,8.8037,0,0 +gfx1250,256,8,5120,2304,384,6,ActivationType.Silu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,512,512,16,256,256,1,4,1,2,2,3,,,0,-1,-1,,,-1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,61.5840,0,0 +gfx1250,256,16,5120,2304,384,6,ActivationType.Silu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,128,128,16,128,128,1,2,1,2,4,3,,,0,-1,-1,,,-1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,108.0769,0,0 +gfx1250,256,64,5120,2304,384,6,ActivationType.Silu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,384,128,16,256,512,1,2,1,2,4,2,,,0,-1,-1,,,-1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,289.1468,0,0 +gfx1250,256,128,5120,2304,384,6,ActivationType.Silu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,256,512,16,128,512,1,2,1,2,3,3,,,0,-1,-1,,,-1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,399.1987,0,0 +gfx1250,256,256,5120,2304,384,6,ActivationType.Silu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,384,128,16,512,512,1,2,1,4,3,2,,,0,-1,-1,,,-1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,449.1041,0,0 +gfx1250,256,512,5120,2304,384,6,ActivationType.Silu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,256,256,16,256,512,1,4,1,2,3,2,,,0,-1,-1,,,-1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,458.3507,0,0 +gfx1250,256,1024,5120,2304,384,6,ActivationType.Silu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,32,384,128,32,256,256,1,2,1,4,4,4,,,0,-1,-1,,,-1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,471.8984,0,0 +gfx1250,256,2048,5120,2304,384,6,ActivationType.Silu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,64,512,256,64,512,128,1,4,1,4,4,2,,,0,-1,-1,,,-1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,503.7990,0,0 +gfx1250,256,4096,5120,2304,384,6,ActivationType.Silu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,512,256,128,512,128,1,4,1,4,3,3,,,0,-1,-1,,,-1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,602.8378,0,0 +gfx1250,256,8192,5120,2304,384,6,ActivationType.Silu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,512,256,128,256,256,1,4,1,4,3,3,,,0,-1,-1,,,-1,,0,0,0,0,0,0,1,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,771.7022,0,0 +gfx1250,256,16384,5120,2304,384,6,ActivationType.Silu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,256,256,256,256,256,256,2,2,2,2,4,4,,,0,1,4,1,4,1,1,1,0,1,0,0,0,1,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,1190.0373,0,0 +gfx1250,256,32768,5120,2304,384,6,ActivationType.Silu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,256,256,256,256,256,256,2,2,2,2,4,4,,,0,1,4,1,4,1,1,1,0,1,0,0,0,1,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,1967.6713,0,0 +gfx1250,256,1,5120,2304,384,6,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,64,512,16,128,256,1,1,1,2,2,2,2,3,0,-1,-1,,,1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,8.6879,0,0 +gfx1250,256,8,5120,2304,384,6,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,512,256,16,128,256,1,4,1,2,3,3,,,0,-1,-1,,,-1,,1,1,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,55.7633,0,0 +gfx1250,256,16,5120,2304,384,6,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,128,128,16,256,256,1,2,1,2,3,2,,,0,-1,-1,,,-1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,109.9071,0,0 +gfx1250,256,32,5120,2304,384,6,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,64,1024,16,64,256,1,1,1,1,2,3,,,0,-1,-1,,,1,1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,189.5117,0,0 +gfx1250,256,64,5120,2304,384,6,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,384,128,16,256,128,1,2,1,2,3,3,,,0,-1,-1,,,-1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,291.7681,0,0 +gfx1250,256,128,5120,2304,384,6,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,512,512,16,128,256,1,4,1,2,2,3,,,0,-1,-1,,,-1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,393.1344,0,0 +gfx1250,256,256,5120,2304,384,6,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,384,128,16,512,512,1,2,1,8,4,2,,,0,-1,-1,,,-1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,457.1645,0,0 +gfx1250,256,512,5120,2304,384,6,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,256,256,16,256,512,1,2,1,2,4,2,,,0,-1,-1,,,-1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,468.4928,0,0 +gfx1250,256,1024,5120,2304,384,6,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,32,512,256,32,512,128,1,4,1,4,3,3,,,0,-1,-1,,,-1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,491.8166,0,0 +gfx1250,256,2048,5120,2304,384,6,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,64,512,128,64,512,128,1,4,1,4,3,3,,,0,-1,-1,,,-1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,538.5656,0,0 +gfx1250,256,4096,5120,2304,384,6,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,256,256,128,256,128,2,2,2,2,2,4,,,0,-1,-1,,,-1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,684.2151,0,0 +gfx1250,256,8192,5120,2304,384,6,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,512,256,128,512,256,1,4,1,4,3,3,,,0,-1,-1,,,-1,,1,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,1089.3,0,0 +gfx1250,256,16384,5120,2304,384,6,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,512,256,128,512,256,2,4,1,4,3,3,,,0,1,4,,,2,,1,0,1,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,1857.7,0,0 +gfx1250,256,32768,5120,2304,384,6,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,256,256,128,256,256,128,2,2,2,2,4,3,,,0,2,2,2,2,2,2,1,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,2704.0969,0,0 +gfx1250,256,1,5120,576,384,6,ActivationType.Silu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,64,256,16,128,128,1,1,1,2,2,2,4,,0,-1,-1,,,1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,7.1019,0,0 +gfx1250,256,8,5120,576,384,6,ActivationType.Silu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,128,512,16,64,128,1,2,1,1,4,3,,,0,-1,-1,,,-1,1,1,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,11.7210,0,0 +gfx1250,256,16,5120,576,384,6,ActivationType.Silu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,384,128,16,64,128,1,2,1,1,3,2,,,0,-1,-1,,,-1,1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,27.7585,0,0 +gfx1250,256,32,5120,576,384,6,ActivationType.Silu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,64,512,16,64,128,1,1,1,1,3,2,,,0,-1,-1,,,1,1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,48.7471,0,0 +gfx1250,256,64,5120,576,384,6,ActivationType.Silu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,128,256,16,128,128,1,2,1,2,3,3,,,0,-1,-1,,,-1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,79.7599,0,0 +gfx1250,256,128,5120,576,384,6,ActivationType.Silu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,128,512,16,128,128,1,2,1,2,4,3,,,0,-1,-1,,,-1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,105.8920,0,0 +gfx1250,256,256,5120,576,384,6,ActivationType.Silu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,128,512,16,512,128,1,2,1,8,4,2,,,0,-1,-1,,,-1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,121.7150,0,0 +gfx1250,256,512,5120,576,384,6,ActivationType.Silu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,128,512,16,512,128,1,2,1,8,4,2,,,0,-1,-1,,,-1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,125.2232,0,0 +gfx1250,256,1024,5120,576,384,6,ActivationType.Silu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,32,128,256,32,128,128,1,2,1,2,2,3,,,0,-1,-1,,,-1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,134.7501,0,0 +gfx1250,256,8192,5120,576,384,6,ActivationType.Silu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,128,256,128,128,128,1,2,1,2,2,2,,,0,-1,-1,,,-1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,288.1954,0,0 +gfx1250,256,16384,5120,576,384,6,ActivationType.Silu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,384,256,128,256,128,2,2,2,2,4,4,,,0,-1,-1,-1,-1,-1,-1,1,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,428.5814,0,0 +gfx1250,256,32768,5120,576,384,6,ActivationType.Silu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,384,256,128,256,128,2,2,2,2,4,4,,,0,-1,-1,-1,-1,-1,-1,1,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,729.0402,0,0 +gfx1250,256,1,5120,576,384,6,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,64,256,16,128,128,1,1,1,2,2,2,4,,0,-1,-1,,,1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,7.0833,0,0 +gfx1250,256,8,5120,576,384,6,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,64,512,16,512,128,1,1,1,4,3,4,,,0,-1,-1,,4,1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,11.5417,0,0 +gfx1250,256,16,5120,576,384,6,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,384,128,16,64,128,1,2,1,1,3,3,,,0,-1,-1,,,-1,1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,28.6250,0,0 +gfx1250,256,32,5120,576,384,6,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,64,1024,16,64,128,1,1,1,1,2,2,,,0,-1,-1,,,1,1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,51.4501,0,0 +gfx1250,256,64,5120,576,384,6,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,384,128,16,128,128,1,2,1,2,3,3,,,0,-1,-1,,,-1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,78.3361,0,0 +gfx1250,256,128,5120,576,384,6,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,128,256,16,128,128,1,2,1,2,3,3,,,0,-1,-1,,,-1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,104.9947,0,0 +gfx1250,256,256,5120,576,384,6,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,384,128,16,256,128,1,2,1,4,3,3,,,0,-1,-1,,,-1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,124.6401,0,0 +gfx1250,256,512,5120,576,384,6,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,128,256,16,512,128,1,2,1,8,2,2,,,0,-1,-1,,,-1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,124.1254,0,0 +gfx1250,256,1024,5120,576,384,6,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,32,128,256,32,256,128,1,2,1,4,3,3,,,0,-1,-1,,,-1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,141.8739,0,0 +gfx1250,256,4096,5120,576,384,6,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,64,384,256,64,256,128,1,2,1,4,2,3,,,0,-1,-1,,,-1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,215.4001,0,0 +gfx1250,256,8192,5120,576,384,6,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,128,256,128,256,128,1,2,2,2,2,3,,,0,-1,-1,,,1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,337.4960,0,0 +gfx1250,256,16384,5120,576,384,6,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,256,384,128,256,256,128,2,2,2,2,3,3,,,0,-1,-1,1,4,-1,1,1,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,563.3912,0,0 +gfx1250,256,32768,5120,576,384,6,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,384,128,128,256,128,1,2,2,2,3,4,,,0,-1,-1,-1,-1,-1,-1,1,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,920.4351,0,0 diff --git a/aiter/configs/model_configs/kimik3_gfx1250_tuned_grouped_fmoe.csv b/aiter/configs/model_configs/kimik3_gfx1250_tuned_grouped_fmoe.csv index ab1d2b238b2..c0027ec905c 100644 --- a/aiter/configs/model_configs/kimik3_gfx1250_tuned_grouped_fmoe.csv +++ b/aiter/configs/model_configs/kimik3_gfx1250_tuned_grouped_fmoe.csv @@ -1,77 +1,77 @@ -gfx,cu_num,token,model_dim,inter_dim,expert,topk,act_type,dtype,q_dtype_a,q_dtype_w,ep_fused,q_type,use_g1u1,doweight_stage1,tile_m,tile_n,tile_k,tile_m2,tile_n2,tile_k2,m_warp,n_warp,m_warp2,n_warp2,num_buffers,num_buffer_stage2,split_k1,split_k2,tdm_as_in_prologue,cluster_m,cluster_n,cluster_m2,cluster_n2,waves_per_tensor_tdm,waves_per_tensor_tdm2,next_stage_prefetch,tdm_b_th,lds_soa_load_interleave,rolled_drain,persistent_workers,persistent_workers2,a_preshuffle,kernelName1,kernelName2,us,tflops,bw,k_waves1,k_waves2 -gfx1250,256,16,3584,3072,56,-1,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,512,256,16,256,256,1,8,1,4,4,2,1,1,0,-1,-1,-1,-1,,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,136.9740020891,0,0,, -gfx1250,256,32,3584,3072,56,-1,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,256,256,16,256,256,1,4,1,4,2,2,1,1,0,-1,-1,-1,-1,,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,158.9230014361,0,0,, -gfx1250,256,64,3584,3072,56,-1,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,128,256,16,256,256,1,2,1,4,4,2,1,1,0,-1,-1,-1,-1,,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,190.1520008687,0,0,, -gfx1250,256,128,3584,3072,56,-1,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,128,256,16,256,256,1,2,1,4,2,2,1,1,0,-1,-1,-1,-1,,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,199.1210010601,0,0,, -gfx1250,256,256,3584,3072,56,-1,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,128,256,16,256,256,1,2,1,4,4,2,1,1,0,-1,-1,-1,-1,,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,205.371001357,0,0,, -gfx1250,256,512,3584,3072,56,-1,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,128,256,16,256,256,1,2,1,4,2,2,1,1,0,-1,-1,-1,-1,,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,208.4510015266,0,0,, -gfx1250,256,1024,3584,3072,56,-1,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,32,128,256,32,256,256,1,2,1,4,3,2,1,1,0,-1,-1,-1,-1,,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,218.0310002586,0,0,, -gfx1250,256,2048,3584,3072,56,-1,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,64,256,256,64,256,256,1,4,1,4,2,2,1,1,0,-1,-1,-1,-1,,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,235.31899933,0,0,, -gfx1250,256,4096,3584,3072,56,-1,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,256,256,128,256,256,1,4,1,4,2,3,1,1,0,-1,-1,-1,-1,,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,269.6180017665,0,0,, -gfx1250,256,8192,3584,3072,56,-1,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,64,256,256,64,256,256,1,4,1,4,2,2,1,1,0,-1,-1,-1,-1,,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,399.33,0,0,, -gfx1250,256,16384,3584,3072,56,-1,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,256,256,128,256,256,1,4,1,4,2,2,1,1,0,-1,-1,-1,-1,,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,552.767,0,0,, -gfx1250,256,32768,3584,3072,56,-1,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,256,256,128,256,256,1,4,1,4,2,2,1,1,0,-1,-1,-1,-1,,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,904.873,0,0,, -gfx1250,256,131072,3584,3072,56,-1,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,64,256,256,64,256,256,1,4,1,4,2,2,1,1,0,-1,-1,-1,-1,,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,9504.2588,0,0,, -gfx1250,256,8,3584,3072,112,-1,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,256,256,16,256,512,1,4,1,4,4,4,1,1,0,-1,-1,-1,-1,,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,92.5160002225,0,0,, -gfx1250,256,16,3584,3072,112,-1,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,32,256,256,32,256,256,1,4,1,4,2,3,1,1,0,-1,-1,-1,-1,,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,108.7149994419,0,0,, -gfx1250,256,32,3584,3072,112,-1,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,256,256,16,256,256,1,4,1,4,3,2,1,1,0,-1,-1,-1,-1,,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,139.1229998262,0,0,, -gfx1250,256,64,3584,3072,112,-1,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,128,256,16,256,256,1,2,1,4,2,2,1,1,0,-1,-1,-1,-1,,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,179.542999831,0,0,, -gfx1250,256,128,3584,3072,112,-1,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,256,256,16,256,128,1,4,1,4,2,4,1,1,0,-1,-1,-1,-1,,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,196.8209999177,0,0,, -gfx1250,256,256,3584,3072,112,-1,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,128,256,16,512,128,1,2,1,4,2,2,1,1,0,-1,-1,-1,-1,,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,197.5710001716,0,0,, -gfx1250,256,512,3584,3072,112,-1,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,256,256,16,256,256,1,4,1,4,2,2,1,1,0,-1,-1,-1,-1,,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,213.3019997927,0,0,, -gfx1250,256,1024,3584,3072,112,-1,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,32,128,256,32,512,128,1,2,1,4,2,2,1,1,0,-1,-1,-1,-1,,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,212.8010000888,0,0,, -gfx1250,256,2048,3584,3072,112,-1,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,64,256,256,64,512,256,1,4,1,8,2,2,1,1,0,-1,-1,-1,-1,,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,236.499001403,0,0,, -gfx1250,256,4096,3584,3072,112,-1,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,256,256,128,512,256,2,4,1,8,3,2,1,1,0,-1,-1,-1,-1,,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,297.8569991683,0,0,, -gfx1250,256,8192,3584,3072,112,-1,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,64,256,256,64,512,256,1,4,1,8,2,2,1,1,0,-1,-1,-1,-1,,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,499.4769988116,0,0,, -gfx1250,256,16384,3584,3072,112,-1,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,256,256,128,512,256,1,4,1,8,3,3,1,1,0,-1,-1,-1,-1,,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,672.2920006723,0,0,, -gfx1250,256,32768,3584,3072,112,-1,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,256,256,128,512,256,1,4,1,4,3,3,1,1,0,-1,-1,-1,-1,,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,1074.4549999799,0,0,, -gfx1250,256,131072,3584,3072,112,-1,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,256,256,128,512,256,1,4,2,4,2,3,1,1,0,-1,-1,-1,-1,,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,3699.0629996581,0,0,, -gfx1250,256,1,3584,3072,896,16,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,64,512,16,256,512,1,1,1,4,2,2,,,0,-1,-1,,,1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,13.9162,0,0,1,1 -gfx1250,256,8,3584,3072,896,16,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,128,256,16,512,256,1,2,1,4,3,3,,,0,-1,-1,,,-1,,0,1,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,139.8859,0,0,, -gfx1250,256,16,3584,3072,896,16,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,384,256,16,128,128,1,2,1,2,2,3,,,0,-1,-1,,,-1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,263.5649,0,0,, -gfx1250,256,32,3584,3072,896,16,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,256,512,16,64,256,1,2,1,1,4,3,,,0,-1,-1,,,-1,1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,443.9185,0,0,, -gfx1250,256,64,3584,3072,896,16,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,512,256,16,512,128,1,4,1,4,3,3,,,0,-1,-1,,,-1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,650.3285,0,0,, -gfx1250,256,128,3584,3072,896,16,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,384,256,16,512,512,1,2,1,4,3,2,,,0,-1,-1,,,-1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,876.4503,0,0,, -gfx1250,256,256,3584,3072,896,16,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,384,256,16,512,256,1,2,1,4,4,2,,,0,-1,-1,,,-1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,935.8242,0,0,, -gfx1250,256,512,3584,3072,896,16,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,384,512,16,256,512,1,2,1,2,2,2,,,0,-1,-1,,,-1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,992.9061,0,0,, -gfx1250,256,1024,3584,3072,896,16,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,32,384,512,32,512,256,1,2,1,4,2,3,,,0,-1,-1,,,-1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,1039.8420,0,0,, -gfx1250,256,2048,3584,3072,896,16,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,64,512,256,64,512,128,1,4,1,4,2,4,,,0,-1,-1,,,-1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,1077.0983,0,0,, -gfx1250,256,4096,3584,3072,896,16,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,512,256,128,256,256,1,4,2,2,3,3,,,0,-1,-1,,,-1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,1278.0329,0,0,, -gfx1250,256,8192,3584,3072,896,16,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,256,256,512,256,256,512,2,2,2,2,2,2,,,0,-1,2,,,-1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,1974.7926,0,0,, -gfx1250,256,16384,3584,3072,896,16,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,256,256,128,256,256,2,4,1,4,3,3,,,0,-1,-1,4,1,-1,1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,3618.9073,0,0,, -gfx1250,256,1,3584,3072,896,16,ActivationType.Situv2,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,64,512,16,256,256,1,1,1,2,2,2,,,0,-1,-1,,,1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,14.4445,0,0,1, -gfx1250,256,8,3584,3072,896,16,ActivationType.Situv2,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,128,256,16,512,128,1,2,1,8,2,4,,,0,-1,-1,,,-1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,149.8475,0,0,, -gfx1250,256,16,3584,3072,896,16,ActivationType.Situv2,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,256,256,16,512,128,1,2,1,8,2,4,,,0,-1,-1,,,-1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,264.7482,0,0,, -gfx1250,256,32,3584,3072,896,16,ActivationType.Situv2,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,64,512,16,64,256,1,1,1,1,2,3,,,0,-1,-1,,,1,1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,439.0845,0,0,1, -gfx1250,256,64,3584,3072,896,16,ActivationType.Situv2,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,512,256,16,512,128,1,4,1,4,4,3,,,0,-1,-1,,,-1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,662.2305,0,0,, -gfx1250,256,128,3584,3072,896,16,ActivationType.Situv2,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,384,512,16,512,256,1,2,1,4,2,3,,,0,-1,-1,,,-1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,887.8147,0,0,, -gfx1250,256,256,3584,3072,896,16,ActivationType.Situv2,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,384,128,16,256,512,1,2,1,2,4,4,,,0,-1,-1,,,-1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,981.3504,0,0,, -gfx1250,256,512,3584,3072,896,16,ActivationType.Situv2,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,384,512,16,256,512,1,2,1,2,2,2,,,0,-1,-1,,,-1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,1018.5639,0,0,, -gfx1250,256,1024,3584,3072,896,16,ActivationType.Situv2,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,32,384,256,32,512,256,1,2,1,4,3,3,,,0,-1,-1,,,-1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,1076.7810,0,0,, -gfx1250,256,2048,3584,3072,896,16,ActivationType.Situv2,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,64,256,128,64,512,128,2,2,1,4,3,3,,,0,-1,-1,,,-1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,1188.1515,0,0,, -gfx1250,256,4096,3584,3072,896,16,ActivationType.Situv2,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,512,256,128,256,128,1,4,2,2,3,4,,,0,-1,-1,,,-1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,1506.5369,0,0,, -gfx1250,256,8192,3584,3072,896,16,ActivationType.Situv2,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,64,512,128,64,512,128,1,4,1,4,3,3,,,0,-1,4,,,-1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,2474.7820,0,0,, -gfx1250,256,16384,3584,3072,896,16,ActivationType.Situv2,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,256,256,128,256,256,2,2,2,2,2,2,,,0,-1,-1,,,-1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,4091.7701,0,0,, -gfx1250,256,1,3584,768,896,16,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,64,512,16,128,256,1,1,1,2,2,2,,,0,-1,-1,,,1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,8.1344,0,0,1,3 -gfx1250,256,8,3584,768,896,16,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,128,128,16,128,128,1,2,1,2,2,2,,,0,-1,-1,,,-1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,34.3186,0,0,, -gfx1250,256,16,3584,768,896,16,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,128,128,16,64,256,1,2,1,1,4,2,,,0,-1,-1,,,-1,1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,67.8593,0,0,, -gfx1250,256,32,3584,768,896,16,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,64,256,16,64,256,1,1,1,1,2,2,,,0,-1,-1,,,1,1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,116.2319,0,0,1, -gfx1250,256,64,3584,768,896,16,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,512,256,16,128,128,1,8,1,2,2,3,,,0,-1,-1,,,-1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,180.0550,0,0,, -gfx1250,256,128,3584,768,896,16,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,128,256,16,128,128,1,2,1,2,3,4,,,0,-1,-1,,,-1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,237.5469,0,0,, -gfx1250,256,256,3584,768,896,16,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,256,256,16,256,256,1,2,1,4,2,2,,,0,-1,-1,,,-1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,253.9716,0,0,, -gfx1250,256,512,3584,768,896,16,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,384,128,16,256,128,1,2,1,2,4,3,,,0,-1,-1,,,-1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,270.4521,0,0,, -gfx1250,256,1024,3584,768,896,16,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,32,384,256,32,256,128,1,2,1,4,2,3,,,0,-1,-1,,,-1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,273.6726,0,0,, -gfx1250,256,4096,3584,768,896,16,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,512,256,128,512,128,1,4,1,4,3,4,,,0,-1,-1,,,-1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,398.8703,0,0,, -gfx1250,256,8192,3584,768,896,16,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,256,256,512,256,256,256,2,4,2,2,2,4,,,0,-1,-1,,4,-1,1,0,0,1,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,611.4260,0,0,, -gfx1250,256,16384,3584,768,896,16,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,256,256,128,256,256,1,4,1,4,3,4,,,0,1,4,1,4,1,1,1,0,1,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,962.8303,0,0,, -gfx1250,256,1,3584,768,896,16,ActivationType.Situv2,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,64,512,16,128,256,1,1,1,2,2,2,,,0,-1,-1,,,1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,8.0496,0,0,1,1 -gfx1250,256,8,3584,768,896,16,ActivationType.Situv2,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,128,128,16,256,256,1,2,1,2,2,2,,,0,-1,-1,,,-1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,34.7242,0,0,, -gfx1250,256,16,3584,768,896,16,ActivationType.Situv2,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,128,256,16,64,256,1,2,1,1,4,2,,,0,-1,-1,,,-1,1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,73.1383,0,0,, -gfx1250,256,32,3584,768,896,16,ActivationType.Situv2,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,128,256,16,64,256,1,2,1,1,2,2,,,0,-1,-1,,,-1,1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,118.7855,0,0,, -gfx1250,256,64,3584,768,896,16,ActivationType.Situv2,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,256,128,16,256,256,1,2,1,2,4,2,,,0,-1,-1,,,-1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,178.8851,0,0,, -gfx1250,256,128,3584,768,896,16,ActivationType.Situv2,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,128,256,16,128,256,1,2,1,2,2,2,,,0,-1,-1,,,-1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,238.5706,0,0,, -gfx1250,256,256,3584,768,896,16,ActivationType.Situv2,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,384,256,16,256,128,1,2,1,4,2,2,,,0,-1,-1,,,-1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,261.0032,0,0,, -gfx1250,256,512,3584,768,896,16,ActivationType.Situv2,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,384,512,16,256,128,1,2,1,2,2,2,,,0,-1,-1,,,-1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,280.5143,0,0,, -gfx1250,256,1024,3584,768,896,16,ActivationType.Situv2,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,32,384,256,32,512,256,1,2,1,4,2,2,,,0,-1,-1,,,-1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,290.7473,0,0,, -gfx1250,256,4096,3584,768,896,16,ActivationType.Situv2,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,512,256,128,512,256,1,4,1,4,3,2,,,0,-1,-1,,,-1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,454.8532,0,0,, -gfx1250,256,16384,3584,768,896,16,ActivationType.Situv2,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,512,256,128,256,256,1,4,2,2,3,2,,,0,-1,-1,,,-1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,1178.8413,0,0,, +gfx,cu_num,token,model_dim,inter_dim,expert,topk,act_type,dtype,q_dtype_a,q_dtype_w,ep_fused,q_type,use_g1u1,doweight_stage1,tile_m,tile_n,tile_k,tile_m2,tile_n2,tile_k2,m_warp,n_warp,m_warp2,n_warp2,num_buffers,num_buffer_stage2,split_k1,split_k2,tdm_as_in_prologue,cluster_m,cluster_n,cluster_m2,cluster_n2,waves_per_tensor_tdm,waves_per_tensor_tdm2,next_stage_prefetch,tdm_b_th,lds_soa_load_interleave,rolled_drain,persistent_workers,persistent_workers2,a_preshuffle,kernelName1,kernelName2,us,tflops,bw +gfx1250,256,16,3584,3072,56,-1,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,512,256,16,256,256,1,8,1,4,4,2,1,1,0,-1,-1,-1,-1,,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,136.9740020891,0,0 +gfx1250,256,32,3584,3072,56,-1,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,256,256,16,256,256,1,4,1,4,2,2,1,1,0,-1,-1,-1,-1,,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,158.9230014361,0,0 +gfx1250,256,64,3584,3072,56,-1,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,128,256,16,256,256,1,2,1,4,4,2,1,1,0,-1,-1,-1,-1,,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,190.1520008687,0,0 +gfx1250,256,128,3584,3072,56,-1,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,128,256,16,256,256,1,2,1,4,2,2,1,1,0,-1,-1,-1,-1,,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,199.1210010601,0,0 +gfx1250,256,256,3584,3072,56,-1,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,128,256,16,256,256,1,2,1,4,4,2,1,1,0,-1,-1,-1,-1,,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,205.371001357,0,0 +gfx1250,256,512,3584,3072,56,-1,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,128,256,16,256,256,1,2,1,4,2,2,1,1,0,-1,-1,-1,-1,,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,208.4510015266,0,0 +gfx1250,256,1024,3584,3072,56,-1,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,32,128,256,32,256,256,1,2,1,4,3,2,1,1,0,-1,-1,-1,-1,,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,218.0310002586,0,0 +gfx1250,256,2048,3584,3072,56,-1,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,64,256,256,64,256,256,1,4,1,4,2,2,1,1,0,-1,-1,-1,-1,,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,235.31899933,0,0 +gfx1250,256,4096,3584,3072,56,-1,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,256,256,128,256,256,1,4,1,4,2,3,1,1,0,-1,-1,-1,-1,,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,269.6180017665,0,0 +gfx1250,256,8192,3584,3072,56,-1,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,64,256,256,64,256,256,1,4,1,4,2,2,1,1,0,-1,-1,-1,-1,,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,399.33,0,0 +gfx1250,256,16384,3584,3072,56,-1,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,256,256,128,256,256,1,4,1,4,2,2,1,1,0,-1,-1,-1,-1,,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,552.767,0,0 +gfx1250,256,32768,3584,3072,56,-1,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,256,256,128,256,256,1,4,1,4,2,2,1,1,0,-1,-1,-1,-1,,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,904.873,0,0 +gfx1250,256,131072,3584,3072,56,-1,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,64,256,256,64,256,256,1,4,1,4,2,2,1,1,0,-1,-1,-1,-1,,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,9504.2588,0,0 +gfx1250,256,8,3584,3072,112,-1,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,256,256,16,256,512,1,4,1,4,4,4,1,1,0,-1,-1,-1,-1,,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,92.5160002225,0,0 +gfx1250,256,16,3584,3072,112,-1,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,32,256,256,32,256,256,1,4,1,4,2,3,1,1,0,-1,-1,-1,-1,,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,108.7149994419,0,0 +gfx1250,256,32,3584,3072,112,-1,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,256,256,16,256,256,1,4,1,4,3,2,1,1,0,-1,-1,-1,-1,,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,139.1229998262,0,0 +gfx1250,256,64,3584,3072,112,-1,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,128,256,16,256,256,1,2,1,4,2,2,1,1,0,-1,-1,-1,-1,,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,179.542999831,0,0 +gfx1250,256,128,3584,3072,112,-1,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,256,256,16,256,128,1,4,1,4,2,4,1,1,0,-1,-1,-1,-1,,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,196.8209999177,0,0 +gfx1250,256,256,3584,3072,112,-1,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,128,256,16,512,128,1,2,1,4,2,2,1,1,0,-1,-1,-1,-1,,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,197.5710001716,0,0 +gfx1250,256,512,3584,3072,112,-1,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,256,256,16,256,256,1,4,1,4,2,2,1,1,0,-1,-1,-1,-1,,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,213.3019997927,0,0 +gfx1250,256,1024,3584,3072,112,-1,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,32,128,256,32,512,128,1,2,1,4,2,2,1,1,0,-1,-1,-1,-1,,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,212.8010000888,0,0 +gfx1250,256,2048,3584,3072,112,-1,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,64,256,256,64,512,256,1,4,1,8,2,2,1,1,0,-1,-1,-1,-1,,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,236.499001403,0,0 +gfx1250,256,4096,3584,3072,112,-1,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,256,256,128,512,256,2,4,1,8,3,2,1,1,0,-1,-1,-1,-1,,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,297.8569991683,0,0 +gfx1250,256,8192,3584,3072,112,-1,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,64,256,256,64,512,256,1,4,1,8,2,2,1,1,0,-1,-1,-1,-1,,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,499.4769988116,0,0 +gfx1250,256,16384,3584,3072,112,-1,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,256,256,128,512,256,1,4,1,8,3,3,1,1,0,-1,-1,-1,-1,,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,672.2920006723,0,0 +gfx1250,256,32768,3584,3072,112,-1,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,256,256,128,512,256,1,4,1,4,3,3,1,1,0,-1,-1,-1,-1,,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,1074.4549999799,0,0 +gfx1250,256,131072,3584,3072,112,-1,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,256,256,128,512,256,1,4,2,4,2,3,1,1,0,-1,-1,-1,-1,,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,3699.0629996581,0,0 +gfx1250,256,1,3584,3072,896,16,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,64,512,16,256,512,1,1,1,4,2,2,,,0,-1,-1,,,1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,13.9162,0,0 +gfx1250,256,8,3584,3072,896,16,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,128,256,16,512,256,1,2,1,4,3,3,,,0,-1,-1,,,-1,,0,1,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,139.8859,0,0 +gfx1250,256,16,3584,3072,896,16,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,384,256,16,128,128,1,2,1,2,2,3,,,0,-1,-1,,,-1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,263.5649,0,0 +gfx1250,256,32,3584,3072,896,16,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,256,512,16,64,256,1,2,1,1,4,3,,,0,-1,-1,,,-1,1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,443.9185,0,0 +gfx1250,256,64,3584,3072,896,16,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,512,256,16,512,128,1,4,1,4,3,3,,,0,-1,-1,,,-1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,650.3285,0,0 +gfx1250,256,128,3584,3072,896,16,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,384,256,16,512,512,1,2,1,4,3,2,,,0,-1,-1,,,-1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,876.4503,0,0 +gfx1250,256,256,3584,3072,896,16,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,384,256,16,512,256,1,2,1,4,4,2,,,0,-1,-1,,,-1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,935.8242,0,0 +gfx1250,256,512,3584,3072,896,16,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,384,512,16,256,512,1,2,1,2,2,2,,,0,-1,-1,,,-1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,992.9061,0,0 +gfx1250,256,1024,3584,3072,896,16,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,32,384,512,32,512,256,1,2,1,4,2,3,,,0,-1,-1,,,-1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,1039.8420,0,0 +gfx1250,256,2048,3584,3072,896,16,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,64,512,256,64,512,128,1,4,1,4,2,4,,,0,-1,-1,,,-1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,1077.0983,0,0 +gfx1250,256,4096,3584,3072,896,16,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,512,256,128,256,256,1,4,2,2,3,3,,,0,-1,-1,,,-1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,1278.0329,0,0 +gfx1250,256,8192,3584,3072,896,16,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,256,256,512,256,256,512,2,2,2,2,2,2,,,0,-1,2,,,-1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,1974.7926,0,0 +gfx1250,256,16384,3584,3072,896,16,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,256,256,128,256,256,2,4,1,4,3,3,,,0,-1,-1,4,1,-1,1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,3618.9073,0,0 +gfx1250,256,1,3584,3072,896,16,ActivationType.Situv2,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,64,512,16,256,256,1,1,1,2,2,2,,,0,-1,-1,,,1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,14.4445,0,0 +gfx1250,256,8,3584,3072,896,16,ActivationType.Situv2,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,128,256,16,512,128,1,2,1,8,2,4,,,0,-1,-1,,,-1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,149.8475,0,0 +gfx1250,256,16,3584,3072,896,16,ActivationType.Situv2,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,256,256,16,512,128,1,2,1,8,2,4,,,0,-1,-1,,,-1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,264.7482,0,0 +gfx1250,256,32,3584,3072,896,16,ActivationType.Situv2,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,64,512,16,64,256,1,1,1,1,2,3,,,0,-1,-1,,,1,1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,439.0845,0,0 +gfx1250,256,64,3584,3072,896,16,ActivationType.Situv2,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,512,256,16,512,128,1,4,1,4,4,3,,,0,-1,-1,,,-1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,662.2305,0,0 +gfx1250,256,128,3584,3072,896,16,ActivationType.Situv2,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,384,512,16,512,256,1,2,1,4,2,3,,,0,-1,-1,,,-1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,887.8147,0,0 +gfx1250,256,256,3584,3072,896,16,ActivationType.Situv2,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,384,128,16,256,512,1,2,1,2,4,4,,,0,-1,-1,,,-1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,981.3504,0,0 +gfx1250,256,512,3584,3072,896,16,ActivationType.Situv2,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,384,512,16,256,512,1,2,1,2,2,2,,,0,-1,-1,,,-1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,1018.5639,0,0 +gfx1250,256,1024,3584,3072,896,16,ActivationType.Situv2,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,32,384,256,32,512,256,1,2,1,4,3,3,,,0,-1,-1,,,-1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,1076.7810,0,0 +gfx1250,256,2048,3584,3072,896,16,ActivationType.Situv2,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,64,256,128,64,512,128,2,2,1,4,3,3,,,0,-1,-1,,,-1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,1188.1515,0,0 +gfx1250,256,4096,3584,3072,896,16,ActivationType.Situv2,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,512,256,128,256,128,1,4,2,2,3,4,,,0,-1,-1,,,-1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,1506.5369,0,0 +gfx1250,256,8192,3584,3072,896,16,ActivationType.Situv2,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,64,512,128,64,512,128,1,4,1,4,3,3,,,0,-1,4,,,-1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,2474.7820,0,0 +gfx1250,256,16384,3584,3072,896,16,ActivationType.Situv2,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,256,256,128,256,256,2,2,2,2,2,2,,,0,-1,-1,,,-1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,4091.7701,0,0 +gfx1250,256,1,3584,768,896,16,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,64,512,16,128,256,1,1,1,2,2,2,,3,0,-1,-1,,,1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,8.1344,0,0 +gfx1250,256,8,3584,768,896,16,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,128,128,16,128,128,1,2,1,2,2,2,,,0,-1,-1,,,-1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,34.3186,0,0 +gfx1250,256,16,3584,768,896,16,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,128,128,16,64,256,1,2,1,1,4,2,,,0,-1,-1,,,-1,1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,67.8593,0,0 +gfx1250,256,32,3584,768,896,16,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,64,256,16,64,256,1,1,1,1,2,2,,,0,-1,-1,,,1,1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,116.2319,0,0 +gfx1250,256,64,3584,768,896,16,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,512,256,16,128,128,1,8,1,2,2,3,,,0,-1,-1,,,-1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,180.0550,0,0 +gfx1250,256,128,3584,768,896,16,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,128,256,16,128,128,1,2,1,2,3,4,,,0,-1,-1,,,-1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,237.5469,0,0 +gfx1250,256,256,3584,768,896,16,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,256,256,16,256,256,1,2,1,4,2,2,,,0,-1,-1,,,-1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,253.9716,0,0 +gfx1250,256,512,3584,768,896,16,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,384,128,16,256,128,1,2,1,2,4,3,,,0,-1,-1,,,-1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,270.4521,0,0 +gfx1250,256,1024,3584,768,896,16,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,32,384,256,32,256,128,1,2,1,4,2,3,,,0,-1,-1,,,-1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,273.6726,0,0 +gfx1250,256,4096,3584,768,896,16,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,512,256,128,512,128,1,4,1,4,3,4,,,0,-1,-1,,,-1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,398.8703,0,0 +gfx1250,256,8192,3584,768,896,16,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,256,256,512,256,256,256,2,4,2,2,2,4,,,0,-1,-1,,4,-1,1,0,0,1,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,611.4260,0,0 +gfx1250,256,16384,3584,768,896,16,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,256,256,128,256,256,1,4,1,4,3,4,,,0,1,4,1,4,1,1,1,0,1,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,962.8303,0,0 +gfx1250,256,1,3584,768,896,16,ActivationType.Situv2,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,64,512,16,128,256,1,1,1,2,2,2,,,0,-1,-1,,,1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,8.0496,0,0 +gfx1250,256,8,3584,768,896,16,ActivationType.Situv2,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,128,128,16,256,256,1,2,1,2,2,2,,,0,-1,-1,,,-1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,34.7242,0,0 +gfx1250,256,16,3584,768,896,16,ActivationType.Situv2,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,128,256,16,64,256,1,2,1,1,4,2,,,0,-1,-1,,,-1,1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,73.1383,0,0 +gfx1250,256,32,3584,768,896,16,ActivationType.Situv2,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,128,256,16,64,256,1,2,1,1,2,2,,,0,-1,-1,,,-1,1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,118.7855,0,0 +gfx1250,256,64,3584,768,896,16,ActivationType.Situv2,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,256,128,16,256,256,1,2,1,2,4,2,,,0,-1,-1,,,-1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,178.8851,0,0 +gfx1250,256,128,3584,768,896,16,ActivationType.Situv2,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,128,256,16,128,256,1,2,1,2,2,2,,,0,-1,-1,,,-1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,238.5706,0,0 +gfx1250,256,256,3584,768,896,16,ActivationType.Situv2,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,384,256,16,256,128,1,2,1,4,2,2,,,0,-1,-1,,,-1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,261.0032,0,0 +gfx1250,256,512,3584,768,896,16,ActivationType.Situv2,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,384,512,16,256,128,1,2,1,2,2,2,,,0,-1,-1,,,-1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,280.5143,0,0 +gfx1250,256,1024,3584,768,896,16,ActivationType.Situv2,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,32,384,256,32,512,256,1,2,1,4,2,2,,,0,-1,-1,,,-1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,290.7473,0,0 +gfx1250,256,4096,3584,768,896,16,ActivationType.Situv2,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,512,256,128,512,256,1,4,1,4,3,2,,,0,-1,-1,,,-1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,454.8532,0,0 +gfx1250,256,16384,3584,768,896,16,ActivationType.Situv2,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,512,256,128,256,256,1,4,2,2,3,2,,,0,-1,-1,,,-1,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,1178.8413,0,0 diff --git a/aiter/configs/model_configs/kimik3tp8_tuned_grouped_fmoe.csv b/aiter/configs/model_configs/kimik3tp8_tuned_grouped_fmoe.csv index 4f3fa46d31d..328c82d7f20 100644 --- a/aiter/configs/model_configs/kimik3tp8_tuned_grouped_fmoe.csv +++ b/aiter/configs/model_configs/kimik3tp8_tuned_grouped_fmoe.csv @@ -1,16 +1,16 @@ -gfx,cu_num,token,model_dim,inter_dim,expert,topk,act_type,dtype,q_dtype_a,q_dtype_w,ep_fused,q_type,use_g1u1,doweight_stage1,tile_m,tile_n,tile_k,tile_m2,tile_n2,tile_k2,m_warp,n_warp,m_warp2,n_warp2,num_buffers,num_buffer_stage2,split_k1,split_k2,tdm_as_in_prologue,cluster_m,cluster_n,cluster_m2,cluster_n2,waves_per_tensor_tdm,waves_per_tensor_tdm2,next_stage_prefetch,tdm_b_th,lds_soa_load_interleave,rolled_drain,persistent_workers,persistent_workers2,a_preshuffle,kernelName1,kernelName2,us,tflops,bw,k_waves1,k_waves2 -gfx1250,256,1,3584,384,896,16,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,64,128,16,64,128,1,1,1,1,4,3,1,1,0,-1,-1,,,1,1,0,3,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,6.3065,0,0,7,1 -gfx1250,256,2,3584,384,896,16,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,128,512,16,512,128,1,2,1,4,4,2,1,1,0,-1,-1,-1,-1,,,0,1,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,21.2357,0,0,1,1 -gfx1250,256,4,3584,384,896,16,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,128,512,16,256,128,1,2,1,4,3,2,1,1,0,-1,-1,-1,-1,,,0,1,0,1,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,25.5425,0,0,1,1 -gfx1250,256,8,3584,384,896,16,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,64,512,16,64,128,1,1,1,1,2,2,1,1,0,-1,-1,,,1,1,0,2,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,13.1693,0,0,1,1 -gfx1250,256,16,3584,384,896,16,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,384,128,16,128,128,1,2,1,1,4,2,1,1,0,-1,-1,,,2,1,0,4,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,28.6514,0,0,2,1 -gfx1250,256,32,3584,384,896,16,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,128,128,16,64,128,1,1,1,1,2,3,1,1,0,-1,-1,,,1,1,0,4,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,51.4909,0,0,1,1 -gfx1250,256,64,3584,384,896,16,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,384,128,16,64,128,1,2,1,1,2,3,1,1,0,-1,-1,,,-1,1,0,1,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,77.3317,0,0,1,1 -gfx1250,256,128,3584,384,896,16,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,128,128,16,128,128,1,2,1,1,3,2,1,1,0,-1,-1,,,2,1,0,1,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,106.815,0,0,2,1 -gfx1250,256,256,3584,384,896,16,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,256,128,16,128,128,1,2,1,1,2,2,1,1,0,-1,-1,,,-1,1,0,4,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,122.2313,0,0,1,1 -gfx1250,256,512,3584,384,896,16,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,128,128,16,128,128,1,1,1,1,2,2,1,1,0,-1,-1,,,1,1,0,6,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,126.2082,0,0,1,1 -gfx1250,256,1024,3584,384,896,16,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,32,128,256,32,256,128,2,2,1,2,2,2,1,1,0,-1,-1,-1,-1,,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,174.5391,0,0,1,1 -gfx1250,256,2048,3584,384,896,16,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,64,256,128,64,128,128,2,4,1,2,3,3,1,1,0,-1,-1,-1,-1,,,0,1,0,1,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,221.3278,0,0,1,1 -gfx1250,256,4096,3584,384,896,16,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,64,256,128,64,256,128,2,4,1,4,3,3,1,1,0,-1,-1,-1,-1,,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,354.3946,0,0,1,1 -gfx1250,256,8192,3584,384,896,16,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,64,256,128,64,256,128,2,4,1,4,3,3,1,1,0,-1,-1,-1,-1,,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,576.6258,0,0,1,1 -gfx1250,256,16384,3584,384,896,16,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,256,256,128,128,512,1,4,1,2,3,3,1,1,0,-1,-1,-1,-1,,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,963.5116,0,0,1,1 +gfx,cu_num,token,model_dim,inter_dim,expert,topk,act_type,dtype,q_dtype_a,q_dtype_w,ep_fused,q_type,use_g1u1,doweight_stage1,tile_m,tile_n,tile_k,tile_m2,tile_n2,tile_k2,m_warp,n_warp,m_warp2,n_warp2,num_buffers,num_buffer_stage2,split_k1,split_k2,tdm_as_in_prologue,cluster_m,cluster_n,cluster_m2,cluster_n2,waves_per_tensor_tdm,waves_per_tensor_tdm2,next_stage_prefetch,tdm_b_th,lds_soa_load_interleave,rolled_drain,persistent_workers,persistent_workers2,a_preshuffle,kernelName1,kernelName2,us,tflops,bw +gfx1250,256,1,3584,384,896,16,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,64,128,16,64,128,1,1,1,1,4,3,7,1,0,-1,-1,,,1,1,0,3,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,6.3065,0,0 +gfx1250,256,2,3584,384,896,16,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,128,512,16,512,128,1,2,1,4,4,2,1,1,0,-1,-1,-1,-1,,,0,1,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,21.2357,0,0 +gfx1250,256,4,3584,384,896,16,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,128,512,16,256,128,1,2,1,4,3,2,1,1,0,-1,-1,-1,-1,,,0,1,0,1,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,25.5425,0,0 +gfx1250,256,8,3584,384,896,16,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,64,512,16,64,128,1,1,1,1,2,2,1,1,0,-1,-1,,,1,1,0,2,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,13.1693,0,0 +gfx1250,256,16,3584,384,896,16,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,384,128,16,128,128,1,2,1,1,4,2,2,1,0,-1,-1,,,2,1,0,4,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,28.6514,0,0 +gfx1250,256,32,3584,384,896,16,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,128,128,16,64,128,1,1,1,1,2,3,1,1,0,-1,-1,,,1,1,0,4,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,51.4909,0,0 +gfx1250,256,64,3584,384,896,16,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,384,128,16,64,128,1,2,1,1,2,3,1,1,0,-1,-1,,,-1,1,0,1,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,77.3317,0,0 +gfx1250,256,128,3584,384,896,16,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,128,128,16,128,128,1,2,1,1,3,2,2,1,0,-1,-1,,,2,1,0,1,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,106.815,0,0 +gfx1250,256,256,3584,384,896,16,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,256,128,16,128,128,1,2,1,1,2,2,1,1,0,-1,-1,,,-1,1,0,4,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,122.2313,0,0 +gfx1250,256,512,3584,384,896,16,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,128,128,16,128,128,1,1,1,1,2,2,1,1,0,-1,-1,,,1,1,0,6,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,126.2082,0,0 +gfx1250,256,1024,3584,384,896,16,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,32,128,256,32,256,128,2,2,1,2,2,2,1,1,0,-1,-1,-1,-1,,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,174.5391,0,0 +gfx1250,256,2048,3584,384,896,16,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,64,256,128,64,128,128,2,4,1,2,3,3,1,1,0,-1,-1,-1,-1,,,0,1,0,1,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,221.3278,0,0 +gfx1250,256,4096,3584,384,896,16,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,64,256,128,64,256,128,2,4,1,4,3,3,1,1,0,-1,-1,-1,-1,,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,354.3946,0,0 +gfx1250,256,8192,3584,384,896,16,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,64,256,128,64,256,128,2,4,1,4,3,3,1,1,0,-1,-1,-1,-1,,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,576.6258,0,0 +gfx1250,256,16384,3584,384,896,16,ActivationType.Situv2,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,256,256,128,128,512,1,4,1,2,3,3,1,1,0,-1,-1,-1,-1,,,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,963.5116,0,0 diff --git a/aiter/configs/model_configs/minimax_m3_gfx1250_tuned_grouped_fmoe.csv b/aiter/configs/model_configs/minimax_m3_gfx1250_tuned_grouped_fmoe.csv index 4df8297cf14..8226917a9b8 100644 --- a/aiter/configs/model_configs/minimax_m3_gfx1250_tuned_grouped_fmoe.csv +++ b/aiter/configs/model_configs/minimax_m3_gfx1250_tuned_grouped_fmoe.csv @@ -1,58 +1,58 @@ -gfx,cu_num,token,model_dim,inter_dim,expert,topk,act_type,dtype,q_dtype_a,q_dtype_w,ep_fused,q_type,use_g1u1,doweight_stage1,tile_m,tile_n,tile_k,tile_m2,tile_n2,tile_k2,m_warp,n_warp,m_warp2,n_warp2,num_buffers,num_buffer_stage2,split_k1,split_k2,tdm_as_in_prologue,cluster_m,cluster_n,cluster_m2,cluster_n2,waves_per_tensor_tdm,waves_per_tensor_tdm2,next_stage_prefetch,tdm_b_th,lds_soa_load_interleave,rolled_drain,persistent_workers,persistent_workers2,kernelName1,kernelName2,us,a_preshuffle,tflops,bw,k_waves1,k_waves2 -gfx1250,256,2,6144,768,129,5,ActivationType.Swiglu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,64,1024,16,64,256,1,1,1,2,3,3,1,1,0,-1,-1,-1,-1,1,-1,0,0,0,0,1024,2048,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,22.07,,,,, -gfx1250,256,4,6144,768,129,5,ActivationType.Swiglu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,64,1024,16,64,256,1,1,1,2,3,3,1,1,0,-1,-1,-1,-1,1,-1,0,0,0,0,1024,2048,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,25.28,,,,, -gfx1250,256,1,6144,3072,129,5,ActivationType.Swiglu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,64,512,16,128,512,1,1,1,2,2,2,,,0,-1,-1,,,1,,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,9.3754,0,0,0,2,2 -gfx1250,256,8,6144,3072,129,5,ActivationType.Swiglu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,256,256,16,512,128,1,4,1,8,4,2,,,0,-1,-1,,,-1,,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,77.9298,0,0,0,, -gfx1250,256,16,6144,3072,129,5,ActivationType.Swiglu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,256,256,16,512,256,1,2,1,4,4,3,,,0,-1,-1,,,-1,,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,119.4024,0,0,0,, -gfx1250,256,32,6144,3072,129,5,ActivationType.Swiglu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,64,1024,16,128,512,1,1,1,2,3,2,,,0,-1,-1,,,1,,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,186.9773,0,0,0,1, -gfx1250,256,64,6144,3072,129,5,ActivationType.Swiglu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,512,256,16,384,128,1,4,1,2,4,3,,,0,-1,-1,,,-1,,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,229.5677,0,0,0,, -gfx1250,256,128,6144,3072,129,5,ActivationType.Swiglu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,384,512,16,128,512,1,2,1,2,2,2,,,0,-1,-1,,,-1,,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,241.4983,0,0,0,, -gfx1250,256,256,6144,3072,129,5,ActivationType.Swiglu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,512,512,16,384,128,1,4,1,2,2,3,,,0,-1,-1,,,-1,,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,258.5324,0,0,0,, -gfx1250,256,512,6144,3072,129,5,ActivationType.Swiglu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,32,384,256,32,256,512,1,2,1,4,2,2,,,0,-1,-1,,,-1,,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,269.6804,0,0,0,, -gfx1250,256,1024,6144,3072,129,5,ActivationType.Swiglu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,64,128,128,64,128,128,1,2,1,2,3,3,,,0,-1,-1,,,-1,,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,286.9140,0,0,0,, -gfx1250,256,2048,6144,3072,129,5,ActivationType.Swiglu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,512,128,128,256,256,2,4,2,4,4,3,,,0,-1,-1,,,-1,,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,335.9373,0,0,0,, -gfx1250,256,4096,6144,3072,129,5,ActivationType.Swiglu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,256,256,256,256,256,512,2,2,2,2,4,2,,,0,1,4,,,1,,1,0,1,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,467.0129,1,0,0,, -gfx1250,256,8192,6144,3072,129,5,ActivationType.Swiglu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,512,256,128,256,256,1,4,2,2,3,3,,,0,-1,4,,,-1,,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,761.5430,0,0,0,, -gfx1250,256,16384,6144,3072,129,5,ActivationType.Swiglu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,256,256,256,256,256,256,2,2,2,2,3,3,,,0,1,4,2,2,1,1,1,0,1,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,1181.0994,1,0,0,, -gfx1250,256,32768,6144,3072,129,5,ActivationType.Swiglu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,256,256,256,256,256,256,2,2,2,2,3,3,,,0,4,1,4,4,1,1,1,0,1,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,2166.4935,1,0,0,, -gfx1250,256,1,6144,3072,129,5,ActivationType.Swiglu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,64,512,16,128,512,1,1,1,2,2,2,,,0,-1,-1,,,1,,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,9.5492,0,0,0,2,2 -gfx1250,256,8,6144,3072,129,5,ActivationType.Swiglu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,256,512,16,128,256,1,4,1,2,2,3,,,0,-1,-1,,,-1,,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,82.4577,0,0,0,, -gfx1250,256,16,6144,3072,129,5,ActivationType.Swiglu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,256,256,16,512,512,1,4,1,4,3,2,,,0,-1,-1,,,-1,,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,116.1466,0,0,0,, -gfx1250,256,32,6144,3072,129,5,ActivationType.Swiglu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,256,128,16,256,128,1,2,1,2,3,3,,,0,-1,-1,,,-1,,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,178.2946,0,0,0,, -gfx1250,256,64,6144,3072,129,5,ActivationType.Swiglu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,512,256,16,384,128,1,4,1,2,4,3,,,0,-1,-1,,,-1,,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,231.1327,0,0,0,, -gfx1250,256,128,6144,3072,129,5,ActivationType.Swiglu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,128,256,16,384,128,1,2,1,2,3,3,,,0,-1,-1,,,-1,,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,248.0446,0,0,0,, -gfx1250,256,256,6144,3072,129,5,ActivationType.Swiglu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,384,128,16,384,128,1,2,1,2,3,3,,,0,-1,-1,,,-1,,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,256.3651,0,0,0,, -gfx1250,256,512,6144,3072,129,5,ActivationType.Swiglu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,32,512,128,32,384,256,1,4,1,2,2,2,,,0,-1,-1,,,-1,,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,279.9470,0,0,0,, -gfx1250,256,2048,6144,3072,129,5,ActivationType.Swiglu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,512,256,128,256,256,1,4,2,2,3,2,,,0,-1,-1,,,-1,,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,378.8039,0,0,0,, -gfx1250,256,4096,6144,3072,129,5,ActivationType.Swiglu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,512,256,128,256,256,1,4,2,2,3,2,,,0,-1,-1,,,-1,,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,652.9629,0,0,0,, -gfx1250,256,8192,6144,3072,129,5,ActivationType.Swiglu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,512,256,128,256,256,1,4,2,2,3,2,,,0,-1,-1,,,-1,,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,987.9044,0,0,0,, -gfx1250,256,16384,6144,3072,129,5,ActivationType.Swiglu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,256,256,128,256,256,256,2,2,2,2,4,2,,,0,2,4,,,2,,1,0,1,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,1769.0063,0,0,0,, -gfx1250,256,32768,6144,3072,129,5,ActivationType.Swiglu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,256,256,128,256,256,128,2,2,2,2,4,4,,,0,2,4,4,4,2,2,1,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,2881.3809,0,0,0,, -gfx1250,256,1,6144,768,129,5,ActivationType.Swiglu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,64,512,16,128,256,1,1,1,2,2,2,,,0,-1,-1,,,1,,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,6.9235,0,0,0,4,3 -gfx1250,256,8,6144,768,129,5,ActivationType.Swiglu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,128,512,16,512,256,1,2,1,8,3,2,,,0,-1,-1,,,-1,,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,14.3371,0,0,0,, -gfx1250,256,16,6144,768,129,5,ActivationType.Swiglu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,384,128,16,128,128,1,2,1,2,3,2,,,0,-1,-1,,,-1,,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,31.2030,0,0,0,, -gfx1250,256,32,6144,768,129,5,ActivationType.Swiglu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,64,1024,16,256,128,1,1,1,2,2,3,,,0,-1,-1,,,1,,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,45.4792,0,0,0,1, -gfx1250,256,64,6144,768,129,5,ActivationType.Swiglu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,512,128,16,512,128,1,8,1,8,4,4,,,0,-1,-1,,,-1,,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,61.6371,0,0,0,, -gfx1250,256,128,6144,768,129,5,ActivationType.Swiglu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,128,512,16,256,256,1,2,1,4,2,2,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,1024,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,80.25,,,,, -gfx1250,256,256,6144,768,129,5,ActivationType.Swiglu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,256,256,16,128,128,1,4,1,2,3,2,,,0,-1,-1,,,-1,,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,69.6598,0,0,0,, -gfx1250,256,512,6144,768,129,5,ActivationType.Swiglu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,32,256,512,32,256,128,1,4,1,4,2,3,,,0,-1,-1,,,-1,,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,73.7413,0,0,0,, -gfx1250,256,1024,6144,768,129,5,ActivationType.Swiglu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,64,256,128,64,128,128,2,2,1,2,3,3,,,0,-1,-1,,,-1,,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,83.2841,0,0,0,, -gfx1250,256,2048,6144,768,129,5,ActivationType.Swiglu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,512,128,128,256,128,2,4,1,4,4,4,,,0,-1,-1,,,-1,,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,106.4725,0,0,0,, -gfx1250,256,4096,6144,768,129,5,ActivationType.Swiglu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,256,256,128,256,256,1,4,1,4,3,3,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,188.93,,,,, -gfx1250,256,8192,6144,768,129,5,ActivationType.Swiglu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,256,256,128,256,256,1,4,1,4,3,3,,,0,4,4,4,1,1,1,1,0,1,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,241.4516,1,0,0,, -gfx1250,256,16384,6144,768,129,5,ActivationType.Swiglu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,256,256,256,256,256,256,2,2,2,2,3,4,,,0,2,2,4,4,1,1,1,0,1,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,406.0694,1,0,0,, -gfx1250,256,32768,6144,768,129,5,ActivationType.Swiglu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,256,256,256,256,256,256,2,2,2,2,3,3,,,0,2,2,4,4,1,1,1,0,1,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,707.0587,0,0,0,, -gfx1250,256,1,6144,768,129,5,ActivationType.Swiglu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,64,512,16,128,256,1,1,1,2,2,2,,,0,-1,-1,,,1,,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,7.0223,0,0,0,4, -gfx1250,256,8,6144,768,129,5,ActivationType.Swiglu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,256,512,16,512,256,1,4,1,4,3,2,,,0,-1,-1,,,-1,,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,14.3670,0,0,0,, -gfx1250,256,16,6144,768,129,5,ActivationType.Swiglu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,128,256,16,256,128,1,2,1,2,4,2,,,0,-1,-1,,,-1,,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,29.3450,0,0,0,, -gfx1250,256,32,6144,768,129,5,ActivationType.Swiglu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,128,256,16,256,128,1,2,1,2,4,3,,,0,-1,-1,,,-1,,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,47.5227,0,0,0,, -gfx1250,256,64,6144,768,129,5,ActivationType.Swiglu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,512,128,16,512,128,1,4,1,8,4,3,,,0,-1,-1,,,-1,,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,62.2897,0,0,0,, -gfx1250,256,128,6144,768,129,5,ActivationType.Swiglu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,512,256,16,128,128,1,8,1,2,4,3,,,0,-1,-1,,,-1,,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,67.3709,0,0,0,, -gfx1250,256,256,6144,768,129,5,ActivationType.Swiglu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,512,256,16,128,256,1,4,1,2,2,2,,,0,-1,-1,,,-1,,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,70.5307,0,0,0,, -gfx1250,256,512,6144,768,129,5,ActivationType.Swiglu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,32,512,128,32,384,128,1,4,1,2,2,3,,,0,-1,-1,,,-1,,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,76.9218,0,0,0,, -gfx1250,256,1024,6144,768,129,5,ActivationType.Swiglu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,64,512,128,64,256,128,1,4,2,2,3,3,,,0,-1,-1,,,-1,,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,88.0554,0,0,0,, -gfx1250,256,2048,6144,768,129,5,ActivationType.Swiglu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,512,256,128,256,256,1,4,2,2,3,2,,,0,-1,-1,,,-1,,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,119.5323,0,0,0,, -gfx1250,256,4096,6144,768,129,5,ActivationType.Swiglu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,256,256,128,256,256,2,2,2,2,2,2,,,0,-1,-1,,,-1,,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,199.5641,0,0,0,, -gfx1250,256,8192,6144,768,129,5,ActivationType.Swiglu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,512,256,128,512,256,1,4,2,4,3,4,,,0,-1,-1,,,-1,,1,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,301.4199,0,0,0,, -gfx1250,256,16384,6144,768,129,5,ActivationType.Swiglu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,512,256,128,256,256,1,4,2,2,3,2,,,0,-1,-1,,,-1,,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,530.9981,0,0,0,, -gfx1250,256,32768,6144,768,129,5,ActivationType.Swiglu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,512,256,128,256,256,1,4,2,2,3,2,,,0,-1,-1,,,-1,,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,934.3685,0,0,0,, +gfx,cu_num,token,model_dim,inter_dim,expert,topk,act_type,dtype,q_dtype_a,q_dtype_w,ep_fused,q_type,use_g1u1,doweight_stage1,tile_m,tile_n,tile_k,tile_m2,tile_n2,tile_k2,m_warp,n_warp,m_warp2,n_warp2,num_buffers,num_buffer_stage2,split_k1,split_k2,tdm_as_in_prologue,cluster_m,cluster_n,cluster_m2,cluster_n2,waves_per_tensor_tdm,waves_per_tensor_tdm2,next_stage_prefetch,tdm_b_th,lds_soa_load_interleave,rolled_drain,persistent_workers,persistent_workers2,kernelName1,kernelName2,us,a_preshuffle,tflops,bw +gfx1250,256,2,6144,768,129,5,ActivationType.Swiglu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,64,1024,16,64,256,1,1,1,2,3,3,1,1,0,-1,-1,-1,-1,1,-1,0,0,0,0,1024,2048,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,22.07,,, +gfx1250,256,4,6144,768,129,5,ActivationType.Swiglu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,64,1024,16,64,256,1,1,1,2,3,3,1,1,0,-1,-1,-1,-1,1,-1,0,0,0,0,1024,2048,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,25.28,,, +gfx1250,256,1,6144,3072,129,5,ActivationType.Swiglu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,64,512,16,128,512,1,1,1,2,2,2,2,2,0,-1,-1,,,1,,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,9.3754,0,0,0 +gfx1250,256,8,6144,3072,129,5,ActivationType.Swiglu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,256,256,16,512,128,1,4,1,8,4,2,,,0,-1,-1,,,-1,,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,77.9298,0,0,0 +gfx1250,256,16,6144,3072,129,5,ActivationType.Swiglu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,256,256,16,512,256,1,2,1,4,4,3,,,0,-1,-1,,,-1,,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,119.4024,0,0,0 +gfx1250,256,32,6144,3072,129,5,ActivationType.Swiglu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,64,1024,16,128,512,1,1,1,2,3,2,,,0,-1,-1,,,1,,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,186.9773,0,0,0 +gfx1250,256,64,6144,3072,129,5,ActivationType.Swiglu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,512,256,16,384,128,1,4,1,2,4,3,,,0,-1,-1,,,-1,,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,229.5677,0,0,0 +gfx1250,256,128,6144,3072,129,5,ActivationType.Swiglu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,384,512,16,128,512,1,2,1,2,2,2,,,0,-1,-1,,,-1,,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,241.4983,0,0,0 +gfx1250,256,256,6144,3072,129,5,ActivationType.Swiglu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,512,512,16,384,128,1,4,1,2,2,3,,,0,-1,-1,,,-1,,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,258.5324,0,0,0 +gfx1250,256,512,6144,3072,129,5,ActivationType.Swiglu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,32,384,256,32,256,512,1,2,1,4,2,2,,,0,-1,-1,,,-1,,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,269.6804,0,0,0 +gfx1250,256,1024,6144,3072,129,5,ActivationType.Swiglu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,64,128,128,64,128,128,1,2,1,2,3,3,,,0,-1,-1,,,-1,,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,286.9140,0,0,0 +gfx1250,256,2048,6144,3072,129,5,ActivationType.Swiglu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,512,128,128,256,256,2,4,2,4,4,3,,,0,-1,-1,,,-1,,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,335.9373,0,0,0 +gfx1250,256,4096,6144,3072,129,5,ActivationType.Swiglu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,256,256,256,256,256,512,2,2,2,2,4,2,,,0,1,4,,,1,,1,0,1,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,467.0129,1,0,0 +gfx1250,256,8192,6144,3072,129,5,ActivationType.Swiglu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,512,256,128,256,256,1,4,2,2,3,3,,,0,-1,4,,,-1,,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,761.5430,0,0,0 +gfx1250,256,16384,6144,3072,129,5,ActivationType.Swiglu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,256,256,256,256,256,256,2,2,2,2,3,3,,,0,1,4,2,2,1,1,1,0,1,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,1181.0994,1,0,0 +gfx1250,256,32768,6144,3072,129,5,ActivationType.Swiglu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,256,256,256,256,256,256,2,2,2,2,3,3,,,0,4,1,4,4,1,1,1,0,1,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,2166.4935,1,0,0 +gfx1250,256,1,6144,3072,129,5,ActivationType.Swiglu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,64,512,16,128,512,1,1,1,2,2,2,2,2,0,-1,-1,,,1,,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,9.5492,0,0,0 +gfx1250,256,8,6144,3072,129,5,ActivationType.Swiglu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,256,512,16,128,256,1,4,1,2,2,3,,,0,-1,-1,,,-1,,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,82.4577,0,0,0 +gfx1250,256,16,6144,3072,129,5,ActivationType.Swiglu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,256,256,16,512,512,1,4,1,4,3,2,,,0,-1,-1,,,-1,,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,116.1466,0,0,0 +gfx1250,256,32,6144,3072,129,5,ActivationType.Swiglu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,256,128,16,256,128,1,2,1,2,3,3,,,0,-1,-1,,,-1,,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,178.2946,0,0,0 +gfx1250,256,64,6144,3072,129,5,ActivationType.Swiglu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,512,256,16,384,128,1,4,1,2,4,3,,,0,-1,-1,,,-1,,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,231.1327,0,0,0 +gfx1250,256,128,6144,3072,129,5,ActivationType.Swiglu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,128,256,16,384,128,1,2,1,2,3,3,,,0,-1,-1,,,-1,,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,248.0446,0,0,0 +gfx1250,256,256,6144,3072,129,5,ActivationType.Swiglu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,384,128,16,384,128,1,2,1,2,3,3,,,0,-1,-1,,,-1,,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,256.3651,0,0,0 +gfx1250,256,512,6144,3072,129,5,ActivationType.Swiglu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,32,512,128,32,384,256,1,4,1,2,2,2,,,0,-1,-1,,,-1,,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,279.9470,0,0,0 +gfx1250,256,2048,6144,3072,129,5,ActivationType.Swiglu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,512,256,128,256,256,1,4,2,2,3,2,,,0,-1,-1,,,-1,,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,378.8039,0,0,0 +gfx1250,256,4096,6144,3072,129,5,ActivationType.Swiglu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,512,256,128,256,256,1,4,2,2,3,2,,,0,-1,-1,,,-1,,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,652.9629,0,0,0 +gfx1250,256,8192,6144,3072,129,5,ActivationType.Swiglu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,512,256,128,256,256,1,4,2,2,3,2,,,0,-1,-1,,,-1,,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,987.9044,0,0,0 +gfx1250,256,16384,6144,3072,129,5,ActivationType.Swiglu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,256,256,128,256,256,256,2,2,2,2,4,2,,,0,2,4,,,2,,1,0,1,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,1769.0063,0,0,0 +gfx1250,256,32768,6144,3072,129,5,ActivationType.Swiglu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,256,256,128,256,256,128,2,2,2,2,4,4,,,0,2,4,4,4,2,2,1,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,2881.3809,0,0,0 +gfx1250,256,1,6144,768,129,5,ActivationType.Swiglu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,64,512,16,128,256,1,1,1,2,2,2,4,3,0,-1,-1,,,1,,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,6.9235,0,0,0 +gfx1250,256,8,6144,768,129,5,ActivationType.Swiglu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,128,512,16,512,256,1,2,1,8,3,2,,,0,-1,-1,,,-1,,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,14.3371,0,0,0 +gfx1250,256,16,6144,768,129,5,ActivationType.Swiglu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,384,128,16,128,128,1,2,1,2,3,2,,,0,-1,-1,,,-1,,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,31.2030,0,0,0 +gfx1250,256,32,6144,768,129,5,ActivationType.Swiglu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,64,1024,16,256,128,1,1,1,2,2,3,,,0,-1,-1,,,1,,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,45.4792,0,0,0 +gfx1250,256,64,6144,768,129,5,ActivationType.Swiglu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,512,128,16,512,128,1,8,1,8,4,4,,,0,-1,-1,,,-1,,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,61.6371,0,0,0 +gfx1250,256,128,6144,768,129,5,ActivationType.Swiglu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,128,512,16,256,256,1,2,1,4,2,2,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,1024,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,80.25,,, +gfx1250,256,256,6144,768,129,5,ActivationType.Swiglu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,256,256,16,128,128,1,4,1,2,3,2,,,0,-1,-1,,,-1,,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,69.6598,0,0,0 +gfx1250,256,512,6144,768,129,5,ActivationType.Swiglu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,32,256,512,32,256,128,1,4,1,4,2,3,,,0,-1,-1,,,-1,,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,73.7413,0,0,0 +gfx1250,256,1024,6144,768,129,5,ActivationType.Swiglu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,64,256,128,64,128,128,2,2,1,2,3,3,,,0,-1,-1,,,-1,,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,83.2841,0,0,0 +gfx1250,256,2048,6144,768,129,5,ActivationType.Swiglu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,512,128,128,256,128,2,4,1,4,4,4,,,0,-1,-1,,,-1,,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,106.4725,0,0,0 +gfx1250,256,4096,6144,768,129,5,ActivationType.Swiglu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,256,256,128,256,256,1,4,1,4,3,3,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,188.93,,, +gfx1250,256,8192,6144,768,129,5,ActivationType.Swiglu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,256,256,128,256,256,1,4,1,4,3,3,,,0,4,4,4,1,1,1,1,0,1,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,241.4516,1,0,0 +gfx1250,256,16384,6144,768,129,5,ActivationType.Swiglu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,256,256,256,256,256,256,2,2,2,2,3,4,,,0,2,2,4,4,1,1,1,0,1,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,406.0694,1,0,0 +gfx1250,256,32768,6144,768,129,5,ActivationType.Swiglu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,256,256,256,256,256,256,2,2,2,2,3,3,,,0,2,2,4,4,1,1,1,0,1,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,707.0587,0,0,0 +gfx1250,256,1,6144,768,129,5,ActivationType.Swiglu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,64,512,16,128,256,1,1,1,2,2,2,4,,0,-1,-1,,,1,,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,7.0223,0,0,0 +gfx1250,256,8,6144,768,129,5,ActivationType.Swiglu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,256,512,16,512,256,1,4,1,4,3,2,,,0,-1,-1,,,-1,,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,14.3670,0,0,0 +gfx1250,256,16,6144,768,129,5,ActivationType.Swiglu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,128,256,16,256,128,1,2,1,2,4,2,,,0,-1,-1,,,-1,,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,29.3450,0,0,0 +gfx1250,256,32,6144,768,129,5,ActivationType.Swiglu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,128,256,16,256,128,1,2,1,2,4,3,,,0,-1,-1,,,-1,,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,47.5227,0,0,0 +gfx1250,256,64,6144,768,129,5,ActivationType.Swiglu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,512,128,16,512,128,1,4,1,8,4,3,,,0,-1,-1,,,-1,,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,62.2897,0,0,0 +gfx1250,256,128,6144,768,129,5,ActivationType.Swiglu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,512,256,16,128,128,1,8,1,2,4,3,,,0,-1,-1,,,-1,,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,67.3709,0,0,0 +gfx1250,256,256,6144,768,129,5,ActivationType.Swiglu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,512,256,16,128,256,1,4,1,2,2,2,,,0,-1,-1,,,-1,,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,70.5307,0,0,0 +gfx1250,256,512,6144,768,129,5,ActivationType.Swiglu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,32,512,128,32,384,128,1,4,1,2,2,3,,,0,-1,-1,,,-1,,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,76.9218,0,0,0 +gfx1250,256,1024,6144,768,129,5,ActivationType.Swiglu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,64,512,128,64,256,128,1,4,2,2,3,3,,,0,-1,-1,,,-1,,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,88.0554,0,0,0 +gfx1250,256,2048,6144,768,129,5,ActivationType.Swiglu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,512,256,128,256,256,1,4,2,2,3,2,,,0,-1,-1,,,-1,,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,119.5323,0,0,0 +gfx1250,256,4096,6144,768,129,5,ActivationType.Swiglu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,256,256,128,256,256,2,2,2,2,2,2,,,0,-1,-1,,,-1,,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,199.5641,0,0,0 +gfx1250,256,8192,6144,768,129,5,ActivationType.Swiglu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,512,256,128,512,256,1,4,2,4,3,4,,,0,-1,-1,,,-1,,1,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,301.4199,0,0,0 +gfx1250,256,16384,6144,768,129,5,ActivationType.Swiglu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,512,256,128,256,256,1,4,2,2,3,2,,,0,-1,-1,,,-1,,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,530.9981,0,0,0 +gfx1250,256,32768,6144,768,129,5,ActivationType.Swiglu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,128,512,256,128,256,256,1,4,2,2,3,2,,,0,-1,-1,,,-1,,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,934.3685,0,0,0 diff --git a/aiter/configs/tuned_grouped_fmoe.csv b/aiter/configs/tuned_grouped_fmoe.csv index 563b5c2e2c3..2463aafea3c 100644 --- a/aiter/configs/tuned_grouped_fmoe.csv +++ b/aiter/configs/tuned_grouped_fmoe.csv @@ -3,7 +3,7 @@ gfx1250,256,64,4096,2048,256,6,ActivationType.Swiglu,torch.bfloat16,torch.float4 gfx1250,256,64,4096,2048,256,6,ActivationType.Swiglu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,512,128,16,512,128,1,4,1,4,2,2,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,468.0528,0,0 gfx1250,256,64,4096,2048,256,6,ActivationType.Silu,torch.bfloat16,torch.float4_e2m1fn_x2,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,512,128,16,512,128,1,4,1,4,2,2,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,468.0528,0,0 gfx1250,256,64,4096,2048,256,6,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,512,128,16,512,128,1,4,1,4,2,2,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,468.0528,0,0 -gfx1250,256,1,4096,2048,256,6,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,256,256,16,256,256,1,4,1,4,2,2,4,2,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,339.3273,0,0 +gfx1250,256,1,4096,2048,256,6,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,256,256,16,256,256,1,4,1,4,2,2,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,339.3273,0,0 gfx1250,256,2,4096,2048,256,6,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,256,256,16,256,256,1,4,1,4,2,2,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,347.7829,0,0 gfx1250,256,4,4096,2048,256,6,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,256,256,16,256,256,1,4,1,4,2,2,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,365.3146,0,0 gfx1250,256,8,4096,2048,256,6,ActivationType.Silu,torch.bfloat16,torch.float8_e4m3fn,torch.float4_e2m1fn_x2,,QuantType.per_1x32,1,0,16,256,256,16,256,256,1,4,1,4,2,2,1,1,0,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,grouped_gemm1_fp4_gugu,grouped_gemm2_fp4,348.3547,0,0 diff --git a/aiter/ops/flydsl/grouped_gemm_mxfp4.py b/aiter/ops/flydsl/grouped_gemm_mxfp4.py index c04cd8c1759..91766ea5a33 100644 --- a/aiter/ops/flydsl/grouped_gemm_mxfp4.py +++ b/aiter/ops/flydsl/grouped_gemm_mxfp4.py @@ -186,9 +186,19 @@ def flydsl_grouped_gemm_a8w4_masked( if float(situ_linear_beta) <= 0.0: raise ValueError(f"situ_linear_beta must be > 0, got {situ_linear_beta!r}") k_tiles = (K + tile_k - 1) // tile_k - k_waves = max(1, int(k_waves)) - if k_waves > 1 and (k_tiles % k_waves or K % tile_k or stage2_scatter is not None): - k_waves = 1 + k_waves = int(k_waves) + if k_waves < 1: + raise ValueError(f"k_waves (CSV split_k1/split_k2) must be >= 1, got {k_waves}") + if k_waves > 1: + # Each wave group runs the full pipeline on its own K slice, so the + # slices must be whole and equal; an EP scatter epilogue cannot be split. + if K % tile_k or k_tiles % k_waves: + raise ValueError( + f"k_waves={k_waves} must evenly split the K tiles " + f"(K={K}, tile_k={tile_k}, {k_tiles} tiles)" + ) + if stage2_scatter is not None: + raise ValueError(f"k_waves={k_waves} does not support the EP scatter") num_buffers = min(num_buffers, max(1, k_tiles // k_waves)) if bias is None: has_bias = 0 @@ -225,11 +235,16 @@ def flydsl_grouped_gemm_a8w4_masked( persistent_workers = ( (persistent_workers + cluster_n - 1) // cluster_n * cluster_n ) - if k_waves > 1: - # k_waves owns the grid: no clusters, no persistent workers, no As prologue. - cluster_n = cluster_m = 1 - persistent_workers = 0 - tdm_as_in_prologue = 0 + # k_waves owns the grid: no clusters, no persistent workers, no As prologue. + # Reject a config that asks for them rather than dropping them. + if k_waves > 1 and ( + cluster_n > 1 or cluster_m > 1 or persistent_workers or tdm_as_in_prologue + ): + raise ValueError( + f"k_waves={k_waves} needs a plain grid, got cluster_n={cluster_n} " + f"cluster_m={cluster_m} persistent_workers={persistent_workers} " + f"tdm_as_in_prologue={tdm_as_in_prologue}" + ) waves_per_tensor_tdm = _select_num_waves_per_tensor_tdm(waves_per_tensor_tdm) rolled_drain = int(rolled_drain) if rolled_drain not in (0, 1): diff --git a/aiter/ops/flydsl/grouped_moe_gfx1250.py b/aiter/ops/flydsl/grouped_moe_gfx1250.py index 6fd6139121a..01c6ccd3988 100644 --- a/aiter/ops/flydsl/grouped_moe_gfx1250.py +++ b/aiter/ops/flydsl/grouped_moe_gfx1250.py @@ -609,6 +609,11 @@ def get_wmma_m_rep( return tile_m // m_warp // wmma_m +@functools.cache +def _log_tile_fit_once(msg: str) -> None: + logger.info("[grouped-moe] default tile narrowed to fit the shape: %s", msg) + + def _fit_tile_n(n: int, tile_n: int, n_warp: int) -> tuple[int, int]: """Halve ``tile_n`` (and ``n_warp`` while its wave tile stays >= 64) until it divides ``n``.""" @@ -667,6 +672,7 @@ def _grouped_a8w4_tdm_moe( persistent_workers2=0, k_waves1=1, k_waves2=1, + tiles_configured=False, data_format="a8w4", expert_mask=None, num_local_tokens=None, @@ -745,15 +751,30 @@ def _grouped_a8w4_tdm_moe( f"the compact plan's row alignment {_plan_align}" ) # The B loads do not clamp N, so a partial last N tile would read the next - # expert's rows (and fault past the last one). Narrow such a tile, e.g. the - # 256-wide default at inter_dim=576 (N=1152), to one that divides N. - tile_n, n_warp = _fit_tile_n(2 * inter_dim, tile_n, n_warp) - tile_n2, n_warp2 = _fit_tile_n(model_dim, tile_n2, n_warp2) - # A half-k128 K tail (inter_dim % 128 == 64) only runs with a k128 tile. - if model_dim % 128: - tile_k = 128 - if inter_dim % 128: - tile_k2 = 128 + # expert's rows (and fault past the last one), and a half-k128 K tail + # (K % 128 == 64) only runs with a k128 tile. A tile the caller configured + # (CSV row or AITER_TDM_* override) must already fit; only the built-in + # default, e.g. 256 wide at inter_dim=576 (N=1152), is narrowed, and the + # tile that actually launches is logged. + fit_n, fit_nw = _fit_tile_n(2 * inter_dim, tile_n, n_warp) + fit_n2, fit_nw2 = _fit_tile_n(model_dim, tile_n2, n_warp2) + fit_k = 128 if model_dim % 128 else tile_k + fit_k2 = 128 if inter_dim % 128 else tile_k2 + asked = (tile_n, n_warp, tile_k, tile_n2, n_warp2, tile_k2) + fitted = (fit_n, fit_nw, fit_k, fit_n2, fit_nw2, fit_k2) + if fitted != asked: + _fit_msg = ( + f"gemm1 (N={2 * inter_dim}, K={model_dim}) tile_n/n_warp/tile_k " + f"{tile_n}/{n_warp}/{tile_k} -> {fit_n}/{fit_nw}/{fit_k}; " + f"gemm2 (N={model_dim}, K={inter_dim}) tile_n2/n_warp2/tile_k2 " + f"{tile_n2}/{n_warp2}/{tile_k2} -> {fit_n2}/{fit_nw2}/{fit_k2}" + ) + if tiles_configured: + raise ValueError( + f"[grouped-moe] configured tile does not fit the shape: {_fit_msg}" + ) + _log_tile_fit_once(_fit_msg) + tile_n, n_warp, tile_k, tile_n2, n_warp2, tile_k2 = fitted wmma_rep = get_wmma_m_rep(tile_m, tile_n, m_warp, n_warp, "gemm1") wmma_rep2 = get_wmma_m_rep(tile_m2, tile_n2, m_warp2, n_warp2, "gemm2") _align_m = max(tile_m, tile_m2) @@ -1817,10 +1838,12 @@ def _fmt(v): cfg_row.get("lds_soa_load_interleave"), 0 ) _tdm_kw["rolled_drain"] = _as_int(cfg_row.get("rolled_drain"), 0) - # The model_configs/ merge fills a column an older table lacks - # (e.g. kimik3tp8) with 0, so a k_waves below 1 means unset. - _tdm_kw["k_waves1"] = max(1, _as_int(cfg_row.get("k_waves1"), 1)) - _tdm_kw["k_waves2"] = max(1, _as_int(cfg_row.get("k_waves2"), 1)) + # split_k1/split_k2 split each GEMM's K across that many wave groups + # inside one workgroup (k_waves); the grid stays the same. Blank or 0 + # (the model_configs/ merge fills a column an older table lacks with + # 0) means unset, i.e. no split. + _tdm_kw["k_waves1"] = max(1, _as_int(cfg_row.get("split_k1"), 1)) + _tdm_kw["k_waves2"] = max(1, _as_int(cfg_row.get("split_k2"), 1)) # Follow the matched CSV bucket, including padded token counts # (for example, 6144 -> 8192), just like the other kernel knobs. _tdm_kw["a_preshuffle"] = _as_int(cfg_row.get("a_preshuffle"), 0) @@ -1891,6 +1914,12 @@ def _tdm_env(name): _tdm_kw["n_warp"] = _base_nw _tdm_kw["m_warp2"] = _ov_mw2 if _ov_mw2 is not None else _base_mw _tdm_kw["n_warp2"] = _ov_nw2 if _ov_nw2 is not None else _base_nw + # A tile from the CSV row or an AITER_TDM_* override must fit as given; + # only the built-in default may be narrowed (see _grouped_a8w4_tdm_moe). + _tdm_kw["tiles_configured"] = any( + k in _tdm_kw + for k in ("tile_n", "tile_k", "n_warp", "tile_n2", "tile_k2", "n_warp2") + ) return _grouped_a8w4_tdm_moe( hidden_states, w1, diff --git a/aiter/ops/flydsl/kernels/mxfp4_preshuffle_gfx1250_tdm.py b/aiter/ops/flydsl/kernels/mxfp4_preshuffle_gfx1250_tdm.py index 91fe274b87d..065a4d698cd 100644 --- a/aiter/ops/flydsl/kernels/mxfp4_preshuffle_gfx1250_tdm.py +++ b/aiter/ops/flydsl/kernels/mxfp4_preshuffle_gfx1250_tdm.py @@ -2250,6 +2250,14 @@ def quant_byte_offset(row, col): dst_byte, mask=is_kgrp0, ) + # Half-k128 tail (inter_dim % 128 == 64): one scale + # dword carries the e8m0 of four 32-column MX blocks, + # i.e. one k128 of GEMM2's K, but the last dword only + # has two real blocks. GEMM2 still reads all four + # bytes (against zero A data in the padded half), so + # the lane that writes the last real block also fills + # bytes 2..3 with 0x7F (2^0): a stale 0xFF there is + # NaN, and 0 * NaN poisons the whole output row. buffer_store( fx.Int16(0x7F7F), scale_rsrc,