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

Check that circuit mlir passes do not transform to unsupported gates on the device #1394

Open
paul0403 opened this issue Dec 19, 2024 · 0 comments
Labels
compiler Pull requests that update the compiler enhancement New feature or request

Comments

@paul0403
Copy link
Contributor

paul0403 commented Dec 19, 2024

We currently do not have such passes, but imagine a pass that performs
--PauliX-- --> --RX(pi/2)--RX(pi/2)--

This is a valid abstract circuit transformation; however, from a device perspective, it implicitly imposes the requirement that the device support the RX gate, despite no such guarantees from the original circuit (RX was not present in the original circuit).

It would be good to have a mechanism to perform such checks, or a "gateset canonicalization pass" that automatically decomposes towards the device's supported gateset every now and then in the pipeline.

This would be quite valuable, since we are starting to consider hardware targeting now.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
compiler Pull requests that update the compiler enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant