pub fn nvfp4_grouped_gate_up_fused(
a: u64,
sorted_token_ids: u64,
gate_packed_ptrs: &[u64],
gate_sfb_ptrs: &[u64],
gate_scale2_vals: &[f32],
up_packed_ptrs: &[u64],
up_sfb_ptrs: &[u64],
up_scale2_vals: &[f32],
c_gate: u64,
c_up: u64,
expert_offsets_host: &[i32],
n: u32,
k: u32,
stream: u64,
) -> Result<()>Expand description
Single-launch grouped (GemmUniversalMode::kGrouped) NVFP4 fused gate_up
GEMM — the Phase-2 successor to nvfp4_grouped_gate_up. Replaces the
per-expert collective loop with ONE grouped launch over all active experts,
eliminating the N-launch overhead.
a is bf16 [M_total, K], expert-contiguous (caller permuted so expert e
owns rows [expert_offsets_host[e], expert_offsets_host[e+1])).
*_packed_ptrs are device-pointer arrays (one per expert) into the CUTLASS
[N,K/2] packed weight tables; *_sfb_ptrs are device-pointer arrays into
the swizzled SFB (ue4m3) scale tables (see pack_weight_sfb).
*_scale2_vals and expert_offsets_host are HOST arrays.