-
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
Fully port Split2QUnitaries to rust #13025
Merged
Merged
Commits on Aug 30, 2024
-
Fully port Split2QUnitaries to rust
This commit builds off of Qiskit#13013 and the other data model in Rust infrastructure and migrates the InverseCancellation pass to operate fully in Rust. The full path of the transpiler pass now never leaves Rust until it has finished modifying the DAGCircuit. There is still some python interaction necessary to handle parts of the data model that are still in Python, mainly for creating `UnitaryGate` instances and `ParameterExpression` for global phase. But otherwise the entirety of the pass operates in rust now. This is just a first pass at the migration here, it moves the pass to use loops in rust. The next steps here are to look at operating the pass in parallel. There is no data dependency between the optimizations being done for different gates so we should be able to increase the throughput of the pass by leveraging multithreading to handle each gate in parallel. This commit does not attempt this though, because of the Python dependency and also the data structures around gates and the dag aren't really setup for multithreading yet and there likely will need to be some work to support that. Part of Qiskit#12208
Configuration menu - View commit details
-
Copy full SHA for bee99b1 - Browse repository at this point
Copy the full SHA bee99b1View commit details
Commits on Sep 6, 2024
-
Configuration menu - View commit details
-
Copy full SHA for 3d8af9d - Browse repository at this point
Copy the full SHA 3d8af9dView commit details -
Update pass logic with changes from Qiskit#13095
Some of the logic inside the Split2QUnitaries pass was updated in a recently merged PR. This commit makes those changes so the rust implementation matches the current state of the previous python version.
Configuration menu - View commit details
-
Copy full SHA for 911be95 - Browse repository at this point
Copy the full SHA 911be95View commit details
Commits on Sep 9, 2024
-
Configuration menu - View commit details
-
Copy full SHA for e924c8a - Browse repository at this point
Copy the full SHA e924c8aView commit details -
Configuration menu - View commit details
-
Copy full SHA for 7b0e363 - Browse repository at this point
Copy the full SHA 7b0e363View commit details -
Use Fn trait instead of FnMut for callback
We don't need the callback to be mutable currently so relax the trait to just be `Fn` instead of `FnMut`. If we have a need for a mutable environment callback in the future we can change this easily enough without any issues.
Configuration menu - View commit details
-
Copy full SHA for 2ff94f5 - Browse repository at this point
Copy the full SHA 2ff94f5View commit details -
Configuration menu - View commit details
-
Copy full SHA for b2cdb54 - Browse repository at this point
Copy the full SHA b2cdb54View commit details -
Configuration menu - View commit details
-
Copy full SHA for 913ec20 - Browse repository at this point
Copy the full SHA 913ec20View commit details
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.