[NPU] [BUGFIX] Fix input parameters of swiglu_oai operator (#30458)
This commit is contained in:
@@ -769,9 +769,20 @@ class UnquantizedFusedMoEMethod(FusedMoEMethodBase, MultiPlatformOp):
|
|||||||
|
|
||||||
# act_fn:
|
# act_fn:
|
||||||
if self.moe_runner_config.activation == "npu_swiglu_oai":
|
if self.moe_runner_config.activation == "npu_swiglu_oai":
|
||||||
from sgl_kernel_npu.activation.swiglu_oai import swiglu_oai
|
from sgl_kernel_npu.activation.swiglu_oai import swiglu_oai_triton
|
||||||
|
|
||||||
hidden_states = swiglu_oai(layer, hidden_states)
|
# `hidden_states` is the gmm1 output of shape [num_tokens, 2 * inter].
|
||||||
|
# Pass the gate_up dim from the activation itself instead of letting
|
||||||
|
# swiglu_oai() derive it from layer.w13_weight.shape[2]: w13_weight is
|
||||||
|
# now stored un-transposed (transposed on the fly for the grouped
|
||||||
|
# matmuls above), so shape[2] is `hidden`, not the gate_up dim, which
|
||||||
|
# makes the kernel's view(-1, dim) reshape fail.
|
||||||
|
hidden_states = swiglu_oai_triton(
|
||||||
|
hidden_states,
|
||||||
|
hidden_states.shape[-1],
|
||||||
|
self.moe_runner_config.gemm1_alpha,
|
||||||
|
self.moe_runner_config.gemm1_clamp_limit,
|
||||||
|
)
|
||||||
elif self.moe_runner_config.activation == "silu":
|
elif self.moe_runner_config.activation == "silu":
|
||||||
if self.moe_runner_config.gemm1_clamp_limit is not None:
|
if self.moe_runner_config.gemm1_clamp_limit is not None:
|
||||||
from sgl_kernel_npu.activation.swiglu_quant import swiglu_quant
|
from sgl_kernel_npu.activation.swiglu_quant import swiglu_quant
|
||||||
|
|||||||
Reference in New Issue
Block a user