Skip to content

Commit a823872

Browse files
authored
Add information on new vendor setup (#5485)
* 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.
1 parent aa64d1c commit a823872

File tree

3 files changed

+51
-3
lines changed

3 files changed

+51
-3
lines changed

Diff for: docs/dev/rfc_process.md

+45-1
Original file line numberDiff line numberDiff line change
@@ -105,5 +105,49 @@ While we encourage and celebrate every contributor, the bar for RFC acceptance i
105105
* Failure to achieve consensus during the design review.
106106
* Concerns raised during implementation (for example: inability to achieve backwards compatibility, concerns about maintenance).
107107

108-
If this process is functioning well, RFCs are expected to fail in the earlier, rather than later stages.
108+
If this process is functioning well, RFCs are expected to fail in the earlier, rather than later stages.
109109
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.
110+
111+
## New hardware integrations
112+
113+
Several hardware vendors already have integrations with cirq. We are not
114+
currently soliciting additional vendors. However, if you are considering
115+
integrating with cirq, we would highly encourage you to engage with the
116+
cirq-maintainer team through attending the weekly cirq cync and submitting
117+
an RFC as specified above. Everyone benefits from a well-maintained, user
118+
friendly interface with a high reliability, which is the goal of having this
119+
RFC process.
120+
121+
Examples of other integrations can be found on the
122+
[Hardware page](/cirq/hardware).
123+
124+
There are a range of possibilities for integrating with cirq, including:
125+
126+
* Completely independent repository: requires the least engagement from
127+
the cirq team, but also lacks the benefits of a tighter integration and
128+
partnership.
129+
* Different repository with links or tutorials hosted on cirq:
130+
less coordination is needed than a hosted integration, but requires
131+
continuous integration on the external repository to ensure compatibility
132+
with new cirq versions.
133+
* Integration hosted within cirq repository: requires the highest
134+
amount of coordination and effort but allows a tighter integration and for
135+
cirq-maintainers to modify the integration code to stay in sync with an
136+
evolving cirq-core code base. We generally do not accept submissions for
137+
this type of integration for third-party vendors that function as
138+
intermediaries for other cloud vendors.
139+
140+
Several things are needed for a successful integration:
141+
142+
* Plan for including external dependencies (if needed).
143+
* Access and authentication.
144+
* Tutorials and guides for use of the interface (for instance,
145+
a Getting Started guide).
146+
* `Device` implementation for validating circuits on the hardware
147+
* Transformer for compiling circuits to the supported gates on the
148+
hardware (or use `cirq.optimize_for_target_gateset`)
149+
* ` Sampler` interface for running circuits on the hardware service.
150+
* Conisder also providing a noise model that users can use to simulate the
151+
device if direct access is not available.
152+
153+

Diff for: docs/ecosystem.md

+5-1
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ The following document provides an ecosystem overview of how the various tools c
1010

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

13-
# Research libraries and tools
13+
# Research libraries and tools
1414

1515
## Algorithm libraries and experiments
1616

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

48+
For more information for vendors about integrating with cirq,
49+
see our [RFC page](/cirq/dev/rfc_process#new_hardware_integrations).
50+
51+
4852
## High performance quantum circuit simulators
4953

5054
|Name|Main sponsor|Description|

Diff for: docs/hardware/_index.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -119,7 +119,7 @@ landing_page:
119119
name: menu_book
120120

121121
- heading: Custom devices
122-
description: How to write custom Device classes for quantum hardware.
122+
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.
123123
items:
124124
- heading: Neutral atom device
125125
description: A custom device class for a neutral atom device.

0 commit comments

Comments
 (0)