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

Devices: Hierarchy of devices #3245

Closed balopat closed 2 years ago

balopat commented 3 years ago

Problem: For the validation component of a device, one often works with a standard connectivity of the device. Currently these are hidden away in specific device implementations like ion trap, neutral atoms, contrib’s hypergraph devices, and the Google hardcoded devices and Google serializable device specifications. Many of them couple durations with gate specifications. This feature would be to commonize and systemize the base constructions for the geometric constraints of these devices and move them into Cirq proper. Placement codes then could be specialized to work with particular versions of these types of devices, providing the necessary hooks to understand the geometric constraints of these systems.

Depends on feature: Separate concerns in devices (#3244)

Rough requirements:

balopat commented 3 years ago

related #3020

MichaelBroughton commented 2 years ago

This has been resolved by the device refactor. Adding the metadata.nx_graph items alongside the device placement functionality in cirq workflow tools broadly captures the functionality here. We can re-open new issues if we have more specific concerns going forward.