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

Port built-in synthesis algorithms to rust #12212

Open
14 of 30 tasks
mtreinish opened this issue Apr 18, 2024 · 0 comments
Open
14 of 30 tasks

Port built-in synthesis algorithms to rust #12212

mtreinish opened this issue Apr 18, 2024 · 0 comments
Assignees
Labels
mod: transpiler Issues and PRs related to Transpiler performance Rust This PR or issue is related to Rust code in the repository synthesis type: epic A theme of work that contain sub-tasks type: feature request New feature or request

Comments

@mtreinish
Copy link
Member

mtreinish commented Apr 18, 2024

What should we add?

Right now in Qiskit we have a synthesis library that provides numerous methods for synthesizing various high level objects into circuits. As part of our effort to migrate more of Qiskit's code into rust for better runtime performance and efficiency we need to look at migrating these functions to Rust.

Until we have an implementation complete for #12205 the full path for this will be potentially limited. But we can work on this in parallel to #12205 and return a "circuit sequence" like we currently do in 2q unitary synthesis and 1q unitary synthesis (we likely can reuse TwoQubitGateSequence from 2q synthesis for >2q circuits as long as it's composed of just standard library gates) and then construct the circuit or dag in python space until we finish #12205.

This will potentially be a blocker for #12211 as we can't leverage a rust implementation of the pass fully if we need to call out to python to perform the synthesis.

The current list of synthesis methods are:

Tasks

  1. Rust performance synthesis
    Procatv
  2. Rust performance synthesis
    jpacold
  3. Rust performance synthesis
    Cryoris
  4. Rust performance synthesis
    Cryoris
  5. Rust performance synthesis
    gadial
  6. Rust performance synthesis
  7. Rust performance synthesis
    MozammilQ
  8. Rust performance synthesis
  9. Rust performance synthesis
  10. Rust performance synthesis
  11. Rust performance synthesis
    alexanderivrii
  12. Rust performance synthesis
    alexanderivrii
  13. Rust performance synthesis
  14. Rust performance synthesis
  15. Rust performance synthesis
  16. Rust performance synthesis
  17. Rust performance synthesis
  18. Rust performance synthesis
  19. Rust performance synthesis
  20. Rust performance synthesis
  21. Rust performance synthesis
  22. Rust performance synthesis
  23. Rust performance synthesis
  24. Rust performance synthesis
    jlapeyre
  25. Rust performance synthesis
    mtreinish
  26. Rust performance synthesis
    mtreinish
  27. Changelog: None Rust mod: quantum info performance
  28. Rust performance synthesis
    ShellyGarion
  29. Rust performance synthesis
    ShellyGarion
@mtreinish mtreinish added type: feature request New feature or request Rust This PR or issue is related to Rust code in the repository mod: transpiler Issues and PRs related to Transpiler synthesis labels Apr 18, 2024
@ShellyGarion ShellyGarion added the type: epic A theme of work that contain sub-tasks label Jun 12, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
mod: transpiler Issues and PRs related to Transpiler performance Rust This PR or issue is related to Rust code in the repository synthesis type: epic A theme of work that contain sub-tasks type: feature request New feature or request
Projects
None yet
Development

No branches or pull requests

3 participants