[refactor] ctx.resources: named slots, stream leases, and workspace buffer leases (#30348)
This commit is contained in:
@@ -284,18 +284,20 @@ class _ExpertDistributionRecorderReal(ExpertDistributionRecorder):
|
||||
return self._recording
|
||||
|
||||
|
||||
_global_expert_distribution_recorder: Optional[ExpertDistributionRecorder] = (
|
||||
_ExpertDistributionRecorderNoop()
|
||||
)
|
||||
|
||||
|
||||
def get_global_expert_distribution_recorder():
|
||||
return _global_expert_distribution_recorder
|
||||
from sglang.srt.runtime_context import get_resources
|
||||
|
||||
resources = get_resources()
|
||||
if resources.expert_distribution_recorder is None:
|
||||
# Call sites expect a recorder unconditionally; default to the noop.
|
||||
resources.expert_distribution_recorder = _ExpertDistributionRecorderNoop()
|
||||
return resources.expert_distribution_recorder
|
||||
|
||||
|
||||
def set_global_expert_distribution_recorder(value):
|
||||
global _global_expert_distribution_recorder
|
||||
_global_expert_distribution_recorder = value
|
||||
from sglang.srt.runtime_context import get_resources
|
||||
|
||||
get_resources().expert_distribution_recorder = value
|
||||
|
||||
|
||||
# --------------------------------------- SinglePassGatherer -----------------------------------------
|
||||
|
||||
@@ -305,17 +305,18 @@ class ExpertLocationMetadata:
|
||||
]
|
||||
|
||||
|
||||
_global_expert_location_metadata: Optional[ExpertLocationMetadata] = None
|
||||
|
||||
|
||||
def get_global_expert_location_metadata():
|
||||
return _global_expert_location_metadata
|
||||
from sglang.srt.runtime_context import get_resources
|
||||
|
||||
return get_resources().expert_location_metadata
|
||||
|
||||
|
||||
def set_global_expert_location_metadata(value):
|
||||
global _global_expert_location_metadata
|
||||
assert _global_expert_location_metadata is None
|
||||
_global_expert_location_metadata = value
|
||||
from sglang.srt.runtime_context import get_resources
|
||||
|
||||
resources = get_resources()
|
||||
assert resources.expert_location_metadata is None
|
||||
resources.expert_location_metadata = value
|
||||
|
||||
|
||||
def broadcast_global_expert_location_metadata(
|
||||
|
||||
@@ -26,7 +26,6 @@ import torch
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
# Global per-layer LPLB solvers
|
||||
_global_lplb_solvers: dict[int, LPLBSolver] = {}
|
||||
|
||||
|
||||
# LP dispatch requires every EP rank to call solver.solve() on every forward
|
||||
@@ -59,15 +58,21 @@ def assert_lplb_supported_model(architecture: str) -> None:
|
||||
|
||||
|
||||
def get_global_lplb_solver(layer_id: int) -> Optional[LPLBSolver]:
|
||||
return _global_lplb_solvers.get(layer_id)
|
||||
from sglang.srt.runtime_context import get_resources
|
||||
|
||||
return get_resources().lplb_solvers.get(layer_id)
|
||||
|
||||
|
||||
def set_global_lplb_solver(layer_id: int, solver: LPLBSolver):
|
||||
_global_lplb_solvers[layer_id] = solver
|
||||
from sglang.srt.runtime_context import get_resources
|
||||
|
||||
get_resources().lplb_solvers[layer_id] = solver
|
||||
|
||||
|
||||
def clear_global_lplb_solvers():
|
||||
_global_lplb_solvers.clear()
|
||||
from sglang.srt.runtime_context import get_resources
|
||||
|
||||
get_resources().lplb_solvers.clear()
|
||||
|
||||
|
||||
class LPLBSolver:
|
||||
|
||||
Reference in New Issue
Block a user