diff options
Diffstat (limited to 'experiments/analyze_resnet_crossover_r2.py')
| -rw-r--r-- | experiments/analyze_resnet_crossover_r2.py | 29 |
1 files changed, 22 insertions, 7 deletions
diff --git a/experiments/analyze_resnet_crossover_r2.py b/experiments/analyze_resnet_crossover_r2.py index 3c2bf46..ce89165 100644 --- a/experiments/analyze_resnet_crossover_r2.py +++ b/experiments/analyze_resnet_crossover_r2.py @@ -18,6 +18,7 @@ from experiments.resnet_crossover_r2 import ( registry_sha256, selector_report, ) +from experiments.crossover_hardware import assert_hardware_report def sha256(path): @@ -216,7 +217,9 @@ def work_metrics(record, job, history): } -def audit_job(job, expected_source, expected_selector): +def audit_job( + job, expected_source, expected_selector, hardware_policy +): manifest_path = job["output"] + ".manifest.json" if not os.path.isfile(manifest_path): raise AssertionError(f"missing R2 manifest: {job['experiment_name']}") @@ -240,8 +243,7 @@ def audit_job(job, expected_source, expected_selector): assert manifest["source"] == expected_source assert manifest["selector"] == expected_selector hardware = manifest["hardware_lock"] - assert hardware["physical_gpu_index"] in (5, 7) - assert hardware["physical_gpu_uuid"] + assert_hardware_report(hardware, hardware_policy) common = { "cell_id": f"resnet{job['depth']}::{job['method']}", "method": job["method"], @@ -331,8 +333,14 @@ def audit_job(job, expected_source, expected_selector): expected_ordinary *= job["depth"] assert work["ordinary_training_examples"] == expected_ordinary hardware_record = record["hardware"] - assert hardware_record["cuda_visible_devices"] in ("5", "7") - assert hardware_record["cuda_device_name"] == "NVIDIA GeForce GTX 1080" + assert ( + hardware_record["cuda_visible_devices"] + == hardware["cuda_visible_devices"] + ) + assert ( + hardware_record["cuda_device_name"] + == hardware["physical_gpu_name"] + ) parameter_count = architecture.get("forward_parameter_count") if parameter_count is None: parameter_count = architecture["forward_parameters"] @@ -370,9 +378,15 @@ def main(): assert launch["selector"] == selector assert launch["registry_sha256"] == registry_sha256(jobs) assert launch["num_jobs"] == 27 - assert launch["allowed_physical_gpus"] == [5, 7] + hardware_policy = launch["hardware_policy"] + assert ( + launch["allowed_physical_gpus"] + == hardware_policy["allowed_physical_gpu_indices"] + ) source = launch["source"] - records = [audit_job(job, source, selector) for job in jobs] + records = [ + audit_job(job, source, selector, hardware_policy) for job in jobs + ] assert len(records) == 27 assert len({record["cell_id"] for record in records}) == 27 assert { @@ -401,6 +415,7 @@ def main(): "test_policy": "none", "source": source, "selector": selector, + "hardware_policy": hardware_policy, "launch_lock": { "path": os.path.relpath(launch_path, ROOT), "sha256": sha256(launch_path), |
