Add measured collective profile gate for Qwen235
This commit is contained in:
@@ -158,6 +158,10 @@ def main() -> None:
|
||||
selected = [config for config in GRID if config.name in wanted]
|
||||
if {config.name for config in selected} != wanted:
|
||||
raise ValueError(f"unknown configs: {wanted - {config.name for config in selected}}")
|
||||
allreduce_profile = Q30.validate_allreduce_profile(
|
||||
args.allreduce_csv, {config.tp for config in selected if config.tp > 1}
|
||||
)
|
||||
allreduce_csv_sha256 = BASE.sha256(args.allreduce_csv)
|
||||
|
||||
builder = BASE.load_module(
|
||||
"qwen235_frontier_builder", args.replayserve_root / "tools/run_frontier_sweep.py"
|
||||
@@ -182,7 +186,11 @@ def main() -> None:
|
||||
result_path = run_dir / "result.json"
|
||||
if args.resume and result_path.is_file():
|
||||
previous = json.loads(result_path.read_text())
|
||||
if previous.get("status") == "completed":
|
||||
if (
|
||||
previous.get("status") == "completed"
|
||||
and previous.get("allreduce_csv_sha256")
|
||||
== allreduce_csv_sha256
|
||||
):
|
||||
results.append(previous)
|
||||
continue
|
||||
run_dir.mkdir(parents=True, exist_ok=True)
|
||||
@@ -217,8 +225,16 @@ def main() -> None:
|
||||
"trace": Q30.trace_manifest_entry(trace),
|
||||
"elapsed_seconds": time.time() - started,
|
||||
"returncode": completed.returncode,
|
||||
"allreduce_csv_sha256": allreduce_csv_sha256,
|
||||
}
|
||||
if completed.returncode == 0:
|
||||
fallback_evidence = Q30.collective_fallback_evidence(run_dir)
|
||||
if completed.returncode == 0 and fallback_evidence:
|
||||
result.update(
|
||||
status="failed",
|
||||
failure_class="collective_profile_fallback",
|
||||
collective_fallback_evidence=fallback_evidence,
|
||||
)
|
||||
elif completed.returncode == 0:
|
||||
metrics = Q30.find_request_metrics(run_dir)
|
||||
result.update(status="completed", metrics=Q30.score(metrics, trace["shapes"]), request_metrics_sha256=BASE.sha256(metrics))
|
||||
else:
|
||||
@@ -233,6 +249,12 @@ def main() -> None:
|
||||
"frontier_commit": subprocess.check_output(["git", "-C", str(args.frontier_source), "rev-parse", "HEAD"], text=True).strip(),
|
||||
"profiles": {name: BASE.sha256(path) for name, path in paths.items()},
|
||||
"runtime_contract_sha256": BASE.sha256(args.runtime_contract),
|
||||
"collective": {
|
||||
"backend": "vidur",
|
||||
"allreduce_csv": str(args.allreduce_csv),
|
||||
"allreduce_csv_sha256": allreduce_csv_sha256,
|
||||
"measured_profile_validation": allreduce_profile,
|
||||
},
|
||||
"prefix_caching": args.prefix_caching,
|
||||
"results": results,
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user