pub fn moe_expert_gemv_gate_up(
gpu: &dyn GpuBackend,
kernel: KernelHandle,
input: DevicePtr,
gate_packed_ptrs: DevicePtr,
gate_scale_ptrs: DevicePtr,
gate_scale2_vals: DevicePtr,
gate_out: DevicePtr,
up_packed_ptrs: DevicePtr,
up_scale_ptrs: DevicePtr,
up_scale2_vals: DevicePtr,
up_out: DevicePtr,
expert_indices: DevicePtr,
n: u32,
k: u32,
top_k: u32,
stream: u64,
) -> Result<()>Expand description
Fused gate+up expert GEMV: both projections in one kernel launch.
blockIdx.z selects gate (0) vs up (1). Saves 48 launches per decode step.
Grid: (ceil(N/4), top_k, 2) Block: (128, 1, 1)