Loading simulation_server/models/output.py +1 −0 Original line number Diff line number Diff line Loading @@ -255,6 +255,7 @@ COOLING_CEP_FIELD_SELECTORS = { class SystemInfo(BaseModel): name: str peak_flops: float peak_power: float g_flops_w_peak: float simulation_server/server/endpoints.py +7 −2 Original line number Diff line number Diff line Loading @@ -17,7 +17,7 @@ from .config import AppDeps from .service import ( run_simulation, query_sims, query_cooling_sim_cdu, query_scheduler_sim_jobs, query_scheduler_sim_system, query_scheduler_sim_power_history, query_cooling_sim_cep, get_system_info, get_systems, get_system_info, ) router = APIRouter(tags=["simulation"]) Loading Loading @@ -212,6 +212,11 @@ def scheduler_system(*, return result @router.get("/system-info/{system}", response_model=SystemInfo) @router.get("/system/list", response_model=list[SystemInfo]) def system_list(): return get_systems() @router.get("/system/{system}", response_model=SystemInfo) def system_info(system: str): return get_system_info(system = system) simulation_server/server/service.py +11 −1 Original line number Diff line number Diff line Loading @@ -698,11 +698,21 @@ def build_scheduler_sim_power_history_query(*, ) @functools.cache def get_systems(): from raps.system_config import list_systems return [get_system_info(s) for s in list_systems()] @functools.cache def get_system_info(system: str): from raps.system_config import list_systems from raps import Engine, SingleSimConfig from raps.stats import get_gauge_limits if system not in list_systems(): raise HTTPException(status_code=404, detail=f"System {system} not found") engine = Engine(SingleSimConfig(system = system)) return engine.get_gauge_limits() return { "name": system, **get_gauge_limits(engine), } Loading
simulation_server/models/output.py +1 −0 Original line number Diff line number Diff line Loading @@ -255,6 +255,7 @@ COOLING_CEP_FIELD_SELECTORS = { class SystemInfo(BaseModel): name: str peak_flops: float peak_power: float g_flops_w_peak: float
simulation_server/server/endpoints.py +7 −2 Original line number Diff line number Diff line Loading @@ -17,7 +17,7 @@ from .config import AppDeps from .service import ( run_simulation, query_sims, query_cooling_sim_cdu, query_scheduler_sim_jobs, query_scheduler_sim_system, query_scheduler_sim_power_history, query_cooling_sim_cep, get_system_info, get_systems, get_system_info, ) router = APIRouter(tags=["simulation"]) Loading Loading @@ -212,6 +212,11 @@ def scheduler_system(*, return result @router.get("/system-info/{system}", response_model=SystemInfo) @router.get("/system/list", response_model=list[SystemInfo]) def system_list(): return get_systems() @router.get("/system/{system}", response_model=SystemInfo) def system_info(system: str): return get_system_info(system = system)
simulation_server/server/service.py +11 −1 Original line number Diff line number Diff line Loading @@ -698,11 +698,21 @@ def build_scheduler_sim_power_history_query(*, ) @functools.cache def get_systems(): from raps.system_config import list_systems return [get_system_info(s) for s in list_systems()] @functools.cache def get_system_info(system: str): from raps.system_config import list_systems from raps import Engine, SingleSimConfig from raps.stats import get_gauge_limits if system not in list_systems(): raise HTTPException(status_code=404, detail=f"System {system} not found") engine = Engine(SingleSimConfig(system = system)) return engine.get_gauge_limits() return { "name": system, **get_gauge_limits(engine), }