Skip to content

HLS plugin for new MCX Decompositions #14143

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

Merged
merged 14 commits into from
Apr 7, 2025

Conversation

patelvyom
Copy link
Contributor

Summary

Add HLS passes for recently added synth_mcx_2_clean_kg24, synth_mcx_2_dirty_kg24, synth_mcx_1_clean_kg24, synth_mcx_1_dirty_kg24 in #13922.

@patelvyom patelvyom requested a review from a team as a code owner April 1, 2025 04:56
@qiskit-bot qiskit-bot added the Community PR PRs from contributors that are not 'members' of the Qiskit repo label Apr 1, 2025
@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

@coveralls
Copy link

coveralls commented Apr 1, 2025

Pull Request Test Coverage Report for Build 14247565305

Warning: This coverage report may be inaccurate.

This pull request's base commit is no longer the HEAD commit of its target branch. This means it includes changes from outside the original pull request, including, potentially, unrelated coverage changes.

Details

  • 39 of 43 (90.7%) changed or added relevant lines in 1 file are covered.
  • 94 unchanged lines in 9 files lost coverage.
  • Overall coverage increased (+0.02%) to 88.071%

Changes Missing Coverage Covered Lines Changed/Added Lines %
qiskit/transpiler/passes/synthesis/hls_plugins.py 39 43 90.7%
Files with Coverage Reduction New Missed Lines %
crates/qasm2/src/expr.rs 1 94.23%
qiskit/circuit/library/quantum_volume.py 1 93.18%
qiskit/synthesis/arithmetic/adders/draper_qft_adder.py 1 96.15%
qiskit/primitives/containers/data_bin.py 2 96.15%
qiskit/circuit/_add_control.py 3 97.84%
crates/qasm2/src/lex.rs 6 92.23%
crates/qasm2/src/parse.rs 6 97.61%
qiskit/primitives/primitive_job.py 10 81.36%
qiskit/transpiler/passes/synthesis/hls_plugins.py 64 86.04%
Totals Coverage Status
Change from base Build 14192011006: 0.02%
Covered Lines: 72931
Relevant Lines: 82809

💛 - Coveralls

@ShellyGarion ShellyGarion added this to the 2.1.0 milestone Apr 1, 2025
@ShellyGarion ShellyGarion added the Changelog: New Feature Include in the "Added" section of the changelog label Apr 1, 2025
@ShellyGarion ShellyGarion added synthesis mod: transpiler Issues and PRs related to Transpiler labels Apr 1, 2025
@patelvyom
Copy link
Contributor Author

I am unsure where the linter error is coming from.

Copy link
Member

@ShellyGarion ShellyGarion left a comment

Choose a reason for hiding this comment

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

@patelvyom - I very much appreciate your contribution to qiskit.
The documentation looks well as well as the tests. I have a minor comment on the release notes.
@alexanderivrii - could you also review this PR?

Copy link
Member

@alexanderivrii alexanderivrii left a comment

Choose a reason for hiding this comment

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

Thanks for the contribution, this looks really great!

Comment on lines +1425 to +1439
for synthesis_method in [
MCXSynthesisNCleanM15,
MCXSynthesisNDirtyI15,
MCXSynthesis2CleanKG24,
MCXSynthesis2DirtyKG24,
MCXSynthesis1CleanKG24,
MCXSynthesis1DirtyKG24,
MCXSynthesis1CleanB95,
]:
if (
decomposition := synthesis_method().run(
high_level_object, coupling_map, target, qubits, **options
)
) is not None:
return decomposition
Copy link
Member

Choose a reason for hiding this comment

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

This looks really nice!

@alexanderivrii alexanderivrii added this pull request to the merge queue Apr 7, 2025
Merged via the queue into Qiskit:main with commit a6a2fcd Apr 7, 2025
23 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Changelog: New Feature Include in the "Added" section of the changelog Community PR PRs from contributors that are not 'members' of the Qiskit repo mod: transpiler Issues and PRs related to Transpiler synthesis
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

5 participants