New DEM canonicalization tests#568
Conversation
62ca48e to
c374d76
Compare
|
/ok to test c374d76 |
|
Thanks, @kaiqiy-nv. Could you please investigate the errors and warnings in
For the warning, could we please cap it at ~10 messages per function invocation so as to not spam the user's console with a short distance code? |
|
Hi @bmhowe23 , To cap warnings at 10 messages per function invocation -- DONE in the new push Cause of the CI failure above here:
Potential need to update Setting We may need further updates in Do we need to implement this update? Quick fix in the local test cases: We have changed the asserts of the We have also added one more test case |
b53bdce to
d0ca533
Compare
Signed-off-by: Kaiqi Yan <kaiqiy@nvidia.com>
Signed-off-by: Kaiqi Yan <kaiqiy@nvidia.com>
Signed-off-by: Kaiqi Yan <kaiqiy@nvidia.com>
Signed-off-by: Kaiqi Yan <kaiqiy@nvidia.com>
Signed-off-by: Kaiqi Yan <kaiqiy@nvidia.com>
Signed-off-by: Kaiqi Yan <kaiqiy@nvidia.com>
d0ca533 to
c522b94
Compare
|
/ok to test 0e431bb |
@kaiqiy-nv I believe the underlying cause of the problem was in the original QEC circuit. In particular, our memory circuits terminate after the stabilizer rounds but do not include the boundary detectors synthesized from the final data qubit readout. This makes the circuits too sensitive to errors in the final stabilizer rounds. The true fix for this is in work, and it will incorporate use of CUDA-Q detectors (freshly added to CUDA-Q) in NVIDIA/cuda-quantum#4602. Bottom line: I would like to incorporate your updates, but please allow a bit of time to sort out the multiple PRs that it will take to properly resolve this. |
|
@kaiqiy-nv - now that #610 has been merged, can you check which parts of this PR should remain? Edit: note that some underlying issues still remain (namely, need to include detectors formed from the final data qubit measurements), and those will be fixed separately before the next release. |
…nicalisation-new Signed-off-by: Kaiqi Yan <kaiqiy@nvidia.com> # Conflicts: # libs/qec/lib/detector_error_model.cpp # libs/qec/python/tests/test_dem.py # libs/qec/python/tests/test_sliding_window.py
PR NVIDIA#610 landed the canonicalize_for_rounds fix (observable-aware merging, zero-syndrome handling, order-independent composition) plus C++ regression tests, superseding the core change originally in this PR. Drop the now- redundant source and test edits (taken from main on merge) and retain only the supplementary coverage that NVIDIA#610 does not have: - test_z_dem_from_memory_circuit_against_stim_oracle: cross-checks the synthesized Steane Z-DEM against an independent Stim DEM (signatures + rates). - test_pymatching_decodes_stim_surface_code_dem: decodes a Stim rotated surface-code DEM through the PyMatching plugin and checks error reduction. - test_pymatching_parallel_edges_use_observable_faults: guards that the H-only path rejects parallel edges while the observable-aware path merges them. Stim is optional (pytest.importorskip), so Stim-less platforms skip cleanly. Signed-off-by: Kaiqi Yan <kaiqiy@nvidia.com>
3544b20 to
8812529
Compare
|
@bmhowe23 Thank you for your fix in PR 610. |
|
/ok to test 8812529 |
|
/ok to test 8f3e188 |
|
/ok to test 49a8f5b |
This PR tries to fix [B] 6234203 .
It also strengthen the test cases to expose the bug and test further:
merge_strategy='independent'intest_pymatching_decode_to_observable_surface_code_dem, since correct DEMs can contain parallel matching edges.pytest.importorskip("stim")so unsupported platforms get skipped.Thank you for looking at this PR.