Skip to content

Commit

Permalink
Add information on new vendor setup (#5485)
Browse files Browse the repository at this point in the history
* Add information on new vendor setup

- Add a blurb about submitting RFC and attending cirq cync
- Adds information about possible options and different pieces
needed for an integration.
- Links to this in two places.
  • Loading branch information
dstrain115 authored Jun 13, 2022
1 parent aa64d1c commit a823872
Show file tree
Hide file tree
Showing 3 changed files with 51 additions and 3 deletions.
46 changes: 45 additions & 1 deletion docs/dev/rfc_process.md
Original file line number Diff line number Diff line change
Expand Up @@ -105,5 +105,49 @@ While we encourage and celebrate every contributor, the bar for RFC acceptance i
* Failure to achieve consensus during the design review.
* Concerns raised during implementation (for example: inability to achieve backwards compatibility, concerns about maintenance).

If this process is functioning well, RFCs are expected to fail in the earlier, rather than later stages.
If this process is functioning well, RFCs are expected to fail in the earlier, rather than later stages.
An approved RFC is not a commitment to implementation on any sort of timeline. The prioritization of features depends on user interest and willingness of contributors to implement them.

## New hardware integrations

Several hardware vendors already have integrations with cirq. We are not
currently soliciting additional vendors. However, if you are considering
integrating with cirq, we would highly encourage you to engage with the
cirq-maintainer team through attending the weekly cirq cync and submitting
an RFC as specified above. Everyone benefits from a well-maintained, user
friendly interface with a high reliability, which is the goal of having this
RFC process.

Examples of other integrations can be found on the
[Hardware page](/cirq/hardware).

There are a range of possibilities for integrating with cirq, including:

* Completely independent repository: requires the least engagement from
the cirq team, but also lacks the benefits of a tighter integration and
partnership.
* Different repository with links or tutorials hosted on cirq:
less coordination is needed than a hosted integration, but requires
continuous integration on the external repository to ensure compatibility
with new cirq versions.
* Integration hosted within cirq repository: requires the highest
amount of coordination and effort but allows a tighter integration and for
cirq-maintainers to modify the integration code to stay in sync with an
evolving cirq-core code base. We generally do not accept submissions for
this type of integration for third-party vendors that function as
intermediaries for other cloud vendors.

Several things are needed for a successful integration:

* Plan for including external dependencies (if needed).
* Access and authentication.
* Tutorials and guides for use of the interface (for instance,
a Getting Started guide).
* `Device` implementation for validating circuits on the hardware
* Transformer for compiling circuits to the supported gates on the
hardware (or use `cirq.optimize_for_target_gateset`)
* ` Sampler` interface for running circuits on the hardware service.
* Conisder also providing a noise model that users can use to simulate the
device if direct access is not available.


6 changes: 5 additions & 1 deletion docs/ecosystem.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ The following document provides an ecosystem overview of how the various tools c

* **Quantum Circuit Simulators:** Cirq is compatible with a number of quantum circuit simulators that can run either locally or in a distributed fashion.

# Research libraries and tools
# Research libraries and tools

## Algorithm libraries and experiments

Expand Down Expand Up @@ -45,6 +45,10 @@ The following document provides an ecosystem overview of how the various tools c
|[Pasqal](https://quantumai.google/cirq/tutorials/pasqal/getting_started)|Neutral atoms|
|[Rigetti](https://quantumai.google/cirq/tutorials/rigetti/getting_started)|Superconducting qubits|

For more information for vendors about integrating with cirq,
see our [RFC page](/cirq/dev/rfc_process#new_hardware_integrations).


## High performance quantum circuit simulators

|Name|Main sponsor|Description|
Expand Down
2 changes: 1 addition & 1 deletion docs/hardware/_index.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -119,7 +119,7 @@ landing_page:
name: menu_book

- heading: Custom devices
description: How to write custom Device classes for quantum hardware.
description: How to write custom Device classes for quantum hardware. More information for vendors on integrating with cirq can be found on the RFC page.
items:
- heading: Neutral atom device
description: A custom device class for a neutral atom device.
Expand Down

0 comments on commit a823872

Please sign in to comment.