Reset new topology groups to full binary search

This commit is contained in:
2026-04-11 00:36:45 +08:00
parent a4d54442db
commit 83325b2f76
3 changed files with 14 additions and 10 deletions

View File

@@ -301,8 +301,9 @@ def build_prompt(
"",
"The primary cross-topology comparison metric is request_rate_per_gpu, not raw request_rate.",
"The proposal should beat the incumbent on request_rate_per_gpu under the 95%+ SLO target.",
"The evaluator uses the best feasible sampling_u from the same tp_dp_product group when it exists. For a different tp_dp_product group, it uses a scaled lower floor instead of reusing the global incumbent directly.",
"Do not assume a configuration with fewer GPUs must start from the global incumbent sampling_u.",
"The evaluator uses the best feasible sampling_u from the same tp_dp_product group when it exists.",
"If a tp_dp_product group has no history yet, the evaluator starts from the study's original search.low and runs a full binary search for that group.",
"Do not assume a configuration with fewer GPUs should inherit the global incumbent sampling_u.",
]
return "\n".join(sections)

View File

@@ -253,12 +253,6 @@ def _derive_search_floor(*, study: StudySpec, state: StudyState, parallel_size:
group_incumbent.get("best_sampling_u"), (int, float)
):
candidate = float(group_incumbent["best_sampling_u"])
elif (
isinstance(state.best_sampling_u, (int, float))
and isinstance(state.best_parallel_size, int)
and state.best_parallel_size > 0
):
candidate = float(state.best_sampling_u) * float(parallel_size) / float(state.best_parallel_size)
else:
candidate = low
return min(high, max(low, candidate))