pub fn moe_expert_gate_up_act_fp8_grouped(
gpu: &dyn GpuBackend,
kernel: KernelHandle,
geometry: Fp8GroupedGeometry,
input: DevicePtr,
gp_w: DevicePtr,
gp_s: DevicePtr,
up_w: DevicePtr,
up_s: DevicePtr,
act: DevicePtr,
expert_offsets: DevicePtr,
sorted_token_ids: DevicePtr,
active_experts: DevicePtr,
active_count: DevicePtr,
sh_gate: &Fp8Weight,
sh_up: &Fp8Weight,
sh_act: DevicePtr,
n: u32,
k: u32,
cap: u32,
num_tokens: u32,
stream: u64,
) -> Result<()>Expand description
2026-09-26: Grouped FP8 gate+up and SiLU. cap is fp8_grouped_active_cap;
the first ceil(num_tokens / geometry.rows_per_pass) block rows are the shared
expert. Writes the product silu(bf16(gate)) * bf16(up), [positions, n] for
the routed experts into act and [num_tokens, n] for the shared expert into
sh_act: FP32 from the scalar kernel (FP8_GROUPED_GATE_UP_SCALAR), BF16 from
the tensor-core one (FP8_GROUPED_GATE_UP_TC, 2026-09-28).