[Router] Report accelerator count in /v1/loads (#33548)
Co-authored-by: Yinghai Lu <yinghai@meta.com>
This commit is contained in:
co-authored by
Yinghai Lu
parent
8f2a3ad6d7
commit
d257b58e67
@@ -38,6 +38,19 @@ def _accelerator_name() -> Optional[str]:
|
||||
return get_device_name()
|
||||
|
||||
|
||||
@lru_cache(maxsize=1)
|
||||
def _num_accelerators_per_dp_rank(
|
||||
tp_size: int,
|
||||
pp_size: int,
|
||||
dp_size: int,
|
||||
enable_dp_attention: bool,
|
||||
) -> int:
|
||||
num_accelerators = tp_size * pp_size
|
||||
if enable_dp_attention:
|
||||
num_accelerators //= dp_size
|
||||
return num_accelerators
|
||||
|
||||
|
||||
def _get_tokenizer_manager():
|
||||
"""Dependency to get tokenizer_manager from global state."""
|
||||
from sglang.srt.entrypoints.http_server import get_global_state
|
||||
@@ -95,7 +108,8 @@ async def get_loads(
|
||||
format: Response format - 'json' (default) or 'prometheus'
|
||||
|
||||
Returns:
|
||||
JSON response with timestamp, version, accelerator, and per-DP-rank loads
|
||||
JSON response with timestamp, version, accelerator metadata, and
|
||||
per-DP-rank loads
|
||||
"""
|
||||
include_list = [s.strip() for s in include.split(",")] if include else None
|
||||
|
||||
@@ -128,5 +142,11 @@ async def get_loads(
|
||||
"timestamp": datetime.now(timezone.utc).isoformat(),
|
||||
"version": __version__,
|
||||
"accelerator": _accelerator_name(),
|
||||
"num_accelerators": _num_accelerators_per_dp_rank(
|
||||
tokenizer_manager.server_args.tp_size,
|
||||
tokenizer_manager.server_args.pp_size,
|
||||
tokenizer_manager.server_args.dp_size,
|
||||
tokenizer_manager.server_args.enable_dp_attention,
|
||||
),
|
||||
"loads": loads,
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user