Sequential Quantum Gate Decomposer  v1.9.6
Powerful decomposition of general unitarias into one- and two-qubit gates gates
fused_surface_reuse_validation.py
Go to the documentation of this file.
1 #!/usr/bin/env python3
2 """Fused surface reuse validation: shared fused-capable entry and stable audit shape.
3 
4 Exercises one continuity, one microcase, and one structured workload through the
5 same fused-capable runtime entry surface and checks that emitted audit records
6 stay structurally aligned.
7 
8 Run with:
9  python benchmarks/density_matrix/partitioned_runtime/fused_surface_reuse_validation.py
10 """
11 
12 from __future__ import annotations
13 
14 import argparse
15 import json
16 import sys
17 from pathlib import Path
18 
19 REPO_ROOT = Path(__file__).resolve().parents[3]
20 if str(REPO_ROOT) not in sys.path:
21  sys.path.insert(0, str(REPO_ROOT))
22 
23 from benchmarks.density_matrix.planner_surface.common import build_software_metadata
24 from benchmarks.density_matrix.partitioned_runtime.fusion_case_selection import (
25  iter_fusion_continuity_cases,
26  iter_fusion_microcase_cases,
27  iter_fusion_structured_cases,
28 )
29 from squander.partitioning.noisy_runtime import (
30  PHASE3_RUNTIME_PATH_BASELINE,
31  PHASE3_RUNTIME_PATH_FUSED_UNITARY_ISLANDS,
32  build_runtime_audit_record,
33  execute_partitioned_density_fused,
34 )
35 
36 SUITE_NAME = "phase3_partitioned_runtime_fused_surface_reuse"
37 ARTIFACT_FILENAME = "surface_reuse_bundle.json"
38 DEFAULT_OUTPUT_DIR = (
39  REPO_ROOT
40  / "benchmarks"
41  / "density_matrix"
42  / "artifacts"
43  / "partitioned_runtime"
44  / "fused_surface_reuse"
45 )
46 ARTIFACT_CORE_FIELDS = (
47  "suite_name",
48  "status",
49  "software",
50  "summary",
51  "cases",
52 )
53 
54 
55 def _first_case(case_iter):
56  return next(iter(case_iter))
57 
58 
59 def _audit_case(metadata: dict, descriptor_set, parameters) -> dict:
60  result = execute_partitioned_density_fused(descriptor_set, parameters)
61  audit = build_runtime_audit_record(result, metadata={"case_kind": metadata["case_kind"]})
62  audit["case_name"] = metadata["case_name"] if "case_name" in metadata else metadata["workload_id"]
63  return audit
64 
65 
66 def build_cases() -> list[dict]:
67  continuity_metadata, continuity_descriptor_set, continuity_parameters, _ = _first_case(
69  )
70  micro_metadata, micro_descriptor_set, micro_parameters = _first_case(
72  )
73  structured_metadata, structured_descriptor_set, structured_parameters = _first_case(
75  )
76  return [
77  _audit_case(continuity_metadata, continuity_descriptor_set, continuity_parameters),
78  _audit_case(micro_metadata, micro_descriptor_set, micro_parameters),
79  _audit_case(structured_metadata, structured_descriptor_set, structured_parameters),
80  ]
81 
82 
83 def build_artifact_bundle(cases: list[dict]) -> dict:
84  top_level_keys = {frozenset(case.keys()) for case in cases}
85  summary_key_sets = {frozenset(case["summary"].keys()) for case in cases}
86  partition_key_sets = {
87  frozenset(case["partitions"][0].keys()) for case in cases if case["partitions"]
88  }
89  fused_region_key_sets = {
90  frozenset(case["fused_regions"][0].keys())
91  for case in cases
92  if case["fused_regions"]
93  }
94  runtime_paths = {case["runtime_path"] for case in cases}
95  actual_fused_cases = sum(case["summary"]["actual_fused_execution"] for case in cases)
96  bundle = {
97  "suite_name": SUITE_NAME,
98  "status": "pass"
99  if len(top_level_keys) == 1
100  and len(summary_key_sets) == 1
101  and len(partition_key_sets) == 1
102  and len(fused_region_key_sets) == 1
103  and runtime_paths <= {
104  PHASE3_RUNTIME_PATH_BASELINE,
105  PHASE3_RUNTIME_PATH_FUSED_UNITARY_ISLANDS,
106  }
107  and actual_fused_cases >= 1
108  else "fail",
109  "software": build_software_metadata(),
110  "summary": {
111  "total_cases": len(cases),
112  "top_level_schema_count": len(top_level_keys),
113  "summary_schema_count": len(summary_key_sets),
114  "partition_schema_count": len(partition_key_sets),
115  "fused_region_schema_count": len(fused_region_key_sets),
116  "runtime_path_count": len(runtime_paths),
117  "actual_fused_cases": actual_fused_cases,
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 surface reuse 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 surface reuse 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}, actual_fused={actual_fused_execution}".format(
161  case_name=case["case_name"],
162  runtime_path=case["runtime_path"],
163  actual_fused_execution=case["summary"]["actual_fused_execution"],
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()