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

[Google] Vendor Transformer Adoption #5254

Open
4 tasks
tanujkhattar opened this issue Apr 12, 2022 · 0 comments
Open
4 tasks

[Google] Vendor Transformer Adoption #5254

tanujkhattar opened this issue Apr 12, 2022 · 0 comments
Assignees
Labels
area/transformers kind/task A task that's part of a larger effort

Comments

@tanujkhattar
Copy link
Collaborator

tanujkhattar commented Apr 12, 2022

Summarize the task
We now have cirq.CompilationTargetGateset and cirq.optimize_for_target_gateset abstractions and transformers to:

  1. Specify a compilation target gateset that we want to compile a circuit to
  2. Specify a bundle of transformers that should be executed in order to compile circuits to the target.

cirq-google still has the legacy cirq_google.optimized_for_sycamore method, which should be deprecated in favour of the above constructs. This work should be done as part of updating the device specifications in cirq_google and integrating compilation targets with devices, as proposed by @verult

Acceptance criteria - when is the task considered done?

Concrete action items should be:

  • Figure out a way to construct compilation target gatesets from device specification protos and attach them to grid device metadata.
  • The compilation targets constructed as part of 1 would contain the individual transformers executed in cg.optimized_for_sycamore method as gateset.postprocess_transformers
  • We can then deprecate cg.optimized_for_sycamore(circuit, optimizer_type='sqrt_iswap') in favour of using cirq.optimize_for_target_gateset(circuit, gateset=sqrt_iswap_device.compilation_target_gateset). Also deprecate cg.optimized_for_xmon
  • Update google specific tutorials like docs/google/best_practices.md to use these new constructs instead of cg.optimized_for_sycamore.

Part of #5028 and #5050

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/transformers kind/task A task that's part of a larger effort
Projects
Status: No status
Development

No branches or pull requests

6 participants