Orchestrate Qwen235 four-case fidelity campaign

This commit is contained in:
2026-07-19 02:52:54 +08:00
parent 3e32ea609f
commit 80a067e3a5
5 changed files with 274 additions and 9 deletions

View File

@@ -60,7 +60,7 @@ def parse_args() -> argparse.Namespace:
parser.add_argument("--python-deps", type=Path, required=True)
parser.add_argument("--output-root", type=Path, required=True)
parser.add_argument("--runtime-contract", type=Path, required=True)
parser.add_argument("--trace", action="append", required=True)
parser.add_argument("--trace-tp", action="append", required=True, help="TP=PATH")
parser.add_argument("--config", action="append")
parser.add_argument("--prefix-caching", action=argparse.BooleanOptionalAction, default=True)
parser.add_argument("--allreduce-csv", type=Path, required=True)
@@ -140,10 +140,17 @@ def main() -> None:
setattr(args, name, getattr(args, name).resolve())
paths = profile_paths(args.profile_root)
contract = json.loads(args.runtime_contract.read_text())["configs"]
traces = [
Q30.parse_trace(spec, rate_contract="trace-window", prefix_caching=args.prefix_caching)
for spec in args.trace
]
trace_by_tp = {}
for specification in args.trace_tp:
raw_tp, separator, path = specification.partition("=")
if not separator:
raise ValueError(f"trace-tp must be TP=PATH: {specification}")
tp = int(raw_tp)
trace_by_tp[tp] = Q30.parse_trace(
f"eval={path}", rate_contract="trace-window", prefix_caching=args.prefix_caching
)
if set(trace_by_tp) != {4, 8}:
raise ValueError("trace-tp must provide exactly TP4 and TP8")
selected = list(GRID)
if args.config:
wanted = set(args.config)
@@ -169,7 +176,7 @@ def main() -> None:
results = []
for config in selected:
config_knobs = knobs(config, paths, contract, args.output_root / "cache", args.prefix_caching)
for trace in traces:
for trace in (trace_by_tp[config.tp],):
run_dir = args.output_root / "runs" / config.name / trace["label"]
result_path = run_dir / "result.json"
if args.resume and result_path.is_file():