Skip to content

Migration of optimizers in vendor packages to new transformers infrastructure. #5028

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

Closed
15 tasks done
tanujkhattar opened this issue Feb 25, 2022 · 2 comments
Closed
15 tasks done
Assignees
Labels
area/transformers help wanted kind/task A task that's part of a larger effort

Comments

@tanujkhattar
Copy link
Collaborator

tanujkhattar commented Feb 25, 2022

Summarize the task
After #4722, all optimizers in cirq-core have been migrated to the new transformer API #4483, re-implemented using new moment-preserving transformer primitives and support no-compile tags.

This issue is to track the migration of all optimizers in cirq's vendor packages to the new transformer infrastructure.

Acceptance criteria - when is the task considered done?
When the following optimizers have been migrated to new transformer infrastructure.

cirq-google

  • ConvertToXmonGates
  • ConvertToSqrtIswapGates
  • ConvertToSycamoreGates
  • optimized_for_xmon
  • optimized_for_sycamore
  • _PhasedFSimConverter

cirq-ionq

  • ionq_devices/decompose_to_device

cirq-pasqal

  • PasqalConverter

cirq-core/ion

  • ConvertToIonGates

cirq-core/neutral-atoms

  • ConvertToNeutralAtomGates

cirq-corq/contrib

  • ConvertToSingleQubitCliffordGates
  • ConvertToPauliStringPhasors
  • StrategyExecutor
  • SwapPermutationReplacer
  • MergeNQubitGates

Note that most of the Convert* type optimizers can be replaced with the newly added cirq.optimize_for_target_gateset transformer. To do the migration, user would just need to create a new target gateset that can be used as an argument to the above transformer. The new gateset can be simply created by deriving from cirq.TwoQubitCompilationTargetGateset. See #5007 for a sample migration PR.

Part of roadmap: #3238

@tanujkhattar tanujkhattar added help wanted kind/task A task that's part of a larger effort area/transformers labels Feb 25, 2022
CirqBot pushed a commit that referenced this issue Mar 14, 2022
…es` (#5054)

- Part of #5028
- Follows the new Transformer API #4483
- Supports no compile tags NoCompile Tag for optimizers #4253
CirqBot pushed a commit that referenced this issue Mar 18, 2022
…argetGateset` + `cirq.optimize_for_target_gateset` (#5096)

Part of #5028
tonybruguier pushed a commit to tonybruguier/Cirq that referenced this issue Apr 14, 2022
@tanujkhattar tanujkhattar self-assigned this May 25, 2022
@dstrain115
Copy link
Collaborator

I updated Pasqal and neutral atoms, which are now converted.

@tanujkhattar Can you update this list? optimize_for_xmon is now replaced by optimize_for_target_gateset, right? Are any of the other optimizers completed?

@tanujkhattar
Copy link
Collaborator Author

This is now complete.

rht pushed a commit to rht/Cirq that referenced this issue May 1, 2023
…es` (quantumlib#5054)

- Part of quantumlib#5028
- Follows the new Transformer API quantumlib#4483
- Supports no compile tags NoCompile Tag for optimizers quantumlib#4253
rht pushed a commit to rht/Cirq that referenced this issue May 1, 2023
rht pushed a commit to rht/Cirq that referenced this issue May 1, 2023
rht pushed a commit to rht/Cirq that referenced this issue May 1, 2023
harry-phasecraft pushed a commit to PhaseCraft/Cirq that referenced this issue Oct 31, 2024
harry-phasecraft pushed a commit to PhaseCraft/Cirq that referenced this issue Oct 31, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/transformers help wanted kind/task A task that's part of a larger effort
Projects
None yet
Development

No branches or pull requests

2 participants