1 from __future__
import annotations
3 from copy
import deepcopy
4 from dataclasses
import dataclass
5 from functools
import lru_cache
6 from time
import perf_counter
11 from benchmarks.density_matrix.correctness_evidence.common
import build_selected_candidate
12 from benchmarks.density_matrix.performance_evidence.common
import (
13 PERFORMANCE_EVIDENCE_ADDITIONAL_STRUCTURED_SEEDS,
14 PERFORMANCE_EVIDENCE_BENCHMARK_SLICE_CONTINUITY,
15 PERFORMANCE_EVIDENCE_BENCHMARK_SLICE_STRUCTURED,
16 PERFORMANCE_EVIDENCE_PHASE31_CASE_SCHEMA_VERSION,
17 PERFORMANCE_EVIDENCE_PRIMARY_STRUCTURED_SEED,
18 PERFORMANCE_EVIDENCE_REVIEW_NOISE_PATTERN,
19 build_phase31_counted_build_metadata,
21 from benchmarks.density_matrix.partitioned_runtime.common
import build_initial_parameters
22 from benchmarks.density_matrix.planner_surface.common
import build_phase2_continuity_vqe
23 from benchmarks.density_matrix.planner_surface.workloads
import (
24 DEFAULT_STRUCTURED_SEED,
25 MANDATORY_NOISE_PATTERNS,
26 PHASE31_CONTROL_NOISE_PATTERNS,
27 PHASE31_CONTROL_STRUCTURED_FAMILY_NAMES,
28 PHASE31_PRIMARY_NOISE_PATTERNS,
29 PHASE31_PRIMARY_SEEDS,
30 PHASE31_PRIMARY_STRUCTURED_FAMILY_NAMES,
31 STRUCTURED_FAMILY_NAMES,
33 build_phase31_structured_descriptor_set,
34 build_structured_descriptor_set,
36 from squander.partitioning.noisy_planner
import (
37 NoisyPartitionDescriptorSet,
38 build_phase3_continuity_partition_descriptor_set,
41 PERFORMANCE_EVIDENCE_CASE_KIND_CONTINUITY =
"continuity" 42 PERFORMANCE_EVIDENCE_CASE_KIND_STRUCTURED =
"structured_family" 43 PERFORMANCE_EVIDENCE_CONTINUITY_QUBITS = (4, 6, 8, 10)
44 PERFORMANCE_EVIDENCE_EXTERNAL_REFERENCE_CONTINUITY_QUBITS = (4,)
48 PHASE31_HYBRID_PILOT_WORKLOAD_ID =
"phase31_pair_repeat_q8_periodic_seed20260318" 49 BENCHMARK_SLICE_PHASE31_HYBRID_PILOT =
"phase31_hybrid_pilot" 50 BENCHMARK_SLICE_PHASE31_COUNTED_MATRIX =
"phase31_counted_matrix" 53 @dataclass(frozen=
True)
55 metadata: dict[str, Any]
56 descriptor_set: NoisyPartitionDescriptorSet
57 parameters: np.ndarray
58 hamiltonian: Any |
None =
None 66 descriptor_set: NoisyPartitionDescriptorSet,
70 planning_time_ms: float,
71 representative_review_case: bool,
72 family_name: str |
None =
None,
73 noise_pattern: str |
None =
None,
74 seed: int |
None =
None,
75 topology: list[tuple[int, int]] |
None =
None,
78 external_reference_required = (
79 case_kind == PERFORMANCE_EVIDENCE_CASE_KIND_CONTINUITY
80 and descriptor_set.qbit_num
in PERFORMANCE_EVIDENCE_EXTERNAL_REFERENCE_CONTINUITY_QUBITS
83 "case_name": descriptor_set.workload_id,
84 "case_kind": case_kind,
85 "benchmark_slice": benchmark_slice,
86 "candidate_id": selected_candidate[
"candidate_id"],
87 "planner_family": selected_candidate[
"planner_family"],
88 "planner_variant": selected_candidate[
"planner_variant"],
89 "max_partition_qubits": selected_candidate[
"max_partition_qubits"],
90 "planner_settings": dict(selected_candidate[
"planner_settings"]),
91 "planner_calibration_selected_candidate_id": selected_candidate[
"selected_candidate_id"],
92 "planner_calibration_claim_selection_schema_version": selected_candidate[
93 "claim_selection_schema_version" 95 "planner_calibration_claim_selection_rule": selected_candidate[
"claim_selection_rule"],
96 "source_type": descriptor_set.source_type,
97 "workload_id": descriptor_set.workload_id,
98 "qbit_num": descriptor_set.qbit_num,
99 "parameter_count": descriptor_set.parameter_count,
100 "family_name": family_name,
101 "noise_pattern": noise_pattern,
103 "topology": list(topology)
if topology
is not None else None,
104 "planning_time_ms": planning_time_ms,
105 "representative_review_case": representative_review_case,
107 None if family_name
is None else f
"{family_name}_q{descriptor_set.qbit_num}" 109 "external_reference_required": external_reference_required,
115 for qbit_num
in PERFORMANCE_EVIDENCE_CONTINUITY_QUBITS:
117 workload_id = f
"phase2_xxz_hea_q{qbit_num}_continuity" 118 start = perf_counter()
121 workload_id=workload_id,
122 max_partition_qubits=max_partition_qubits,
124 planning_time_ms = (perf_counter() - start) * 1000.0
127 case_kind=PERFORMANCE_EVIDENCE_CASE_KIND_CONTINUITY,
128 benchmark_slice=PERFORMANCE_EVIDENCE_BENCHMARK_SLICE_CONTINUITY,
129 planning_time_ms=planning_time_ms,
130 representative_review_case=
False,
135 descriptor_set=descriptor_set,
137 hamiltonian=hamiltonian,
143 (PERFORMANCE_EVIDENCE_PRIMARY_STRUCTURED_SEED,
"sparse"),
144 (PERFORMANCE_EVIDENCE_PRIMARY_STRUCTURED_SEED,
"periodic"),
145 (PERFORMANCE_EVIDENCE_PRIMARY_STRUCTURED_SEED,
"dense"),
146 (PERFORMANCE_EVIDENCE_ADDITIONAL_STRUCTURED_SEEDS[0], PERFORMANCE_EVIDENCE_REVIEW_NOISE_PATTERN),
147 (PERFORMANCE_EVIDENCE_ADDITIONAL_STRUCTURED_SEEDS[1], PERFORMANCE_EVIDENCE_REVIEW_NOISE_PATTERN),
151 @lru_cache(maxsize=1)
154 inventory_cases: list[dict[str, Any]] = []
155 for qbit_num
in PERFORMANCE_EVIDENCE_CONTINUITY_QUBITS:
156 inventory_cases.append(
158 "case_name": f
"phase2_xxz_hea_q{qbit_num}_continuity",
159 "case_kind": PERFORMANCE_EVIDENCE_CASE_KIND_CONTINUITY,
160 "benchmark_slice": PERFORMANCE_EVIDENCE_BENCHMARK_SLICE_CONTINUITY,
161 "candidate_id": selected_candidate[
"candidate_id"],
162 "planner_family": selected_candidate[
"planner_family"],
163 "planner_variant": selected_candidate[
"planner_variant"],
164 "max_partition_qubits": selected_candidate[
"max_partition_qubits"],
165 "planner_settings": dict(selected_candidate[
"planner_settings"]),
166 "planner_calibration_selected_candidate_id": selected_candidate[
"selected_candidate_id"],
167 "planner_calibration_claim_selection_schema_version": selected_candidate[
168 "claim_selection_schema_version" 170 "planner_calibration_claim_selection_rule": selected_candidate[
171 "claim_selection_rule" 173 "qbit_num": qbit_num,
175 "noise_pattern":
None,
178 "planning_time_ms":
None,
179 "representative_review_case":
False,
180 "review_group_id":
None,
181 "external_reference_required": qbit_num
182 in PERFORMANCE_EVIDENCE_EXTERNAL_REFERENCE_CONTINUITY_QUBITS,
185 for family_name
in STRUCTURED_FAMILY_NAMES:
186 for qbit_num
in STRUCTURED_QUBITS:
188 inventory_cases.append(
190 "case_name":
"{}_q{}_{}_seed{}".format(
191 family_name, qbit_num, noise_pattern, seed
193 "case_kind": PERFORMANCE_EVIDENCE_CASE_KIND_STRUCTURED,
194 "benchmark_slice": PERFORMANCE_EVIDENCE_BENCHMARK_SLICE_STRUCTURED,
195 "candidate_id": selected_candidate[
"candidate_id"],
196 "planner_family": selected_candidate[
"planner_family"],
197 "planner_variant": selected_candidate[
"planner_variant"],
198 "max_partition_qubits": selected_candidate[
199 "max_partition_qubits" 201 "planner_settings": dict(selected_candidate[
"planner_settings"]),
202 "planner_calibration_selected_candidate_id": selected_candidate[
203 "selected_candidate_id" 205 "planner_calibration_claim_selection_schema_version": selected_candidate[
206 "claim_selection_schema_version" 208 "planner_calibration_claim_selection_rule": selected_candidate[
209 "claim_selection_rule" 211 "qbit_num": qbit_num,
212 "family_name": family_name,
213 "noise_pattern": noise_pattern,
216 "planning_time_ms":
None,
217 "representative_review_case": (
218 seed == PERFORMANCE_EVIDENCE_PRIMARY_STRUCTURED_SEED
219 and noise_pattern == PERFORMANCE_EVIDENCE_REVIEW_NOISE_PATTERN
221 "review_group_id": f
"{family_name}_q{qbit_num}",
222 "external_reference_required":
False,
225 return tuple(inventory_cases)
234 for family_name
in STRUCTURED_FAMILY_NAMES:
235 for qbit_num
in STRUCTURED_QUBITS:
237 start = perf_counter()
241 noise_pattern=noise_pattern,
243 max_partition_qubits=max_partition_qubits,
245 planning_time_ms = (perf_counter() - start) * 1000.0
248 case_kind=PERFORMANCE_EVIDENCE_CASE_KIND_STRUCTURED,
249 benchmark_slice=PERFORMANCE_EVIDENCE_BENCHMARK_SLICE_STRUCTURED,
250 planning_time_ms=planning_time_ms,
251 representative_review_case=(
252 seed == PERFORMANCE_EVIDENCE_PRIMARY_STRUCTURED_SEED
253 and noise_pattern == PERFORMANCE_EVIDENCE_REVIEW_NOISE_PATTERN
255 family_name=family_name,
256 noise_pattern=noise_pattern,
261 descriptor_set=descriptor_set,
267 """Planning helper inventory for the frozen Phase 3.1 counted slice. 269 This inventory mirrors the contract closed in the Phase 3.1 docs but is not 270 wired into the default Phase 3 performance package builders. 274 inventory_cases: list[dict[str, Any]] = []
275 for family_name
in PHASE31_PRIMARY_STRUCTURED_FAMILY_NAMES:
276 for qbit_num
in STRUCTURED_QUBITS:
277 for noise_pattern
in PHASE31_PRIMARY_NOISE_PATTERNS:
278 for seed
in PHASE31_PRIMARY_SEEDS:
279 inventory_cases.append(
281 "case_name": f
"{family_name}_q{qbit_num}_{noise_pattern}_seed{seed}",
282 "case_kind": PERFORMANCE_EVIDENCE_CASE_KIND_STRUCTURED,
283 "benchmark_slice":
"phase31_structured_performance",
284 "candidate_id": selected_candidate[
"candidate_id"],
285 "planner_family": selected_candidate[
"planner_family"],
286 "planner_variant": selected_candidate[
"planner_variant"],
287 "max_partition_qubits": selected_candidate[
288 "max_partition_qubits" 290 "planner_settings": dict(selected_candidate[
"planner_settings"]),
291 "planner_calibration_selected_candidate_id": selected_candidate[
292 "selected_candidate_id" 294 "planner_calibration_claim_selection_schema_version": selected_candidate[
295 "claim_selection_schema_version" 297 "planner_calibration_claim_selection_rule": selected_candidate[
298 "claim_selection_rule" 300 "qbit_num": qbit_num,
301 "family_name": family_name,
302 "noise_pattern": noise_pattern,
305 "planning_time_ms":
None,
306 "representative_review_case": (
307 seed == PERFORMANCE_EVIDENCE_PRIMARY_STRUCTURED_SEED
309 "review_group_id": f
"{family_name}_q{qbit_num}",
310 "external_reference_required":
False,
311 "claim_surface_id":
"phase31_bounded_mixed_motif_v1",
312 "representation_primary":
"kraus_bundle",
313 "contains_noise":
True,
314 "counted_phase31_case":
True,
317 for family_name
in PHASE31_CONTROL_STRUCTURED_FAMILY_NAMES:
318 for qbit_num
in STRUCTURED_QUBITS:
319 for noise_pattern
in PHASE31_CONTROL_NOISE_PATTERNS:
320 inventory_cases.append(
322 "case_name": f
"{family_name}_q{qbit_num}_{noise_pattern}_seed{DEFAULT_STRUCTURED_SEED}",
323 "case_kind": PERFORMANCE_EVIDENCE_CASE_KIND_STRUCTURED,
324 "benchmark_slice":
"phase31_control_performance",
325 "candidate_id": selected_candidate[
"candidate_id"],
326 "planner_family": selected_candidate[
"planner_family"],
327 "planner_variant": selected_candidate[
"planner_variant"],
328 "max_partition_qubits": selected_candidate[
"max_partition_qubits"],
329 "planner_settings": dict(selected_candidate[
"planner_settings"]),
330 "planner_calibration_selected_candidate_id": selected_candidate[
331 "selected_candidate_id" 333 "planner_calibration_claim_selection_schema_version": selected_candidate[
334 "claim_selection_schema_version" 336 "planner_calibration_claim_selection_rule": selected_candidate[
337 "claim_selection_rule" 339 "qbit_num": qbit_num,
340 "family_name": family_name,
341 "noise_pattern": noise_pattern,
342 "seed": DEFAULT_STRUCTURED_SEED,
344 "planning_time_ms":
None,
345 "representative_review_case":
True,
346 "review_group_id": f
"{family_name}_q{qbit_num}",
347 "external_reference_required":
False,
348 "claim_surface_id":
"phase31_bounded_mixed_motif_v1",
349 "representation_primary":
"kraus_bundle",
350 "contains_noise":
True,
351 "counted_phase31_case":
True,
354 return inventory_cases
358 """Planning helper contexts for the frozen Phase 3.1 counted performance slice.""" 361 for family_name
in PHASE31_PRIMARY_STRUCTURED_FAMILY_NAMES:
362 for qbit_num
in STRUCTURED_QUBITS:
363 for noise_pattern
in PHASE31_PRIMARY_NOISE_PATTERNS:
364 for seed
in PHASE31_PRIMARY_SEEDS:
365 start = perf_counter()
369 noise_pattern=noise_pattern,
371 max_partition_qubits=max_partition_qubits,
373 planning_time_ms = (perf_counter() - start) * 1000.0
376 case_kind=PERFORMANCE_EVIDENCE_CASE_KIND_STRUCTURED,
377 benchmark_slice=
"phase31_structured_performance",
378 planning_time_ms=planning_time_ms,
379 representative_review_case=(
380 seed == PERFORMANCE_EVIDENCE_PRIMARY_STRUCTURED_SEED
382 family_name=family_name,
383 noise_pattern=noise_pattern,
388 "claim_surface_id":
"phase31_bounded_mixed_motif_v1",
389 "representation_primary":
"kraus_bundle",
390 "contains_noise":
True,
391 "counted_phase31_case":
True,
396 descriptor_set=descriptor_set,
398 descriptor_set.parameter_count
401 for family_name
in PHASE31_CONTROL_STRUCTURED_FAMILY_NAMES:
402 for qbit_num
in STRUCTURED_QUBITS:
403 for noise_pattern
in PHASE31_CONTROL_NOISE_PATTERNS:
404 start = perf_counter()
408 noise_pattern=noise_pattern,
409 seed=DEFAULT_STRUCTURED_SEED,
410 max_partition_qubits=max_partition_qubits,
412 planning_time_ms = (perf_counter() - start) * 1000.0
415 case_kind=PERFORMANCE_EVIDENCE_CASE_KIND_STRUCTURED,
416 benchmark_slice=
"phase31_control_performance",
417 planning_time_ms=planning_time_ms,
418 representative_review_case=
True,
419 family_name=family_name,
420 noise_pattern=noise_pattern,
421 seed=DEFAULT_STRUCTURED_SEED,
425 "claim_surface_id":
"phase31_bounded_mixed_motif_v1",
426 "representation_primary":
"kraus_bundle",
427 "contains_noise":
True,
428 "counted_phase31_case":
True,
433 descriptor_set=descriptor_set,
439 """Single frozen structured workload for the Phase 3.1 hybrid performance pilot row.""" 441 family_name =
"phase31_pair_repeat" 443 noise_pattern =
"periodic" 444 seed = PERFORMANCE_EVIDENCE_PRIMARY_STRUCTURED_SEED
445 start = perf_counter()
449 noise_pattern=noise_pattern,
451 max_partition_qubits=max_partition_qubits,
453 planning_time_ms = (perf_counter() - start) * 1000.0
454 if descriptor_set.workload_id != PHASE31_HYBRID_PILOT_WORKLOAD_ID:
456 "Phase 3.1 hybrid pilot workload_id mismatch: expected {!r}, got {!r}".format(
457 PHASE31_HYBRID_PILOT_WORKLOAD_ID,
458 descriptor_set.workload_id,
463 case_kind=PERFORMANCE_EVIDENCE_CASE_KIND_STRUCTURED,
464 benchmark_slice=BENCHMARK_SLICE_PHASE31_HYBRID_PILOT,
465 planning_time_ms=planning_time_ms,
466 representative_review_case=
True,
467 family_name=family_name,
468 noise_pattern=noise_pattern,
473 "claim_surface_id":
"phase31_bounded_mixed_motif_v1",
474 "representation_primary":
"kraus_bundle",
475 "contains_noise":
True,
476 "counted_phase31_case":
True,
477 "phase31_hybrid_pilot_case":
True,
482 descriptor_set=descriptor_set,
487 @lru_cache(maxsize=1)
490 for case
in inventory:
491 case[
"phase31_matrix_slice"] = BENCHMARK_SLICE_PHASE31_COUNTED_MATRIX
493 return tuple(inventory)
497 """Explicit sibling inventory for the full Phase 3.1 counted performance matrix.""" 502 @lru_cache(maxsize=1)
505 for case_context
in cases:
506 case_context.metadata[
"phase31_matrix_slice"] = BENCHMARK_SLICE_PHASE31_COUNTED_MATRIX
512 """Explicit sibling contexts for the full Phase 3.1 counted performance matrix.""" 517 @lru_cache(maxsize=1)
519 cases: list[PerformanceEvidenceCaseContext] = []
def build_performance_evidence_case_contexts()
def build_phase31_counted_build_metadata()
def build_phase31_hybrid_pilot_case_context()
def iter_performance_evidence_structured_cases()
def build_phase31_counted_performance_case_contexts()
def iter_performance_evidence_continuity_cases()
def build_phase2_continuity_vqe
def _structured_seed_noise_pairs()
def _build_phase31_counted_performance_inventory_cases_cached()
def _build_phase31_counted_performance_case_contexts_cached()
def build_initial_parameters
def build_phase31_performance_inventory_cases()
def iter_phase31_performance_cases()
def build_phase31_structured_descriptor_set
def _base_metadata_from_descriptor
def build_selected_candidate()
def build_phase3_continuity_partition_descriptor_set
def build_phase31_counted_performance_inventory_cases()
def _build_performance_evidence_inventory_cases_cached()
def _build_performance_evidence_case_contexts_cached()
def _selected_partition_qubits()
def build_performance_evidence_inventory_cases()
def build_structured_descriptor_set