quantumlib / Cirq

A python framework for creating, editing, and invoking Noisy Intermediate Scale Quantum (NISQ) circuits.
Apache License 2.0
4.19k stars 995 forks source link

[Pasqal] Vendor Transformer Adoption #5130

Closed MichaelBroughton closed 2 years ago

MichaelBroughton commented 2 years ago

Summarize the task With broader changes to devices (https://github.com/quantumlib/Cirq/issues/4744) and optimizers/trasnformers (https://github.com/quantumlib/Cirq/issues/4722), vendors might need to update device decomposition to use the newest transformer APIs. At first glance it looks like:


cirq-pasqal is rolling their own PasqalConverter optimizer which could be converted into a transformer: https://github.com/quantumlib/Cirq/blob/45624ff7259f53589c2139c97108d8bf11502173/cirq-pasqal/cirq_pasqal/pasqal_device.py#L391

Like aqt, this calls out to the cirq-core neutral atom module. Perhaps we should consolidate this ? @HGSilveri @tanujkhattar

HGSilveri commented 2 years ago

The PasqalConverter and ConvertToNeutralAtomGates are almost identical, so if ConvertToNeutralAtomGates is turned into a transformer, then PasqalConverter should naturally follow.