2 """Runtime semantics validation: partitioned vs sequential reference exactness. 4 Exercises representative supported cases that stress remapping, parameter 5 routing, and explicit noise placement, then checks that the partitioned runtime 6 matches the sequential descriptor-driven reference exactly within the frozen 10 python benchmarks/density_matrix/partitioned_runtime/runtime_semantics_validation.py 13 from __future__
import annotations
18 from pathlib
import Path
20 REPO_ROOT = Path(__file__).resolve().parents[3]
21 if str(REPO_ROOT)
not in sys.path:
22 sys.path.insert(0, str(REPO_ROOT))
24 from benchmarks.density_matrix.partitioned_runtime.common
import (
25 PHASE3_RUNTIME_DENSITY_TOL,
26 build_initial_parameters,
27 execute_partitioned_with_reference,
29 from benchmarks.density_matrix.planner_surface.common
import (
30 build_phase2_continuity_vqe,
31 build_software_metadata,
33 from benchmarks.density_matrix.planner_surface.workloads
import (
34 build_microcase_descriptor_set,
35 iter_structured_descriptor_sets,
37 from squander.partitioning.noisy_planner
import build_phase3_continuity_partition_descriptor_set
39 SUITE_NAME =
"phase3_partitioned_runtime_runtime_semantics" 40 ARTIFACT_FILENAME =
"runtime_semantics_bundle.json" 41 DEFAULT_OUTPUT_DIR = (
46 /
"partitioned_runtime" 49 ARTIFACT_CORE_FIELDS = (
58 def _semantic_case(*, case_name: str, case_kind: str, descriptor_set, metadata: dict |
None =
None):
61 descriptor_set, parameters
63 runtime_payload = runtime_result.to_dict(include_density_matrix=
False)
65 "case_name": case_name,
66 "case_kind": case_kind,
68 if density_metrics[
"frobenius_norm_diff"] <= PHASE3_RUNTIME_DENSITY_TOL
69 and density_metrics[
"max_abs_diff"] <= PHASE3_RUNTIME_DENSITY_TOL
70 and runtime_result.rho_is_valid
72 "workload_id": runtime_payload[
"workload_id"],
73 "qbit_num": runtime_payload[
"qbit_num"],
74 "partition_count": runtime_payload[
"summary"][
"partition_count"],
75 "remapped_partition_count": runtime_payload[
"summary"][
"remapped_partition_count"],
76 "parameter_routing_segment_count": runtime_payload[
"summary"][
77 "parameter_routing_segment_count" 79 "frobenius_norm_diff": density_metrics[
"frobenius_norm_diff"],
80 "max_abs_diff": density_metrics[
"max_abs_diff"],
81 "rho_is_valid": runtime_payload[
"summary"][
"rho_is_valid"],
82 "trace_deviation": runtime_payload[
"summary"][
"trace_deviation"],
83 "runtime_semantics_pass": (
84 density_metrics[
"frobenius_norm_diff"] <= PHASE3_RUNTIME_DENSITY_TOL
85 and density_metrics[
"max_abs_diff"] <= PHASE3_RUNTIME_DENSITY_TOL
86 and runtime_payload[
"summary"][
"parameter_routing_segment_count"] > 0
88 "runtime_partitions": runtime_payload[
"partitions"],
89 "metadata": dict(metadata)
if metadata
is not None else {},
97 case_name=
"phase2_xxz_hea_q4_continuity",
98 case_kind=
"continuity",
102 case_name=
"microcase_4q_partition_boundary_triplet",
103 case_kind=
"microcase",
105 "microcase_4q_partition_boundary_triplet" 108 structured_metadata, structured_descriptor_set = next(
112 case_name=structured_metadata[
"workload_id"],
113 case_kind=
"structured_family",
114 descriptor_set=structured_descriptor_set,
115 metadata=structured_metadata,
117 return [continuity_case, boundary_microcase, structured_case]
121 semantics_passes = sum(case[
"runtime_semantics_pass"]
for case
in cases)
122 passed_cases = sum(case[
"status"] ==
"pass" for case
in cases)
124 "suite_name": SUITE_NAME,
126 if semantics_passes == len(cases)
and passed_cases == len(cases)
130 "total_cases": len(cases),
131 "passed_cases": passed_cases,
132 "runtime_semantics_passes": semantics_passes,
133 "cases_with_remap": sum(case[
"remapped_partition_count"] > 0
for case
in cases),
134 "cases_with_parameter_routing": sum(
135 case[
"parameter_routing_segment_count"] > 0
for case
in cases
140 missing = [field
for field
in ARTIFACT_CORE_FIELDS
if field
not in bundle]
143 "Runtime semantics bundle missing required fields: {}".format(
151 output_dir.mkdir(parents=
True, exist_ok=
True)
152 output_path = output_dir / ARTIFACT_FILENAME
153 output_path.write_text(json.dumps(bundle, indent=2, sort_keys=
True) +
"\n")
157 def main(argv: list[str] |
None =
None) -> int:
158 parser = argparse.ArgumentParser(description=__doc__)
162 default=DEFAULT_OUTPUT_DIR,
163 help=
"Directory to write the runtime semantics bundle into.",
168 help=
"Suppress per-case console output.",
170 args = parser.parse_args(argv)
179 "{case_name}: dRho={frobenius_norm_diff:.3e}, remap={remapped_partition_count}, routing={parameter_routing_segment_count}, pass={runtime_semantics_pass}".format(
183 print(
"Wrote {}".format(output_path))
185 return 0
if bundle[
"status"] ==
"pass" else 1
188 if __name__ ==
"__main__":
189 raise SystemExit(
main())
def build_microcase_descriptor_set
def build_phase2_continuity_vqe
def build_initial_parameters
def build_artifact_bundle
def iter_structured_descriptor_sets
def build_phase3_continuity_partition_descriptor_set
def build_software_metadata()
def execute_partitioned_with_reference
def write_artifact_bundle