Skip to content

Commit 0c6161a

Browse files
committed
more
1 parent e0cce21 commit 0c6161a

1 file changed

Lines changed: 9 additions & 2 deletions

File tree

python/sglang/srt/managers/expert_distribution.py

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@
2828
from sglang.srt.managers.schedule_batch import global_server_args_dict
2929
from sglang.srt.model_executor.forward_batch_info import ForwardBatch
3030
from sglang.srt.server_args import ServerArgs
31-
from sglang.srt.utils import Withable, get_bool_env_var
31+
from sglang.srt.utils import Withable, get_bool_env_var, get_compiler_backend
3232

3333
logger = logging.getLogger(__name__)
3434

@@ -446,9 +446,16 @@ def collect(self) -> Dict:
446446
class _SelectExpertsSinglePassGatherer(_LayerBasedGpuSinglePassGatherer):
447447
# can optimize (e.g. fuse)
448448
def on_select_experts(self, layer_idx: int, topk_ids: torch.Tensor):
449+
self._on_select_experts_impl(self.data, layer_idx, topk_ids)
450+
451+
@staticmethod
452+
@torch.compile(dynamic=True, backend=get_compiler_backend())
453+
def _on_select_experts_impl(
454+
self_data: torch.Tensor, layer_idx: int, topk_ids: torch.Tensor
455+
):
449456
topk_ids = topk_ids.flatten()
450457
mask = topk_ids != -1
451-
self._data[layer_idx, :].scatter_add_(
458+
self_data[layer_idx, :].scatter_add_(
452459
dim=0, index=topk_ids.masked_fill(~mask, 0).long(), src=mask.int()
453460
)
454461

0 commit comments

Comments
 (0)