Expert distribution recording without overhead for EPLB (#4957)
This commit is contained in:
@@ -59,7 +59,10 @@ from sglang.srt.hf_transformers_utils import (
|
||||
)
|
||||
from sglang.srt.layers.dp_attention import compute_dp_attention_world_info
|
||||
from sglang.srt.layers.logits_processor import LogitsProcessorOutput
|
||||
from sglang.srt.managers.expert_distribution import ExpertDistributionRecorder
|
||||
from sglang.srt.managers.expert_distribution import (
|
||||
ExpertDistributionRecorder,
|
||||
get_global_expert_distribution_recorder,
|
||||
)
|
||||
from sglang.srt.managers.io_struct import (
|
||||
AbortReq,
|
||||
CloseSessionReqInput,
|
||||
@@ -142,8 +145,6 @@ from sglang.srt.utils import (
|
||||
)
|
||||
from sglang.utils import TypeBasedDispatcher, get_exception_traceback
|
||||
|
||||
expert_distribution_recorder = ExpertDistributionRecorder()
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
# Test retract decode for debugging purposes
|
||||
@@ -2162,11 +2163,11 @@ class Scheduler(
|
||||
|
||||
def expert_distribution_handle(self, recv_req: ExpertDistributionReq):
|
||||
if recv_req == ExpertDistributionReq.START_RECORD:
|
||||
expert_distribution_recorder.start_record()
|
||||
get_global_expert_distribution_recorder().start_record()
|
||||
elif recv_req == ExpertDistributionReq.STOP_RECORD:
|
||||
expert_distribution_recorder.stop_record()
|
||||
get_global_expert_distribution_recorder().stop_record()
|
||||
elif recv_req == ExpertDistributionReq.DUMP_RECORD:
|
||||
expert_distribution_recorder.dump_record()
|
||||
get_global_expert_distribution_recorder().dump_record()
|
||||
else:
|
||||
raise ValueError("Unrecognized ExpertDistributionReq value")
|
||||
return ExpertDistributionReqOutput()
|
||||
|
||||
Reference in New Issue
Block a user