Back to results
US 11,599,344 B2Granted
Computer architecture for executing quantum programs
AssigneeZapata Computing, Inc.
InventorYudong Cao
Life of this patent
Estimating the term…
Abstract
A computer system, designed according to a particular architecture, compiles and execute a general quantum program. Computer systems designed in accordance with the architecture are suitable for use with a variety of programming languages and a variety of hardware backends. The architecture includes a classical computer and a quantum device (which may be remote from the local computer) which includes both classical execution units and a quantum processing unit (QPU).
Claims16
A computer-implemented method comprising:
- (A) at a classical computer, optimizing non-optimized intermediate code generated by a compiler front-end for a computer programming language, thereby creating optimized intermediate code, the non-optimized intermediate code defining a plurality of processes, the optimizing comprising:
- (A) (1) identifying, based on tokens in the non-optimized intermediate code that were generated based on instructions marked as quantum instructions, a first subset of the plurality of processes;
- (A) (2) generating a description of a quantum circuit to execute the first subset of the plurality of processes;
- (A) (3) optimizing the description of the quantum circuit to produce a description of an optimized quantum circuit;
- and
- (A) (4) identifying, based on tokens in the non-optimized intermediate code that were generated based on instructions marked as classical instructions, a second subset of the plurality of processes.
3 more elements
A computer system comprising:
- a classical computer comprising at least one processor and at least one non-transitory computer-readable medium, the at least one non-transitory computer-readable medium having computer program instructions stored thereon which, when executed by the at least one processor, perform a method comprising:
- (A) optimizing non-optimized first intermediate code generated by a compiler front-end for a computer programming language, thereby creating optimized intermediate code, the first non-optimized intermediate code defining a plurality of processes, the optimizing comprising:
- (A) (1) identifying, based on tokens in the non-optimized first intermediate code that were generated based on instructions marked as quantum instructions, a first subset of the plurality of processes which arc suitcd t cxccutc n quantum cxccuti n hardwarc;
- (A) (2) generating a description of a quantum circuit to execute the first subset of the plurality of processes;
- (A) (3) optimizing the description of the quantum circuit to produce a description of an optimized quantum circuit;
- and
- (A) (4) identifying, based on tokens in the non-optimized intermediate code that were generated based on instructions marked as classical instructions, a second subset of the plurality of processes.
4 more elements
Dependencies are inferred from the claim text.