IP Library Granted Patent US 12,293,254
Granted Patent B1
US 12,293,254 · App. 17/980,373 · Granted May 6, 2025

Quantum instruction compiler for optimizing hybrid algorithms

Inventors: Eric Christopher Peterson (Berkeley, CA); Robert Stanley Smith (Emeryville, CA)
Assignee: RIGETTI & CO, LLC
G06N10/00G06F8/427G06F15/16G06F8/41G06F8/44G06F8/445G06F8/47G06N20/10
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 12,293,254
App. No.
17/980,373
Granted
May 6, 2025
Kind
B1
Abstract

A compiler for a gate-based superconducting quantum computer compiles hybrid classical/quantum algorithms for quantum processing cells with different configurations. The compiler inputs the algorithm and outputs code in a target language executable by a quantum processing cell of a quantum processing system that can execute the algorithm. The compiler includes various functionality, such as: parsing, analyzing control flows, addressing, compressing, and translating. The compiler optimizes algorithms in various manners using the functionality. Some optimizations include addressing efficiently, compressing based on simulations, and translating for efficient execution of parametric functions. The compiler may function in the environment of a cloud quantum computing system. The cloud quantum computing system may receive algorithms from remote access nodes for execution on local classical and quantum computing systems.

Claims (55)

1. A method for determining a result for a quantum algorithm, the method comprising:

receiving, from a client device, a quantum algorithm for execution on a quantum processor to determine a result;

parsing the quantum algorithm into a sequence of quantum instructions including a subsequence of initial quantum instructions that manipulate a quantum state to a resulting state;

determining, using a classical processing system and according to a replacement policy, a subsequence of replacement quantum instructions that manipulate the quantum state to the resulting state;

replacing, using the classical processing system and according to a replacement policy, the subsequence of initial quantum instructions with the subsequence of replacement quantum instructions in the sequence of quantum instructions;

translating the sequence of quantum instructions into a sequence of instructions in a target language for executing on the quantum processor;

sending the sequence of instructions to the quantum processor to execute the sequence of instructions;

obtaining a result of the quantum algorithm based on the execution of the sequence of the instructions by the quantum processor; and

transmitting the result of the quantum algorithm to the client device.

2. The method of claim 1 , wherein the replacement policy defines any of:

a maximum size of the quantum state that can be manipulated to the resulting state,

a maximum number of quantum processing sub-units of the quantum processor that replacement quantum instructions can simultaneously manipulate.

3. The method of claim 1 , wherein instructions compiled from the sequence of quantum instructions including the subsequence of replacement quantum instructions execute more quickly on the quantum processor than instructions compiled from the sequence of quantum instructions including the subsequence of initial quantum instructions.

4. The method of claim 1 , wherein a first number of instructions compiled from the sequence of quantum instructions including the subsequence of replacement quantum instructions is lower than a second number of instructions compiled from the sequence of quantum instructions including the subsequence of initial quantum instructions.

5. The method of claim 1 , wherein the subsequence of replacement quantum instructions is smaller than the subsequence of initial quantum instructions.

6. The method of claim 1 , wherein determining a subsequence of replacement quantum instructions further comprises:

calculating a replacement quantum instruction of the subsequence of replacement quantum instructions by multiplying one or more of the subsequence of initial quantum instructions by another one or more of the subsequence of initial quantum instructions.

7. The method of claim 1 , wherein determining a subsequence of replacement quantum instructions further comprises:

accessing a replacement quantum instruction from a system datastore, the replacement quantum instruction for replacing one or more of the subsequence of initial quantum instructions.

8. The method of claim 1 , wherein the quantum state is the initial state of the quantum processor.

9. The method of claim 1 , wherein the subsequence of initial quantum instructions is at the beginning of the sequence of quantum instructions.

10. The method of claim 1 , wherein the subsequence of replacement quantum instructions is at the beginning of the sequence of quantum instructions.

11. A system for determining a result of a quantum algorithm, the system comprising:

a quantum processing system configured to execute quantum instructions of the quantum algorithm;

a classical processing system including one or more processors; and

a non-transitory, computer-readable storage medium storing a computer program executable by the classical processing system to perform steps comprising:

receiving, from a client device via the classical processing system, a quantum algorithm for execution on a quantum processor to determine a result;

parsing the quantum algorithm into a sequence of quantum instructions including a subsequence of initial quantum instructions that manipulate a quantum state to a resulting state;

determining, using the classical processing system and according to a replacement policy, a subsequence of replacement quantum instructions that manipulate the quantum state to the resulting state;

