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 VF2Layout and VF2PostLayout handling of instructions without error #8978

Merged
merged 5 commits into from
Oct 25, 2022

Conversation

mtreinish
Copy link
Member

Summary

This commit fixes an issue in the VF2Layout and VF2PostLayout pass where the passes would potentially error in cases when a target was specified and there were instructions present without any error rates defined. In such cases the instructions should be treated as ideal (having no error) and the passes shouldn't fail. In cases where there are no error rates in the target for VF2Layout the first perfect match should be used, and for VF2PostLayout it should effectively be a no-op and not select a new layout.

Details and comments

Fixes #8970

This commit fixes an issue in the VF2Layout and VF2PostLayout pass where
the passes would potentially error in cases when a target was specified
and there were instructions present without any error rates defined. In
such cases the instructions should be treated as ideal (having no error)
and the passes shouldn't fail. In cases where there are no error rates
in the target for VF2Layout the first perfect match should be used, and
for VF2PostLayout it should effectively be a no-op and not select a new
layout.

Fixes Qiskit#8970
@mtreinish mtreinish added stable backport potential The bug might be minimal and/or import enough to be port to stable Changelog: Bugfix Include in the "Fixed" section of the changelog labels Oct 20, 2022
@mtreinish mtreinish added this to the 0.22.1 milestone Oct 20, 2022
@mtreinish mtreinish requested a review from a team as a code owner October 20, 2022 21:07
@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 the following people are requested to review this:

  • @Qiskit/terra-core

@coveralls
Copy link

coveralls commented Oct 20, 2022

Pull Request Test Coverage Report for Build 3323821440

  • 28 of 40 (70.0%) changed or added relevant lines in 3 files are covered.
  • 27 unchanged lines in 2 files lost coverage.
  • Overall coverage decreased (-0.04%) to 84.369%

Changes Missing Coverage Covered Lines Changed/Added Lines %
qiskit/transpiler/passes/layout/vf2_post_layout.py 17 29 58.62%
Files with Coverage Reduction New Missed Lines %
src/optimize_1q_gates.rs 1 95.16%
src/results/marginalization.rs 26 74.14%
Totals Coverage Status
Change from base Build 3323598689: -0.04%
Covered Lines: 61708
Relevant Lines: 73141

💛 - Coveralls

kevinhartman
kevinhartman previously approved these changes Oct 21, 2022
qiskit/transpiler/passes/layout/vf2_layout.py Show resolved Hide resolved
Copy link
Contributor

@kevinhartman kevinhartman left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

@mergify mergify bot merged commit 6580d96 into Qiskit:main Oct 25, 2022
mergify bot pushed a commit that referenced this pull request Oct 25, 2022
#8978)

* Fix VF2Layout and VF2PostLayout handling of instructions without error

This commit fixes an issue in the VF2Layout and VF2PostLayout pass where
the passes would potentially error in cases when a target was specified
and there were instructions present without any error rates defined. In
such cases the instructions should be treated as ideal (having no error)
and the passes shouldn't fail. In cases where there are no error rates
in the target for VF2Layout the first perfect match should be used, and
for VF2PostLayout it should effectively be a no-op and not select a new
layout.

Fixes #8970

* Add missing comma to comment

* Exit early if score is 0

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
(cherry picked from commit 6580d96)
mergify bot added a commit that referenced this pull request Oct 25, 2022
#8978) (#8997)

* Fix VF2Layout and VF2PostLayout handling of instructions without error

This commit fixes an issue in the VF2Layout and VF2PostLayout pass where
the passes would potentially error in cases when a target was specified
and there were instructions present without any error rates defined. In
such cases the instructions should be treated as ideal (having no error)
and the passes shouldn't fail. In cases where there are no error rates
in the target for VF2Layout the first perfect match should be used, and
for VF2PostLayout it should effectively be a no-op and not select a new
layout.

Fixes #8970

* Add missing comma to comment

* Exit early if score is 0

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
(cherry picked from commit 6580d96)

Co-authored-by: Matthew Treinish <[email protected]>
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 stable backport potential The bug might be minimal and/or import enough to be port to stable
Projects
None yet
Development

Successfully merging this pull request may close these issues.

VF2 layout fails with cryptic error message when instruction properties are not available
5 participants