@@ -484,15 +484,13 @@ def __init__(
484484
485485 self .num_fused_shared_experts = config .n_shared_experts if config is not None and is_rocm_aiter_fusion_shared_expert_enabled () else 0
486486 self .routed_scaling_factor = config .routed_scaling_factor if config is not None and config .torch_dtype != torch .float16 else 1.0
487- if is_rocm_aiter_fusion_shared_expert_enabled ():
488- self .local_num_experts += self .num_fused_shared_experts
489487 self .expert_mask = None
490488 if use_ep and is_rocm_aiter_moe_enabled ():
491489 expert_mask = torch .ones ((self .global_num_experts + self .num_fused_shared_experts + 1 ,), dtype = torch .int32 )
492490 expert_mask [- 1 ] = 0
493491 expert_mask [:self .global_num_experts ] = self .expert_map > - 1
494492 self .expert_mask = expert_mask
495- self .expert_map = torch .cat ((self .expert_map , torch .tensor ([self .local_num_experts - 1 ],dtype = torch .int32 )), dim = 0 )
493+ self .expert_map = torch .cat ((self .expert_map , torch .tensor ([self .local_num_experts + i for i in range ( self . num_fused_shared_experts ) ],dtype = torch .int32 )), dim = 0 )
496494 if is_rocm_aiter_fusion_shared_expert_enabled () and self .num_fused_shared_experts > 0 :
497495 init_aiter_topK_meta_data (
498496 n_routed_experts = self .global_num_experts ,
@@ -504,6 +502,8 @@ def __init__(
504502 max_num_tokens = vllm_config .scheduler_config .max_num_batched_tokens ,
505503 is_EP = use_ep ,
506504 )
505+ if is_rocm_aiter_fusion_shared_expert_enabled ():
506+ self .local_num_experts += self .num_fused_shared_experts
507507
508508 assert intermediate_size % self .tp_size == 0
509509 self .hidden_size = hidden_size
0 commit comments