summaryrefslogtreecommitdiff
path: root/experiments/import_native_baseline.py
diff options
context:
space:
mode:
Diffstat (limited to 'experiments/import_native_baseline.py')
-rw-r--r--experiments/import_native_baseline.py14
1 files changed, 13 insertions, 1 deletions
diff --git a/experiments/import_native_baseline.py b/experiments/import_native_baseline.py
index ae61727..29dc011 100644
--- a/experiments/import_native_baseline.py
+++ b/experiments/import_native_baseline.py
@@ -290,6 +290,18 @@ def import_result(args):
if args.resolved_config:
artifacts.append(file_record(args.resolved_config))
dataset_artifacts = [file_record(path) for path in args.dataset_artifact]
+ dataset_hashes = {record["sha256"] for record in dataset_artifacts}
+ missing_dataset_hashes = (set(protocol["required_dataset_sha256"])
+ - dataset_hashes)
+ if missing_dataset_hashes:
+ raise ValueError(
+ "required dataset artifact hashes are missing: "
+ + ", ".join(sorted(missing_dataset_hashes)))
+ gpu = gpu_record(args.gpu_index)
+ for key, expected in protocol["expected_gpu"].items():
+ if gpu.get(key) != expected:
+ raise ValueError(
+ f"GPU {key} mismatch: expected {expected!r}, found {gpu.get(key)!r}")
result = {
"schema_version": 1,
"protocol_id": args.protocol,
@@ -310,7 +322,7 @@ def import_result(args):
"source_provenance": source,
"importer_provenance": local_source,
"runtime_environment": environment_record(not args.skip_package_freeze),
- "gpu": gpu_record(args.gpu_index),
+ "gpu": gpu,
"dataset_artifacts": dataset_artifacts,
"run_artifacts": artifacts,
}