Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix an edge case in Sabre's release valve (backport #13114) #13130

Merged
merged 1 commit into from
Sep 11, 2024

Conversation

mergify[bot]
Copy link
Contributor

@mergify mergify bot commented Sep 11, 2024

Summary

Fixes #13081.

Details and comments

If a Sabre trial does not find a set of Swaps to route nodes, the "release valve" adds Swaps to route the two-qubit gate in between the the closest two qubits. In rare cases, this leads to more than one gate being routable, which was not handled correctly previously.

As I understand it this should only ever occur if the release-valve adds a single swap and we have a scenario like

A - B - A - B  --apply swap--> A - A - B - B

If more than one swap gate is applied it should not be possible that two gates are routable, so the code now only checks for a second routable gate if we insert a single swap. If someone can find a counterexample we can change the code to check for any routable gate after the release valve 🙂


This is an automatic backport of pull request #13114 done by Mergify.

* Fix edge case in Sabre release valve

If a Sabre trial does not find a set of Swaps to route nodes, the "release valve" adds Swaps to route the two-qubit gate in between the the closest two qubits. In rare cases, this leads to _more_ than one gate being routable, which was not handled correctly previously.

Co-authored-by: Jake Lishman <jake.lishman@ibm.com>

* add reno and test

* Use sensible syntax

Co-authored-by: Kevin Hartman <kevin@hart.mn>

* Use sensible grammar

Co-authored-by: Kevin Hartman <kevin@hart.mn>

* clippy

* Check if the new test breaks CI

* Revert "Check if the new test breaks CI"

This reverts commit 01bcdc7.

---------

Co-authored-by: Jake Lishman <jake.lishman@ibm.com>
Co-authored-by: Kevin Hartman <kevin@hart.mn>
(cherry picked from commit f2ca920)
@mergify mergify bot requested a review from a team as a code owner September 11, 2024 12:38
@qiskit-bot
Copy link
Collaborator

Thank you for opening a new pull request.

Before your PR can be merged it will first need to pass continuous integration tests and be reviewed. Sometimes the review process can be slow, so please be patient.

While you're waiting, please feel free to review other open PRs. While only a subset of people are authorized to approve pull requests for merging, everyone is encouraged to review open pull requests. Doing reviews helps reduce the burden on the core team and helps make the project's code better for everyone.

One or more of the following people are relevant to this code:

  • @Qiskit/terra-core
  • @kevinhartman
  • @mtreinish

@github-actions github-actions bot added this to the 1.2.1 milestone Sep 11, 2024
@github-actions github-actions bot added the Changelog: Bugfix Include in the "Fixed" section of the changelog label Sep 11, 2024
@coveralls
Copy link

Pull Request Test Coverage Report for Build 10811797234

Details

  • 13 of 26 (50.0%) changed or added relevant lines in 2 files are covered.
  • 17 unchanged lines in 2 files lost coverage.
  • Overall coverage decreased (-0.03%) to 89.758%

Changes Missing Coverage Covered Lines Changed/Added Lines %
crates/accelerate/src/sabre/route.rs 9 22 40.91%
Files with Coverage Reduction New Missed Lines %
crates/qasm2/src/lex.rs 5 92.48%
crates/qasm2/src/parse.rs 12 97.15%
Totals Coverage Status
Change from base Build 10811747175: -0.03%
Covered Lines: 66875
Relevant Lines: 74506

💛 - Coveralls

@ElePT ElePT enabled auto-merge September 11, 2024 13:18
@ElePT ElePT added this pull request to the merge queue Sep 11, 2024
Merged via the queue into stable/1.2 with commit 52fdbef Sep 11, 2024
18 checks passed
@mergify mergify bot deleted the mergify/bp/stable/1.2/pr-13114 branch September 11, 2024 14:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Changelog: Bugfix Include in the "Fixed" section of the changelog
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants