Orchestrate Qwen235 four-case fidelity campaign
This commit is contained in:
@@ -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():
|
||||
|
||||
Reference in New Issue
Block a user