Distributed Quantum Computing System
AssigneeRigetti & Co, LLC
InventorsRobert Stanley Smith, William J. Zeng
Life of this patent
Estimating the term…
Abstract
In a general aspect, user requests for access distributed quantum computing resources in a distributed quantum computing system are managed. In a general aspect, a job request for accessing a quantum computing resource is received. The job request includes a user id and a program. On authentication of a user associated with the job request, a job identifier is assigned to the job request, and a particular quantum computing resource is selected for the job request. The job request is individualized based on user permissions and pushed onto a queue to be processed for execution by the quantum computing resource.
Claims17
1-30. (canceled)
A system comprising:
- a gateway module configured to receive a job request, the job request comprising an uncompiled computer program;
- a job server configured to:
- receive the job request from the gateway module, and
- select a quantum processor unit (QPU) for the job request, wherein the QPU is selected from a plurality of quantum computing resources comprising a plurality of quantum processor units (QPUs);
- a first queueing module configured to receive the job request from the job server;
- a second queueing module associated with the selected QPU, the second queueing module configured to store instructions for the selected QPU;
- a compiler module configured to:
- receive the uncompiled computer program from the first queueing module,
- receive calibration data from the selected QPU,
- based on the uncompiled computer program, generate a schedule of instructions for the selected QPU, wherein the compiler module is configured to use the calibration data to generate the schedule of instructions for the selected QPU, and
- provide the schedule of instructions to the second queueing module associated with the selected QPU;
- and
- a third queueing module configured to:
- receive output data associated with the job request, the output data generated by the selected QPU based on the schedule of instructions, and
- provide the output data to the job server.
A method comprising:
- receiving, by operation of a gateway module, a job request for accessing a quantum computing resource, the job request comprising an uncompiled computer program;
- receiving, by operation of a job server, the job request from the gateway module;
- selecting, by operation of the job server, a quantum processor unit (QPU) for the job request, wherein the QPU is selected from a plurality of quantum computing resources comprising a plurality of QPUs;
- receiving, by operation of a first queueing module, the job request from the job server;
- receiving, by operation of a compiler module, the uncompiled computer program from the first queueing module;
- receiving, by operation of the compiler module, calibration data from the selected QPU;
- generating, by operation of the compiler module, a schedule of instructions for the selected QPU based on the uncompiled computer program,
- providing, by operation of the compiler module, the schedule of instructions to a second queueing module associated with the selected QPU;
- storing, by operation of the second queueing module, the schedule of instructions for the selected QPU;
- receiving, by operation of a third queueing module, output data associated with the job request, the output data generated by the selected QPU based on the schedule of instructions;
- and
- providing, by operation of the third queueing module, the output data to the job server.
Dependencies are inferred from the claim text.