Files
aituner/runs/frontier-multicase-sufficiency-v1/generate_t0_real_jobs.py

82 lines
3.1 KiB
Python

#!/usr/bin/env python3
"""Render the fleet queue for a frozen T0 real-surface plan."""
from __future__ import annotations
import argparse
import json
from pathlib import Path
def quoted(value: object) -> str:
return json.dumps(str(value))
def main() -> None:
parser = argparse.ArgumentParser()
parser.add_argument("--plan", type=Path, required=True)
parser.add_argument("--output", type=Path, required=True)
parser.add_argument("--config", action="append", dest="configs")
parser.add_argument("--rates", nargs="+", type=float)
parser.add_argument("--artifact-root", default="artifacts/t0-real-surface-v1")
parser.add_argument("--name-suffix", default="")
args = parser.parse_args()
plan = json.loads(args.plan.read_text())
if plan.get("schema") != "qwen235b-t0-real-plan-v1" or len(plan.get("cells") or []) != 8:
raise ValueError("invalid or incomplete T0 real plan")
lattice = {0.10, 0.20, 0.40, 0.80, 1.20, 1.60, 2.40, 3.20}
if args.rates and any(rate not in lattice for rate in args.rates):
raise ValueError("rate override must stay on the frozen T0 lattice")
indexed_cells = list(enumerate(plan["cells"]))
if args.configs:
requested = set(args.configs)
known = {cell["config"]["name"] for _, cell in indexed_cells}
if not requested <= known:
raise ValueError(f"unknown configs: {sorted(requested - known)}")
indexed_cells = [
(index, cell)
for index, cell in indexed_cells
if cell["config"]["name"] in requested
]
lines = [
"# Generated from the frozen T0 real plan; do not edit rates in place.",
"version = 1",
"",
]
for index, cell in indexed_cells:
config = cell["config"]
suffix = f"-{args.name_suffix}" if args.name_suffix else ""
name = f"qwen235b-t0-real-{config['name']}{suffix}-20260716-v1"
artifact = f"{args.artifact_root.rstrip('/')}/{config['name']}"
rates = args.rates or cell["rates"]
lines.extend(
[
"[[jobs]]",
f"name = {quoted(name)}",
f"gpus = {int(config['tp'])}",
'gpu_model = "H20"',
'hosts = ["dash0"]',
'command = "timeout --signal=TERM --kill-after=60s 7200 bash run_t0_real_config.sh"',
f"artifacts = [{quoted(artifact)}]",
"",
"[jobs.env]",
f"OUTPUT_ROOT = {quoted('/home/admin/cpfs/wjh/aituner/aituner-fidelity-v1/' + artifact)}",
f"TP = {quoted(config['tp'])}",
f"MNS = {quoted(config['mns'])}",
f"MBT = {quoted(config['mbt'])}",
f"RATES = {quoted(' '.join(f'{rate:.2f}' for rate in rates))}",
f"SERVER_PORT = {quoted(18920 + index)}",
'VENV_ROOT = "/tmp/wjh-frontier-vllm0102-smoke/.venv"',
'MODEL_ROOT = "/home/admin/cpfs/wjh/models/Qwen/Qwen3-235B-A22B-FP8"',
"",
]
)
args.output.write_text("\n".join(lines))
print(args.output)
if __name__ == "__main__":
main()