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

Deprecate the BIPMapping transpiler pass in favor of external plugin #9924

Merged
merged 3 commits into from
Apr 12, 2023

Conversation

mtreinish
Copy link
Member

Summary

This commit deprecates the BIPMapping transpiler pass. Since its introduction the pass has been in a weird state since it's introduction. It is a standalone transpiler pass that we never integrated it into transpile() because it has an external dependency on cplex which is a proprietary software package that most people don't have access too. With the introduction of the transpiler stage plugin interface the pass has been turned into an external package:

https://github.com/qiskit-community/qiskit-bip-mapper

By using the plugin interface the pass can now be cleanly integrates into the transpile() function and also makes the requirement to have cplex installed much more explicit. For users with cplex it's much easier to run the BIPMapping pass as part of a transpilation workflow with transpile(..., routing_method="bip").

Details and comments

Closes #8662

@mtreinish mtreinish added the Changelog: Deprecation Include in "Deprecated" section of changelog label Apr 6, 2023
@mtreinish mtreinish added this to the 0.24.0 milestone Apr 6, 2023
@mtreinish mtreinish requested review from a team, woodsp-ibm and ElePT as code owners April 6, 2023 19:02
@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:

This commit deprecates the BIPMapping transpiler pass. Since its
introduction the pass has been in a weird state since it's introduction.
It is a standalone transpiler pass that we never integrated it into
transpile() because it has an external dependency on cplex which is a
proprietary software package that most people don't have access too.
With the introduction of the transpiler stage plugin interface the pass
has been turned into an external package:

https://github.com/qiskit-community/qiskit-bip-mapper

By using the plugin interface the pass can now be cleanly integrates
into the transpile() function and also makes the requirement to have
cplex installed much more explicit. For users with cplex it's much
easier to run the BIPMapping pass as part of a transpilation workflow
with `transpile(..., routing_method="bip")`.

Closes Qiskit#8662
@coveralls
Copy link

coveralls commented Apr 6, 2023

Pull Request Test Coverage Report for Build 4633952693

  • 4 of 4 (100.0%) changed or added relevant lines in 2 files are covered.
  • No unchanged relevant lines lost coverage.
  • Overall coverage increased (+0.002%) to 85.433%

Totals Coverage Status
Change from base Build 4632030902: 0.002%
Covered Lines: 67747
Relevant Lines: 79298

💛 - Coveralls

Copy link
Member

@jakelishman jakelishman left a comment

Choose a reason for hiding this comment

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

This looks sensible to me and I'm glad to see this currently unmaintained and proprietary-dependant code moving out of Terra. I think we should get sign-off from the original authors/approvers (@itoko, @ajavadia) if we haven't already done that offline.

@itoko
Copy link
Contributor

itoko commented Apr 12, 2023

I'm OK with moving the BIPMapping pass to an external plugin since we now have the plugin interface easy to use and it is preferable for Terra to reduce the dependency on a proprietary software.

@jakelishman jakelishman added this pull request to the merge queue Apr 12, 2023
Merged via the queue into Qiskit:main with commit 602d340 Apr 12, 2023
giacomoRanieri pushed a commit to giacomoRanieri/qiskit-terra that referenced this pull request Apr 16, 2023
…iskit#9924)

* Deprecate the BIPMapping transpiler pass in favor of external plugin

This commit deprecates the BIPMapping transpiler pass. Since its
introduction the pass has been in a weird state since it's introduction.
It is a standalone transpiler pass that we never integrated it into
transpile() because it has an external dependency on cplex which is a
proprietary software package that most people don't have access too.
With the introduction of the transpiler stage plugin interface the pass
has been turned into an external package:

https://github.com/qiskit-community/qiskit-bip-mapper

By using the plugin interface the pass can now be cleanly integrates
into the transpile() function and also makes the requirement to have
cplex installed much more explicit. For users with cplex it's much
easier to run the BIPMapping pass as part of a transpilation workflow
with `transpile(..., routing_method="bip")`.

Closes Qiskit#8662

* Catch deprecation warnings in tests

* Fix lint
king-p3nguin pushed a commit to king-p3nguin/qiskit-terra that referenced this pull request May 22, 2023
…iskit#9924)

* Deprecate the BIPMapping transpiler pass in favor of external plugin

This commit deprecates the BIPMapping transpiler pass. Since its
introduction the pass has been in a weird state since it's introduction.
It is a standalone transpiler pass that we never integrated it into
transpile() because it has an external dependency on cplex which is a
proprietary software package that most people don't have access too.
With the introduction of the transpiler stage plugin interface the pass
has been turned into an external package:

https://github.com/qiskit-community/qiskit-bip-mapper

By using the plugin interface the pass can now be cleanly integrates
into the transpile() function and also makes the requirement to have
cplex installed much more explicit. For users with cplex it's much
easier to run the BIPMapping pass as part of a transpilation workflow
with `transpile(..., routing_method="bip")`.

Closes Qiskit#8662

* Catch deprecation warnings in tests

* Fix lint
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Changelog: Deprecation Include in "Deprecated" section of changelog
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Convert BIPMaping transpiler pass into an external plugin
5 participants