nvfp4_grouped_gate_up_fused

Function nvfp4_grouped_gate_up_fused 

Source
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.