IP Library Granted Patent US 10,650,324
Granted Patent B1
US 10,650,324 · App. 16/548,352 · Granted May 12, 2020

Operating a quantum processor in a heterogeneous computing architecture

Inventors: Chad Tyler Rigetti (Walnut Creek, CA); William J. Zeng (Berkeley, CA); Dane Christoffer Thompson (Granite Bay, CA)
Assignee: Rigetti & Co, Inc.
G06N10/00G06F9/30043G06F9/3877G06F15/16
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,650,324
App. No.
16/548,352
Granted
May 12, 2020
Kind
B1
Abstract

In some aspects, a heterogeneous computing system includes a quantum processor unit and a classical processor unit. In some instances, variables defined by a computer program are stored in a classical memory in the heterogeneous computing system. The computer program is executed in the heterogeneous computing system by operation of the quantum processor unit and the classical processor unit. Instructions are generated for the quantum processor by a host processor unit based on values of the variables stored in the classical memory. The instructions are configured to cause the quantum processor unit to perform a data processing task defined by the computer program. The values of the variables are updated in the classical memory based on output values generated by the quantum processor unit. The classical processor unit processes the updated values of the variables.

Claims (52)

1. A method performed by a heterogeneous computing system, comprising:

storing, in a classical memory of a host processor unit, values of variables defined by a computer program;

generating first instructions based on the values of the variables stored in the classical memory;

transmitting the first instructions to a quantum processor unit through an Ethernet, wherein the first instructions are executed by operation of the quantum processor unit to generate output data;

receiving the output data transmitted from the quantum processor unit through the Ethernet;

updating the values of the variables in the classical memory based on the output data received from the quantum processor unit;

generating second instructions based on the updated values of the variables stored in the classical memory; and

executing the second instructions by operation of a classical processor unit.

2. The method of claim 1 , wherein the host processor unit comprises at least one of a central processing unit (CPU), a graphics processing unit (GPU), or a field programmable gate array (FPGA).

3. The method of claim 1 , wherein the quantum processor unit comprises a plurality of quantum processors.

4. The method of claim 3 , wherein each of the plurality of quantum processors comprises a superconducting quantum circuit-based quantum processor cell.

5. The method of claim 3 , wherein each of the plurality of quantum processors comprises a quantum processor cell, and the quantum processor cell comprises solid state qubit devices realized from individual ions.

6. The method of claim 1 , wherein the computer program is configured to perform a training algorithm.

7. The method of claim 1 , wherein the first instructions correspond to a data processing task that comprises gradient estimation by quantum sampling.

8. The method of claim 1 , wherein the second instructions correspond to a data processing task that comprises updating parameters of a Boltzmann machine.

9. The method of claim 1 , comprising:

transmitting the second instructions from the host processor unit to the classical processor unit through the Ethernet; and

receiving additional output data transmitted from the classical processor unit through the Ethernet.

10. The method of claim 1 , wherein the host processor unit comprises the classical processor unit.

11. A heterogeneous computing system, comprising:

a classical memory;

an Ethernet;

a quantum processor unit; and

a host processor unit configured to execute a computer program by perform operations comprising:

generating first instructions based on values of variables stored in the classical memory;

transmitting the first instructions to the quantum processor unit through the Ethernet, wherein the first instructions are executed by operation of the quantum processor unit to generate output data;

receiving the output data transmitted from the quantum processor unit through the Ethernet;

updating the values of the variables in the classical memory based on the output data received from the quantum processor unit;

generating second instructions based on the updated values of the variables stored in the classical memory; and

executing the second instructions on a classical processor unit.

12. The heterogeneous computing system of claim 11 , wherein the host processor unit comprises at least one of a central processing unit (CPU), a graphics processing unit (GPU) system, or a field programmable gate array (FPGA).

13. The heterogeneous computing system of claim 11 , wherein the quantum processor unit comprises a plurality of quantum processors.

