2 """Fused performance validation: timing, memory, and threshold-or-diagnosis closure. 4 Benchmarks representative required structured cases with real fused coverage and 5 closes the threshold-or-diagnosis rule for publication-style evidence. 8 python benchmarks/density_matrix/partitioned_runtime/fused_performance_validation.py 11 from __future__
import annotations
17 from pathlib
import Path
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))
23 from benchmarks.density_matrix.partitioned_runtime.common
import (
24 PHASE3_RUNTIME_DENSITY_TOL,
25 execute_fused_with_reference,
27 from benchmarks.density_matrix.partitioned_runtime.fusion_case_selection
import (
28 iter_fusion_structured_cases,
30 from benchmarks.density_matrix.planner_surface.common
import build_software_metadata
31 from squander.partitioning.noisy_runtime
import (
32 execute_partitioned_density,
33 execute_partitioned_density_fused,
36 SUITE_NAME =
"phase3_partitioned_runtime_fused_performance" 37 ARTIFACT_FILENAME =
"fused_performance_bundle.json" 38 DEFAULT_OUTPUT_DIR = (
43 /
"partitioned_runtime" 46 ARTIFACT_CORE_FIELDS = (
58 descriptor_set, parameters
60 if not fused_result.actual_fused_execution:
62 "case_name": metadata[
"workload_id"],
63 "case_kind": metadata[
"case_kind"],
64 "qbit_num": metadata[
"qbit_num"],
65 "actual_fused_execution":
False,
66 "threshold_or_diagnosis_pass":
False,
67 "reason":
"no_real_fused_coverage",
68 "metadata": dict(metadata),
71 baseline_runtime_ms: list[float] = []
72 fused_runtime_ms: list[float] = []
73 baseline_peak_rss_kb: list[int] = []
74 fused_peak_rss_kb: list[int] = []
75 for _
in range(REPETITIONS):
78 baseline_runtime_ms.append(baseline_result.runtime_ms)
79 fused_runtime_ms.append(fused_repeat_result.runtime_ms)
80 baseline_peak_rss_kb.append(baseline_result.peak_rss_kb)
81 fused_peak_rss_kb.append(fused_repeat_result.peak_rss_kb)
83 baseline_median_runtime_ms = float(statistics.median(baseline_runtime_ms))
84 fused_median_runtime_ms = float(statistics.median(fused_runtime_ms))
85 baseline_median_peak_rss_kb =
int(statistics.median(baseline_peak_rss_kb))
86 fused_median_peak_rss_kb =
int(statistics.median(fused_peak_rss_kb))
88 baseline_median_runtime_ms / fused_median_runtime_ms
89 if fused_median_runtime_ms > 0.0
93 (baseline_median_peak_rss_kb - fused_median_peak_rss_kb)
94 / baseline_median_peak_rss_kb
95 if baseline_median_peak_rss_kb > 0
99 density_metrics[
"frobenius_norm_diff"] <= PHASE3_RUNTIME_DENSITY_TOL
100 and density_metrics[
"max_abs_diff"] <= PHASE3_RUNTIME_DENSITY_TOL
101 and fused_result.rho_is_valid
103 positive_threshold_pass = correctness_pass
and (
104 speedup >= 1.2
or memory_reduction >= 0.15
106 diagnosis_reasons: list[str] = []
107 if not positive_threshold_pass:
108 if fused_result.deferred_region_count > 0:
109 diagnosis_reasons.append(
"limited_fused_coverage_due_to_noise_boundaries")
110 if fused_result.supported_unfused_region_count > 0:
111 diagnosis_reasons.append(
"supported_islands_left_unfused")
112 if fused_median_runtime_ms >= baseline_median_runtime_ms:
113 diagnosis_reasons.append(
"python_fused_kernel_overhead_or_short_unitary_islands")
114 if fused_median_peak_rss_kb >= baseline_median_peak_rss_kb:
115 diagnosis_reasons.append(
"no_peak_memory_reduction_on_representative_case")
116 if not diagnosis_reasons:
117 diagnosis_reasons.append(
"no_representative_threshold_gain_observed")
119 "case_name": metadata[
"workload_id"],
120 "case_kind": metadata[
"case_kind"],
121 "family_name": metadata[
"family_name"],
122 "qbit_num": metadata[
"qbit_num"],
123 "noise_pattern": metadata[
"noise_pattern"],
124 "runtime_path": fused_result.runtime_path,
125 "actual_fused_execution": fused_result.actual_fused_execution,
126 "fused_region_count": fused_result.fused_region_count,
127 "supported_unfused_region_count": fused_result.supported_unfused_region_count,
128 "deferred_region_count": fused_result.deferred_region_count,
129 "fused_gate_count": fused_result.fused_gate_count,
130 "frobenius_norm_diff": density_metrics[
"frobenius_norm_diff"],
131 "max_abs_diff": density_metrics[
"max_abs_diff"],
132 "correctness_pass": correctness_pass,
133 "baseline_median_runtime_ms": baseline_median_runtime_ms,
134 "fused_median_runtime_ms": fused_median_runtime_ms,
135 "baseline_median_peak_rss_kb": baseline_median_peak_rss_kb,
136 "fused_median_peak_rss_kb": fused_median_peak_rss_kb,
138 "memory_reduction": memory_reduction,
139 "positive_threshold_pass": positive_threshold_pass,
140 "diagnosis_reasons": diagnosis_reasons,
141 "threshold_or_diagnosis_pass": correctness_pass
142 and (positive_threshold_pass
or len(diagnosis_reasons) > 0),
143 "metadata": dict(metadata),
148 selected_by_qubits: dict[int, dict] = {}
150 if metadata[
"qbit_num"]
in selected_by_qubits:
153 if case[
"actual_fused_execution"]:
154 selected_by_qubits[metadata[
"qbit_num"]] = case
155 if set(selected_by_qubits) == {8, 10}:
157 missing = {8, 10} - set(selected_by_qubits)
160 "Missing representative fused benchmark cases for qubits: {}".format(
164 return [selected_by_qubits[8], selected_by_qubits[10]]
168 threshold_pass_cases = sum(case[
"positive_threshold_pass"]
for case
in cases)
169 threshold_or_diagnosis_passes = sum(
170 case[
"threshold_or_diagnosis_pass"]
for case
in cases
173 "suite_name": SUITE_NAME,
175 if threshold_or_diagnosis_passes == len(cases)
178 threshold_pass_cases >= 1
179 or all(case[
"diagnosis_reasons"]
for case
in cases
if not case[
"positive_threshold_pass"])
184 "total_cases": len(cases),
185 "representative_qubits": [8, 10],
186 "positive_threshold_pass_cases": threshold_pass_cases,
187 "threshold_or_diagnosis_passes": threshold_or_diagnosis_passes,
188 "diagnosis_only_cases": sum(
189 (
not case[
"positive_threshold_pass"])
and case[
"threshold_or_diagnosis_pass"]
195 missing = [field
for field
in ARTIFACT_CORE_FIELDS
if field
not in bundle]
198 "Fused performance bundle missing required fields: {}".format(
206 output_dir.mkdir(parents=
True, exist_ok=
True)
207 output_path = output_dir / ARTIFACT_FILENAME
208 output_path.write_text(json.dumps(bundle, indent=2, sort_keys=
True) +
"\n")
212 def main(argv: list[str] |
None =
None) -> int:
213 parser = argparse.ArgumentParser(description=__doc__)
217 default=DEFAULT_OUTPUT_DIR,
218 help=
"Directory to write the fused performance bundle into.",
223 help=
"Suppress per-case console output.",
225 args = parser.parse_args(argv)
234 "{case_name}: speedup={speedup:.3f}, memory_reduction={memory_reduction:.3f}, positive={positive_threshold_pass}, diagnosis={diagnosis_reasons}".format(
238 print(
"Wrote {}".format(output_path))
240 return 0
if bundle[
"status"] ==
"pass" else 1
243 if __name__ ==
"__main__":
244 raise SystemExit(
main())
def execute_partitioned_density
def execute_fused_with_reference
def execute_partitioned_density_fused
def build_software_metadata()
def iter_fusion_structured_cases()