replacing, using the classical processing system and according to a replacement policy, the subsequence of initial quantum instructions with the subsequence of replacement quantum instructions in the sequence of quantum instructions;

translating the sequence of quantum instructions into a sequence of instructions in a target language for executing on the quantum processing system;

sending the sequence of instructions to the quantum processing system to execute the sequency of instructions;

obtaining a result of the quantum algorithm based on the execution of the sequence of the instructions by the quantum processing system; and

transmitting the result of the quantum algorithm to the client device.

12. The system of claim 11 , wherein the replacement policy defines any of:

a maximum size of the quantum state that can be manipulated to the resulting state,

a maximum number of quantum processing sub-units of the quantum processor that replacement quantum instructions can simultaneously manipulate.

13. The system of claim 11 , wherein instructions in the target language compiled from the sequence of quantum instructions including the subsequence of replacement quantum instructions execute more quickly on the quantum processing system than instructions in the target language compiled from the sequence of quantum instructions including the subsequence of initial quantum instructions.

14. The system of claim 11 , wherein a first number of instructions in the target language compiled from the sequence of quantum instructions including the subsequence of replacement quantum instructions is lower than a second number of instructions in the target language compiled from the sequence of quantum instructions including the subsequence of initial quantum instructions.

15. The system of claim 11 , wherein the subsequence of replacement quantum instructions is smaller than the subsequence of initial quantum instructions.

16. The system of claim 11 , wherein the computer program instructions for determining a subsequence of replacement quantum instructions are further executable to perform steps comprising:

calculating a replacement quantum instruction of the subsequence of replacement quantum instructions by multiplying one or more of the subsequence of initial quantum instructions by another one or more of the subsequence of initial quantum instructions.

17. The system of claim 11 , wherein the computer program instructions for determining a subsequence of replacement quantum instructions are further executable to perform steps comprising:

accessing a replacement quantum instruction from a system datastore, the replacement quantum instruction for replacing one or more of the subsequence of initial quantum instructions.

18. The system of claim 11 , wherein the quantum state is the initial state of the quantum processor.

19. The system of claim 11 , wherein the subsequence of initial quantum instructions is at the beginning of the sequence of quantum instructions.

20. A non-transitory computer-readable storage medium storing computer instructions for determining a result of a quantum algorithm, the computer instructions, when executed by one or more processors, causing the one or more processors to:

receive, from a client device, a quantum algorithm for execution on a quantum processor to determine a result;

parse the quantum algorithm into a sequence of quantum instructions including a subsequence of initial quantum instructions that manipulate a quantum state to a resulting state;

determine, using a classical processing system and according to a replacement policy, a subsequence of replacement quantum instructions that manipulate the quantum state to the resulting state;

replace, using the classical processing system and according to a replacement policy, the subsequence of initial quantum instructions with the subsequence of replacement quantum instructions in the sequence of quantum instructions;

translate the sequence of quantum instructions into a sequence of instructions in a target language for executing on the quantum processor;

send the sequence of instructions to the quantum processor to execute the sequence of the instructions;

obtain a result of the quantum algorithm based on the execution of the sequence of the instructions by the quantum processor; and

transmit the result of the quantum algorithm to the client device.

Assignments (2)
CHANGE OF NAME Recorded Mar 23, 2023
From: RIGETTI & CO, INC.
To: RIGETTI & CO, LLC
Reel/Frame 063186/0690 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 10, 2022
From: PETERSON, ERIC CHRISTOPHER; SMITH, ROBERT STANLEY
To: RIGETTI & CO, INC
Reel/Frame 061717/0395 →
Continuity (4)
Continuation 16219694 · Dec 13, 2018
Provisional Application 62757615 · Nov 8, 2018
Provisional Application 62633170 · Feb 21, 2018
Provisional Application 62598864 · Dec 14, 2017
References Cited (6)
US 10826845B2 · Dadashikelayeh · 2020 [cited by examiner]
US 20210132969A1 · Smith · 2021 [cited by examiner]
Berholm, V. et al. “Quantum Circuits with Uniformly Controlled One-Qubit Gates,” [cited by applicant]
Rigetti, “Forest™ SOK,” Date Unknown, five pages, Retrieved from the internet URL: < https://www.riaetti.com/forest>. [cited by applicant]
Shende, V. et al. “Synthesis of Quantum Logic Circuits,” [cited by applicant]
Smith, R. et al. “A Practical Quantum Instruction Set Architecture,” Feb. 17, 2017, pp. 1-15. [cited by applicant]