pub fn moe_expert_gate_up_shared_fp8(
gpu: &dyn GpuBackend,
kernel: KernelHandle,
input: DevicePtr,
gate_weight_ptrs: DevicePtr,
gate_scale_ptrs: DevicePtr,
gate_out: DevicePtr,
up_weight_ptrs: DevicePtr,
up_scale_ptrs: DevicePtr,
up_out: DevicePtr,
expert_indices: DevicePtr,
sh_gate: &Fp8Weight,
sh_gate_out: DevicePtr,
sh_up: &Fp8Weight,
sh_up_out: DevicePtr,
n: u32,
k: u32,
top_k: u32,
stream: u64,
) -> Result<()>Expand description
Fused gate+up expert GEMV with shared expert for FP8 weights.
FP8 variant of moe_expert_gate_up_shared: uses 2 pointer tables per
projection (weight_ptrs + scale_ptrs) instead of NVFP4’s 3 (packed +
scale + scale2). Shared expert weights are passed as direct Fp8Weight
pointers.
Grid: (ceil(N/8), top_k+1, 2) Block: (128, 1, 1)