pub fn moe_w4a16_fused_gate_up_k64_m128(
gpu: &dyn GpuBackend,
kernel: KernelHandle,
a: DevicePtr,
gate_packed_ptrs: DevicePtr,
gate_scale_ptrs: DevicePtr,
gate_scale2_vals: DevicePtr,
up_packed_ptrs: DevicePtr,
up_scale_ptrs: DevicePtr,
up_scale2_vals: DevicePtr,
c_gate: DevicePtr,
c_up: DevicePtr,
expert_offsets: DevicePtr,
sorted_token_ids: DevicePtr,
num_experts: u32,
n_out: u32,
k: u32,
max_m_tiles_m128: u32,
stream: u64,
) -> Result<()>Expand description
K64 fused gate+up GEMM — M=128 variant (Block D #3 — Avarok pattern).
Doubles M_TILE from 64 → 128. Caller must compute max_m_tiles_m128
using divisor 128 (vs 64 for the M=64 variant). Grid covers the same
total work but with half the blocks (and twice the work per block).
Grid: (ceil(2*n_out/128), max_m_tiles_m128, num_experts) Block: (256, 1, 1)