-
Notifications
You must be signed in to change notification settings - Fork 1k
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
Migrate ionq_device compilation to circuit transformer #4901
Comments
@Cynocracy Cirq optimizers have been migrated to new transformer framework. Can you now do the migration for ionq device? You should create a new Please let me know if you have any questions. |
#5028 This issue tracks the migration of optimizers in vendor packages |
Sure thing, happy to take this one up |
I was looking into this, and found #4925 recently that seems to have made changes to how cirq-ionq exposes these, but it doesn't support nqubits > 2 which is strange. Anyway, it's making my changes a bit more involved than I intiially thought, so just calling it out. Am shooting to continue to support that high level interface but to use a |
Hmm, maybe I'm just not understanding. The diff looks like it tried to preserve behavior. Going to continue to try to wrap my head around things :) hopefully a PR emerges soon |
Have my changes staged, but am confused by the sudden appearance of |
The full failure is
And I'm puzzled as how I've changed this behavior at all. Any ideas? |
mm, I'm wondering if it's the yield statements and me not understanding where/why things are generators. |
I am stuck again, still ending up with a cirq.PhasedXZGate in the compiled circuit, which should be broken up. Pushed my latest yield-less changes |
@Cynocracy You also need to override the See
|
See also #5129 |
@Cynocracy What is the status of this PR? Do you still need help with this? It looks like Tanuj had a suggestion in how to fix this. Do you think we could either wrap this up, or expose the branch for someone else to finish? |
Fixes #5129 #4901 #4153 Replaces #5127 * Adds support for compiling > 2q operations to ionq's target gateset * Does not do the "merge 2q operations to a connected component" optimization, to preserve existing behavior. We can add another `preprocess_transformer` if we want to do the optimization. * Deprecates `cirq_ionq.decompose_to_device` in favour of using `cirq.optimize_for_target_gateset(circuit, gateset=cirq_ionq.IonQTargetGateset)` for compiling circuits. cc @Cynocracy @dabacon
This is fixed by #5479 |
…b#5479) Fixes quantumlib#5129 quantumlib#4901 quantumlib#4153 Replaces quantumlib#5127 * Adds support for compiling > 2q operations to ionq's target gateset * Does not do the "merge 2q operations to a connected component" optimization, to preserve existing behavior. We can add another `preprocess_transformer` if we want to do the optimization. * Deprecates `cirq_ionq.decompose_to_device` in favour of using `cirq.optimize_for_target_gateset(circuit, gateset=cirq_ionq.IonQTargetGateset)` for compiling circuits. cc @Cynocracy @dabacon
Summarize the task
Spin-off from #4824 to get ionq device prepped for deprecation of
decompose_operation
API in devices.Acceptance criteria - when is the task considered done?
When ionq_device is no longer blocking deprecation of decompose_operation
The text was updated successfully, but these errors were encountered: