diff --git a/docs/dev/rfc_process.md b/docs/dev/rfc_process.md index 86057dba6b2..d371beeab0d 100644 --- a/docs/dev/rfc_process.md +++ b/docs/dev/rfc_process.md @@ -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. + + diff --git a/docs/ecosystem.md b/docs/ecosystem.md index 196ae29c2be..fba9a12be3c 100644 --- a/docs/ecosystem.md +++ b/docs/ecosystem.md @@ -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 @@ -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| diff --git a/docs/hardware/_index.yaml b/docs/hardware/_index.yaml index 64117356417..c164c003ade 100644 --- a/docs/hardware/_index.yaml +++ b/docs/hardware/_index.yaml @@ -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.