summaryrefslogtreecommitdiff
path: root/experiments/analyze_resnet_crossover_p1.py
diff options
context:
space:
mode:
Diffstat (limited to 'experiments/analyze_resnet_crossover_p1.py')
-rw-r--r--experiments/analyze_resnet_crossover_p1.py16
1 files changed, 15 insertions, 1 deletions
diff --git a/experiments/analyze_resnet_crossover_p1.py b/experiments/analyze_resnet_crossover_p1.py
index cbce299..b030755 100644
--- a/experiments/analyze_resnet_crossover_p1.py
+++ b/experiments/analyze_resnet_crossover_p1.py
@@ -7,7 +7,7 @@ import json
import math
import os
-from experiments.resnet_crossover_grid import p1_jobs
+from experiments.resnet_crossover_grid import p1_jobs, registry_sha256
ROOT = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
@@ -86,6 +86,9 @@ def audit_job(job, expected_source):
assert manifest[key] == job[key], (
f"{job['experiment_name']}: drift in {key}")
assert manifest["source"] == expected_source
+ hardware = manifest["hardware_lock"]
+ assert hardware["physical_gpu_index"] in (5, 7)
+ assert hardware["physical_gpu_uuid"]
assert manifest["status"] == "completed"
assert manifest["output_exists"] is True
assert manifest["output_sha256"] == sha256(job["output"])
@@ -155,7 +158,17 @@ def main():
audit_job(job, expected_source) for job in jobs
if os.path.isfile(job["output"] + ".manifest.json")]
selected = {}
+ launch = None
if not missing:
+ launch_path = os.path.join(
+ ROOT, "results", "resnet_crossover", "p1_launch.json")
+ assert os.path.isfile(launch_path), "missing ResNet P1 launch lock"
+ launch = read_json(launch_path)
+ assert launch["stage"] == "p1"
+ assert launch["source"] == expected_source
+ assert launch["registry_sha256"] == registry_sha256(jobs)
+ assert launch["num_jobs"] == len(jobs)
+ assert launch["allowed_physical_gpus"] == [5, 7]
for method in dict((job["method"], None) for job in jobs):
candidates = [
record for record in records if record["method"] == method]
@@ -178,6 +191,7 @@ def main():
"num_audited_records": len(records),
"missing_experiments": missing,
"test_policy": "none",
+ "launch_lock": launch,
"records": records,
"selected": selected,
}