Sequential Quantum Gate Decomposer  v1.9.6
Powerful decomposition of general unitarias into one- and two-qubit gates gates
fused_runtime_audit_validation.py
Go to the documentation of this file.
1 #!/usr/bin/env python3
2 """Fused runtime audit validation: stable audit records on the fused-capable path.
3 
4 Emits one shared fused-capable runtime-audit record across representative
5 supported cases and checks that fused-region and summary schemas remain stable.
6 
7 Run with:
8  python benchmarks/density_matrix/partitioned_runtime/fused_runtime_audit_validation.py
9 """
10 
11 from __future__ import annotations
12 
13 import argparse
14 import json
15 import sys
16 from pathlib import Path
17 
18 REPO_ROOT = Path(__file__).resolve().parents[3]
19 if str(REPO_ROOT) not in sys.path:
20  sys.path.insert(0, str(REPO_ROOT))
21 
22 from benchmarks.density_matrix.planner_surface.common import build_software_metadata
23 from benchmarks.density_matrix.partitioned_runtime.fusion_case_selection import (
24  iter_fusion_continuity_cases,
25  iter_fusion_microcase_cases,
26  iter_fusion_structured_cases,
27 )
28 from squander.partitioning.noisy_runtime import (
29  PHASE3_RUNTIME_PATH_BASELINE,
30  PHASE3_RUNTIME_PATH_FUSED_UNITARY_ISLANDS,
31  build_runtime_audit_record,
32  execute_partitioned_density_fused,
33 )
34 
35 SUITE_NAME = "phase3_partitioned_runtime_fused_runtime_audit"
36 ARTIFACT_FILENAME = "fused_runtime_audit_bundle.json"
37 DEFAULT_OUTPUT_DIR = (
38  REPO_ROOT
39  / "benchmarks"
40  / "density_matrix"
41  / "artifacts"
42  / "partitioned_runtime"
43  / "fused_runtime_audit"
44 )
45 ARTIFACT_CORE_FIELDS = (
46  "suite_name",
47  "status",
48  "software",
49  "summary",
50  "cases",
51 )
52 
53 
54 def _first_case(case_iter):
55  return next(iter(case_iter))
56 
57 
58 def _audit_case(metadata: dict, descriptor_set, parameters) -> dict:
59  result = execute_partitioned_density_fused(descriptor_set, parameters)
60  audit = build_runtime_audit_record(result, metadata={"case_kind": metadata["case_kind"]})
61  audit["case_name"] = metadata["case_name"] if "case_name" in metadata else metadata["workload_id"]
62  return audit
63 
64 
65 def build_cases() -> list[dict]:
66  continuity_metadata, continuity_descriptor_set, continuity_parameters, _ = _first_case(
68  )
69  micro_metadata, micro_descriptor_set, micro_parameters = _first_case(
71  )
72  structured_metadata, structured_descriptor_set, structured_parameters = _first_case(
74  )
75  return [
76  _audit_case(continuity_metadata, continuity_descriptor_set, continuity_parameters),
77  _audit_case(micro_metadata, micro_descriptor_set, micro_parameters),
78  _audit_case(structured_metadata, structured_descriptor_set, structured_parameters),
79  ]
80 
81 
82 def build_artifact_bundle(cases: list[dict]) -> dict:
83  top_level_keys = {frozenset(case.keys()) for case in cases}
84  summary_key_sets = {frozenset(case["summary"].keys()) for case in cases}
85  partition_key_sets = {
86  frozenset(case["partitions"][0].keys()) for case in cases if case["partitions"]
87  }
88  fused_region_key_sets = {
89  frozenset(case["fused_regions"][0].keys())
90  for case in cases
91  if case["fused_regions"]
92  }
93  runtime_paths = {case["runtime_path"] for case in cases}
94  bundle = {
95  "suite_name": SUITE_NAME,
96  "status": "pass"
97  if len(top_level_keys) == 1
98  and len(summary_key_sets) == 1
99  and len(partition_key_sets) == 1
100  and len(fused_region_key_sets) == 1
101  and runtime_paths
102  <= {
103  PHASE3_RUNTIME_PATH_BASELINE,
104  PHASE3_RUNTIME_PATH_FUSED_UNITARY_ISLANDS,
105  }
106  else "fail",
107  "software": build_software_metadata(),
108  "summary": {
109  "total_cases": len(cases),
110  "top_level_schema_count": len(top_level_keys),
111  "summary_schema_count": len(summary_key_sets),
112  "partition_schema_count": len(partition_key_sets),
113  "fused_region_schema_count": len(fused_region_key_sets),
114  "runtime_path_count": len(runtime_paths),
115  "actual_fused_cases": sum(
116  case["summary"]["actual_fused_execution"] for case in cases
117  ),
118  },
119  "cases": cases,
120  }
121  missing = [field for field in ARTIFACT_CORE_FIELDS if field not in bundle]
122  if missing:
123  raise ValueError(
124  "Fused runtime audit bundle missing required fields: {}".format(
125  ", ".join(missing)
126  )
127  )
128  return bundle
129 
130 
131 def write_artifact_bundle(bundle: dict, output_dir: Path = DEFAULT_OUTPUT_DIR) -> Path:
132  output_dir.mkdir(parents=True, exist_ok=True)
133  output_path = output_dir / ARTIFACT_FILENAME
134  output_path.write_text(json.dumps(bundle, indent=2, sort_keys=True) + "\n")
135  return output_path
136 
137 
138 def main(argv: list[str] | None = None) -> int:
139  parser = argparse.ArgumentParser(description=__doc__)
140  parser.add_argument(
141  "--output-dir",
142  type=Path,
143  default=DEFAULT_OUTPUT_DIR,
144  help="Directory to write the fused runtime audit bundle into.",
145  )
146  parser.add_argument(
147  "--quiet",
148  action="store_true",
149  help="Suppress per-case console output.",
150  )
151  args = parser.parse_args(argv)
152 
153  cases = build_cases()
154  bundle = build_artifact_bundle(cases)
155  output_path = write_artifact_bundle(bundle, output_dir=args.output_dir)
156 
157  if not args.quiet:
158  for case in cases:
159  print(
160  "{case_name}: runtime_path={runtime_path}, fused_regions={fused_region_count}".format(
161  case_name=case["case_name"],
162  runtime_path=case["runtime_path"],
163  fused_region_count=case["summary"]["fused_region_count"],
164  )
165  )
166  print("Wrote {}".format(output_path))
167 
168  return 0 if bundle["status"] == "pass" else 1
169 
170 
171 if __name__ == "__main__":
172  raise SystemExit(main())
def build_software_metadata()