-
Notifications
You must be signed in to change notification settings - Fork 2.4k
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
Oxidize synth_cnot_count_full_pmh
#12588
Conversation
One or more of the following people are relevant to this code:
|
Pull Request Test Coverage Report for Build 9547358808Details
💛 - Coveralls |
Pull Request Test Coverage Report for Build 9548795140Details
💛 - Coveralls |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Generally, it looks very well. Please see some comments and questions.
Also, release notes are needed.
Pull Request Test Coverage Report for Build 9592962940Details
💛 - Coveralls |
Pull Request Test Coverage Report for Build 9600662838Warning: 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
💛 - Coveralls |
Pull Request Test Coverage Report for Build 9609475087Warning: 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
💛 - Coveralls |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This code looks good, but it should be refactored as #12456 was merged.
My main comment is that perhaps we should consider incorporating the suggestion in
#12166 (comment) to handle invalid values section_size
as well as tests to verify the correctness of the valid circuit (see #12166 (comment)).
Then, perhaps it would be better to have the default section_size
as log(n)
since it produces a circuit with smaller CX count.
Co-authored-by: Abdalla01001 <[email protected]> Co-authored-by: Tarun-Kumar07 <[email protected]>
Pull Request Test Coverage Report for Build 9781347471Details
💛 - Coveralls |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks @Cryoris - this PR looks great, I have some small comments.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The code looks amazing! I just had one tiny question about function arguments.
Pull Request Test Coverage Report for Build 9791122293Warning: 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
💛 - Coveralls |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM! Thanks @Cryoris !
* port PMH synth to Rust * Raise an error if the section size is invalid Co-authored-by: Abdalla01001 <[email protected]> Co-authored-by: Tarun-Kumar07 <[email protected]> * Review comments of Shelly & Sasha --------- Co-authored-by: Abdalla01001 <[email protected]> Co-authored-by: Tarun-Kumar07 <[email protected]>
Summary
Closes #12227.
In a benchmark to synthesize 100 qubit linear networks 1000 times, the runtime is ~44 times faster:
I would assume the main speedup is due to a more efficient circuit construction.
Details and comments
synth_cnot_count_full_pmh
returns invalid circuits for certainsection_size
values #12106, which is currently tackled in a different PR.