14. The heterogeneous computing system of claim 13 , wherein each of the plurality of quantum processors comprises a superconducting quantum circuit-based quantum processor cell.

15. The heterogeneous computing system of claim 13 , wherein each of the plurality of quantum processors comprises a quantum processor cell, and the quantum processor cell comprises solid state qubit devices realized from individual ions.

16. The heterogeneous computing system of claim 11 , wherein the computer program is configured to perform a training algorithm.

17. The heterogeneous computing system of claim 11 , wherein the first instructions correspond to a data processing task that comprises gradient estimation by quantum sampling.

18. The heterogeneous computing system of claim 11 , wherein the second instructions correspond to a data processing task that comprises updating parameters of a Boltzmann machine.

19. The heterogeneous computing system of claim 11 , wherein the host processor unit is configured to:

transmit the second instructions from the host processor unit to the classical processor unit through the Ethernet; and

receive additional output data transmitted from the classical processor unit through the Ethernet.

20. The heterogeneous computing system of claim 11 , wherein the host processor unit comprises the classical processor unit.

21. A method performed by an Internet-accessible heterogeneous computing system, comprising:

by operation of a client interface of a heterogeneous computing system, communicating with an external system over the Internet;

in response to the communication with the external system, executing a computer program in the heterogeneous computer system, wherein executing the computer program comprises:

using a quantum processor unit in the heterogeneous computer system to perform a data processing task defined by the computer program;

based on output values generated by the quantum processor unit performing the data processing task, updating values of variables stored in a classical memory in the heterogeneous computer system; and

using a classical processor unit in the heterogeneous computing system to process the updated values of the variables.

22. The method of claim 21 , wherein the communication with the external system targets the computer program to be executed by the heterogeneous computer system.

23. The method of claim 21 , wherein using the quantum processor unit to perform the data processing task comprises sending instructions from a host processor unit in the heterogeneous computer system to the quantum processor unit through an interconnect connected between the quantum processor unit and the host processor unit.

24. The method of claim 23 , wherein the output values generated by the quantum processor unit are sent to the host processor unit through the interconnect.

25. The method of claim 21 , wherein the classical processor unit comprises at least one of a field-programmable gate array (FPGA), a graphics processing unit (GPU), an application-specific integrated circuit (ASIC), a system-on-a-chip (SOC), or a single- or multi-core central processing unit (CPU)-based processor.

26. The method of claim 21 , wherein the quantum processor unit comprises a plurality of quantum processors.

Assignments (6)
RELEASE OF SECURITY INTEREST Recorded Dec 12, 2024
From: TRINITY CAPITAL INC.
To: RIGETTI & CO, LLC
Reel/Frame 069603/0771 →
RELEASE OF SECURITY INTEREST Recorded Dec 12, 2024
From: TRINITY CAPITAL INC.
To: RIGETTI & CO, LLC; RIGETTI INTERMEDIATE LLC; RIGETTI COMPUTING, INC.
Reel/Frame 069603/0831 →
AMENDED AND RESTATED INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Jul 8, 2024
From: RIGETTI & CO, LLC; RIGETTI INTERMEDIATE LLC; RIGETTI COMPUTING, INC.
To: TRINITY CAPITAL INC.
Reel/Frame 068146/0416 →
CHANGE OF NAME Recorded Apr 14, 2023
From: RIGETTI & CO, INC.
To: RIGETTI & CO, LLC
Reel/Frame 063340/0831 →
INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Mar 10, 2021
From: RIGETTI & CO, INC.
To: TRINITY CAPITAL INC.
Reel/Frame 055557/0057 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 12, 2019
From: RIGETTI, CHAD TYLER; THOMPSON, DANE CHRISTOFFER; ZENG, WILLIAM J.
To: RIGETTI & CO, INC.
Reel/Frame 051262/0376 →
Cited By (1)
US 12,699,913