1 """Shared evidence helpers for correctness and performance pipelines.""" 3 from __future__
import annotations
7 from benchmarks.density_matrix.partitioned_runtime.common
import (
8 PHASE3_RUNTIME_DENSITY_TOL,
9 PHASE3_RUNTIME_ENERGY_TOL,
10 build_density_comparison_metrics,
13 from benchmarks.density_matrix.planner_calibration.calibration_records
import (
14 execute_qiskit_density_reference,
19 RUNTIME_CORRECTNESS_BRIDGE_FIELD_NAMES: tuple[str, ...] = (
21 "supported_runtime_case",
22 "exact_output_present",
27 "descriptor_member_count",
31 "partition_member_counts",
32 "remapped_partition_count",
33 "parameter_routing_segment_count",
35 "supported_unfused_region_count",
36 "deferred_region_count",
38 "supported_unfused_gate_count",
39 "actual_fused_execution",
40 "frobenius_norm_diff",
42 "internal_reference_pass",
46 "output_integrity_pass",
47 "continuity_energy_required",
48 "continuity_energy_error",
49 "continuity_energy_pass",
50 "external_frobenius_norm_diff",
51 "external_max_abs_diff",
52 "external_reference_pass",
57 if not record[
"supported_runtime_case"]:
59 if not record[
"internal_reference_pass"]:
61 if not record[
"output_integrity_pass"]:
63 if record[
"continuity_energy_required"]
and not record[
"continuity_energy_pass"]:
65 if record[
"external_reference_required"]
and not record[
"external_reference_pass"]:
74 density_metrics: dict[str, Any],
76 external_reference_required: bool,
77 runtime_payload: dict[str, Any] |
None =
None,
79 """Materialize runtime summary, density comparison, and integrity fields shared by evidence records.""" 80 if runtime_payload
is None:
81 runtime_payload = runtime_result.to_dict(include_density_matrix=
False)
83 internal_reference_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_result.trace_deviation <= PHASE3_RUNTIME_DENSITY_TOL
87 and runtime_result.rho_is_valid
89 output_integrity_pass = (
90 runtime_result.trace_deviation <= PHASE3_RUNTIME_DENSITY_TOL
91 and runtime_result.rho_is_valid
94 continuity_energy_required = case_context.hamiltonian
is not None 95 continuity_energy_error =
None 96 continuity_energy_pass =
True 97 if continuity_energy_required:
99 case_context.hamiltonian, runtime_result.density_matrix_numpy()
102 case_context.hamiltonian, reference_density.to_numpy()
104 continuity_energy_error = float(abs(runtime_energy_real - reference_energy_real))
105 continuity_energy_pass = continuity_energy_error <= PHASE3_RUNTIME_ENERGY_TOL
107 external_metrics =
None 108 external_reference_pass =
True 109 if external_reference_required:
111 case_context.descriptor_set, case_context.parameters
114 runtime_result.density_matrix, aer_density
116 external_reference_pass = (
117 external_metrics[
"frobenius_norm_diff"] <= PHASE3_RUNTIME_DENSITY_TOL
118 and external_metrics[
"max_abs_diff"] <= PHASE3_RUNTIME_DENSITY_TOL
121 fields: dict[str, Any] = {
122 "runtime_path": runtime_payload[
"runtime_path"],
123 "supported_runtime_case": runtime_payload[
"summary"][
"exact_output_present"],
124 "exact_output_present": runtime_payload[
"summary"][
"exact_output_present"],
125 "runtime_ms": runtime_payload[
"summary"][
"runtime_ms"],
126 "peak_rss_kb": runtime_payload[
"summary"][
"peak_rss_kb"],
127 "peak_rss_mb": float(runtime_payload[
"summary"][
"peak_rss_kb"]) / 1024.0,
128 "partition_count": runtime_payload[
"summary"][
"partition_count"],
129 "descriptor_member_count": runtime_payload[
"summary"][
"descriptor_member_count"],
130 "gate_count": runtime_payload[
"summary"][
"gate_count"],
131 "noise_count": runtime_payload[
"summary"][
"noise_count"],
132 "max_partition_span": runtime_payload[
"summary"][
"max_partition_span"],
133 "partition_member_counts": runtime_payload[
"summary"][
"partition_member_counts"],
134 "remapped_partition_count": runtime_payload[
"summary"][
"remapped_partition_count"],
135 "parameter_routing_segment_count": runtime_payload[
"summary"][
136 "parameter_routing_segment_count" 138 "fused_region_count": runtime_payload[
"summary"][
"fused_region_count"],
139 "supported_unfused_region_count": runtime_payload[
"summary"][
140 "supported_unfused_region_count" 142 "deferred_region_count": runtime_payload[
"summary"][
"deferred_region_count"],
143 "fused_gate_count": runtime_payload[
"summary"][
"fused_gate_count"],
144 "supported_unfused_gate_count": runtime_payload[
"summary"][
145 "supported_unfused_gate_count" 147 "actual_fused_execution": runtime_payload[
"summary"][
"actual_fused_execution"],
148 "frobenius_norm_diff": density_metrics[
"frobenius_norm_diff"],
149 "max_abs_diff": density_metrics[
"max_abs_diff"],
150 "internal_reference_pass": internal_reference_pass,
151 "trace_deviation": runtime_result.trace_deviation,
152 "rho_is_valid": runtime_result.rho_is_valid,
153 "rho_is_valid_tol": runtime_payload[
"summary"][
"rho_is_valid_tol"],
154 "output_integrity_pass": output_integrity_pass,
155 "continuity_energy_required": continuity_energy_required,
156 "continuity_energy_error": continuity_energy_error,
157 "continuity_energy_pass": continuity_energy_pass,
158 "external_frobenius_norm_diff": (
159 None if external_metrics
is None else external_metrics[
"frobenius_norm_diff"]
161 "external_max_abs_diff": (
162 None if external_metrics
is None else external_metrics[
"max_abs_diff"]
164 "external_reference_pass": external_reference_pass,
166 if set(fields) != set(RUNTIME_CORRECTNESS_BRIDGE_FIELD_NAMES):
167 missing = set(RUNTIME_CORRECTNESS_BRIDGE_FIELD_NAMES) - set(fields)
168 extra = set(fields) - set(RUNTIME_CORRECTNESS_BRIDGE_FIELD_NAMES)
169 raise AssertionError(f
"bridge field keys mismatch: missing={missing!r} extra={extra!r}")
def execute_qiskit_density_reference
def build_density_comparison_metrics
def build_runtime_correctness_bridge_fields
def counted_supported_case