2 """Fused semantics validation: fused runtime vs sequential reference exactness. 4 Checks representative fused cases against the sequential density reference using 5 the frozen exactness thresholds. 8 python benchmarks/density_matrix/partitioned_runtime/fused_semantics_validation.py 11 from __future__
import annotations
16 from pathlib
import Path
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))
22 from benchmarks.density_matrix.partitioned_runtime.common
import (
23 PHASE3_RUNTIME_DENSITY_TOL,
24 execute_fused_with_reference,
26 from benchmarks.density_matrix.partitioned_runtime.fusion_case_selection
import (
27 iter_fusion_microcase_cases,
28 iter_fusion_structured_cases,
30 from benchmarks.density_matrix.planner_surface.common
import build_software_metadata
32 SUITE_NAME =
"phase3_partitioned_runtime_fused_semantics" 33 ARTIFACT_FILENAME =
"fused_semantics_bundle.json" 34 DEFAULT_OUTPUT_DIR = (
39 /
"partitioned_runtime" 42 ARTIFACT_CORE_FIELDS = (
53 descriptor_set, parameters
55 payload = runtime_result.to_dict(include_density_matrix=
False)
57 "case_name": metadata[
"workload_id"],
58 "case_kind": metadata[
"case_kind"],
59 "qbit_num": metadata[
"qbit_num"],
60 "runtime_path": payload[
"runtime_path"],
61 "actual_fused_execution": payload[
"summary"][
"actual_fused_execution"],
62 "fused_region_count": payload[
"summary"][
"fused_region_count"],
63 "supported_unfused_region_count": payload[
"summary"][
64 "supported_unfused_region_count" 66 "deferred_region_count": payload[
"summary"][
"deferred_region_count"],
67 "frobenius_norm_diff": density_metrics[
"frobenius_norm_diff"],
68 "max_abs_diff": density_metrics[
"max_abs_diff"],
69 "rho_is_valid": payload[
"summary"][
"rho_is_valid"],
70 "trace_deviation": payload[
"summary"][
"trace_deviation"],
71 "fused_semantics_pass": (
72 payload[
"summary"][
"actual_fused_execution"]
is True 73 and density_metrics[
"frobenius_norm_diff"] <= PHASE3_RUNTIME_DENSITY_TOL
74 and density_metrics[
"max_abs_diff"] <= PHASE3_RUNTIME_DENSITY_TOL
75 and payload[
"summary"][
"rho_is_valid"]
is True 77 "metadata": dict(metadata),
82 selected_structured: dict[int, dict] = {}
83 optional_microcase: dict |
None =
None 85 if metadata[
"qbit_num"]
in selected_structured:
88 if case[
"fused_semantics_pass"]:
89 selected_structured[metadata[
"qbit_num"]] = case
90 if set(selected_structured) == {8, 10}:
92 if set(selected_structured) != {8, 10}:
93 raise RuntimeError(
"Missing representative structured fused semantics cases")
96 if case[
"fused_semantics_pass"]:
97 optional_microcase = case
99 cases = [selected_structured[8], selected_structured[10]]
100 if optional_microcase
is not None:
101 cases.append(optional_microcase)
106 passes = sum(case[
"fused_semantics_pass"]
for case
in cases)
108 "suite_name": SUITE_NAME,
109 "status":
"pass" if passes == len(cases)
and len(cases) >= 2
else "fail",
112 "total_cases": len(cases),
113 "fused_semantics_passes": passes,
114 "required_structured_cases": 2,
115 "optional_microcase_cases": sum(
116 case[
"case_kind"] ==
"microcase" for case
in cases
121 missing = [field
for field
in ARTIFACT_CORE_FIELDS
if field
not in bundle]
124 "Fused semantics bundle missing required fields: {}".format(
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")
138 def main(argv: list[str] |
None =
None) -> int:
139 parser = argparse.ArgumentParser(description=__doc__)
143 default=DEFAULT_OUTPUT_DIR,
144 help=
"Directory to write the fused semantics bundle into.",
149 help=
"Suppress per-case console output.",
151 args = parser.parse_args(argv)
160 "{case_name}: fused={actual_fused_execution}, dRho={frobenius_norm_diff:.3e}, pass={fused_semantics_pass}".format(
164 print(
"Wrote {}".format(output_path))
166 return 0
if bundle[
"status"] ==
"pass" else 1
169 if __name__ ==
"__main__":
170 raise SystemExit(
main())
def build_artifact_bundle
def execute_fused_with_reference
def build_software_metadata()
def iter_fusion_microcase_cases()
def write_artifact_bundle
def iter_fusion_structured_cases()