Asynchronous quantum information processing
The asynchronous quantum information processing method addresses inefficiencies in serial execution by parallel execution of parameter sets, enhancing QPU utilization and accelerating convergence in variational algorithms.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- GOLDMAN SACHS & CO LLC
- Filing Date
- 2021-04-19
- Publication Date
- 2026-05-07
AI Technical Summary
Existing quantum information processing methods suffer from significant dead time and inefficiencies due to serial execution of quantum programs, leading to suboptimal use of quantum processing units (QPUs) and prolonged convergence times in variational algorithms.
An asynchronous method is employed where multiple parameter sets are determined and executed in parallel by QPUs, allowing immediate or batched data return to the controller for real-time adjustment and queue management, thereby reducing dead time and enhancing flexibility and efficiency.
The asynchronous method significantly reduces QPU dead time, enabling more frequent and continuous use, resulting in faster convergence and more reliable results by increasing the number of samples obtained, thus improving the speed and reliability of variational algorithms.
Smart Images

Figure 0007854943000003 
Figure 0007854943000004 
Figure 0007854943000005
Abstract
Description
[Technical Field]
[0001] The subject matter described generally concerns quantum computing, and more specifically, asynchronous methods for quantum information processing. [Background technology]
[0002] This application is a priority claim based on U.S. Patent Application No. 63 / 014,066, 35 U.S. SC § 119(e), titled Asynchronous Quantum Information Processing, filed on 22 April 2020, which is incorporated herein by reference in its entirety.
[0003] Quantum algorithms can encompass a number of quantum circuits interconnected by classical computation. As a result, modern quantum information processing can include communication between quantum processors and other computing units, such as CPUs, GPUs, FPGAs, or other digital or analog processors. Complete quantum algorithms can perform hybrid execution between quantum processors and classical computation. Examples of hybrid algorithms include (i) variational quantum algorithms such as variational quantum eigenvalue solvers, quantum approximation algorithms, or various quantum machine learning methods, (ii) quantum error correction, and (iii) associative quantum learning and other methods. [Overview of the project]
[0004] A serial method for implementing a quantum algorithm may include a controller that computes a first set of parameters for a quantum program, and a quantum information processing unit (QIPU) that executes the quantum program using the first set of parameters (examples of a QIPU include a quantum processor unit (QPU), a quantum sensor, a network of QPUs, or a network of quantum sensors). The controller receives the execution results and determines an updated set of parameters based on those results. The QIPU is instructed to execute the quantum program with the updated set of parameters. This process is repeated until a termination condition is met (e.g., the solution converges). While the updated set of parameters is being determined, the QIPU may remain in a waiting state.
[0005] The embodiment relates to an asynchronous method for implementing a quantum algorithm in which the dead time of the QIPU is reduced or eliminated. A variety of parameter sets are determined for a quantum program, and the QIPU is instructed to execute the quantum program for each parameter set. Individual or aggregated results (e.g., expected values) from each program execution may be returned to the controller. One or more results are received, and the controller determines an updated parameter set while the QIPU continues to execute the quantum program for the remaining parameter sets. The QIPU is then instructed to execute the quantum program for the updated parameter set (e.g., immediately, after the execution of the current program, or after the remaining parameter sets have been processed). This asynchronous method allows the QIPU to be used more efficiently because there is little to no dead time for the QIPU. Furthermore, by determining which parameters to update when results are received from the QIPU and adjusting the QIPU's queue in real time, the asynchronous method is more flexible and dynamic than the serial method, and as a result, the termination condition may be met sooner. Furthermore, asynchronous methods can provide more results than serial methods, and QIPU, being inherently probabilistic, can lead to more reliable results and solutions.
[0006] In one embodiment, the quantum processing system includes one or more (e.g., classical) controllers and a QIPU. One or more controllers compute a set of initial parameter sets for a quantum program. The quantum program having the set of initial parameter sets is sent to a quantum processing queue. The QIPU evaluates a first expectation for a quantum program having the parameters of a first initial parameter set and transmits the first expectation to one or more controllers. While the QIPU evaluates a second expectation for a quantum program having the parameters of a second initial parameter set, one or more controllers compute the next parameter set based on the first initial parameter set and the first expectation. The next parameter set is sent to the quantum processing queue, and the QIPU evaluates the next expectation for a quantum program having the parameters of the next parameter set. [Brief explanation of the drawing]
[0007] Further features and advantages of the present invention will become apparent from the following detailed description of the invention with reference to the accompanying figures. [Figure 1A] In one embodiment, this is a block diagram of a quantum processing system. [Figure 1B] This is a block diagram of a quantum processor unit (QPU) in one embodiment. [Figure 2] Figure 1A illustrates an example of executing a hybrid quantum-classical routine on the quantum processing system. [Figure 3] This figure shows the step time in a serial variational program that includes significant unused QPU dead time. [Figure 4] This figure shows the step time in a serial variational program, including the efficient use of the QPU, in one embodiment. [Figure 5]This block diagram illustrates the use of multiple control processors to transmit quantum programs in parallel to a set of QPUs (for example, simultaneously) in one embodiment. [Figure 6] In one embodiment, Figure 5 shows the asynchronous operation of the set of QPUs. [Figure 7] Figure 6 shows an example of asynchronous QPU operation as shown in one embodiment. [Figure 8] This figure shows the application of the asynchronous method shown in Figures 5 to 7 to a set of quantum sensors in one embodiment. [Figure 9] This is a flowchart illustrating an asynchronous method for quantum information processing in one embodiment. [Figure 10] This flowchart shows another asynchronous method for quantum information processing in one embodiment. [Figure 11] This figure shows an example architecture of a classical computing system that is suitable for use as a controller in one embodiment. [Modes for carrying out the invention]
[0008] Several embodiments are referenced here, examples of which are shown in the accompanying figures. Where feasible, similar or identical reference numerals are used in the figures to indicate similar or identical functions. Although a variety of specific embodiments are described, those skilled in the art will recognize that alternative configurations can be used to carry out the described methods.
[0009] FIG. 1A shows one embodiment of a quantum processing system 100. The embodiment shows that a controller 110 and a quantum processor unit (QPU) 120 are included in the (e.g., classical) quantum processing system 100. As described above, the QPU is an example of a QIPU (thus, the QPU 120 in FIG. 1A can be replaced with a QIPU to show a more general system 100). The controller 110 may be a classical computing system (further described in FIG. 11). The controller 110 and the QPU 120 are shown together, but they are physically separate devices (e.g., cloud architecture). In some embodiments, the quantum processing system 100 is a multimodality system that includes both a QPU 120 and quantum sensors. In other embodiments, the quantum processing system 100 includes different or additional elements (e.g., multiple QPUs 120). Further, the functions can also be distributed among the elements in a different way than described.
[0010] Figure 1B is a block diagram of a QPU 120 in one embodiment. The QPU 120 includes an arbitrary number of qubits ("qubits") 150 and an associated qubit controller 140. A qubit 150 is a two-level quantum mechanical system. A qubit 150 may be in a first state, a second state, or superimposed on both states. Physical embodiments of qubits include superconducting qubits, ion traps, and photonic systems (e.g., photons in waveguides). In some embodiments, the QPU 120 includes a qudit in addition to, or instead of, a qudit. A qudit is a multilevel quantum mechanical system (like a qubit) with two or more states. The qubit controller 140 is a module that controls the qubits 150. The qubit controller 140 may be a classical processor such as a CPU, GPU, or FPGA. The qubit controller 140 can perform physical operations on the qubits 150 (e.g., it can perform quantum gate operations on the qubits 140). In the example in Figure 1B, individual qubit controllers 140 are shown for each qubit 150, but a qubit controller 150 may control qubits 150 of multiple (e.g., all) QPUs 120, or multiple controllers 150 may control a single qubit. For example, a qubit controller 150 may be a separate processor, parallel threads on the same processor, or some combination of both. In other embodiments, the QPU 120 may include different or additional elements. Furthermore, functionality may be distributed among the elements in ways different from those described.
[0011] FIG. 2 shows an example of a hybrid quantum-classical routine on the quantum processing system 100. The controller 210 generates 212 a quantum program to be executed or processed by the QPU 230. The quantum program can include instructions or subroutines to be executed by the QPU 230 (or a quantum sensor). In one example, the quantum program is a quantum circuit. In other examples, the output or program measures an error syndrome. This program can be mathematically represented in a quantum programming language or an intermediate representation such as QASM or Quil. Generally, this program can be parameterized by a vector of parameters
[0012]
Number
[0013] . The vector of parameters encodes a set of parameters that affect the result of the quantum program while it is being executed by the QPU 230. Examples of parameters include the parameters of quantum gates within a quantum circuit, the order of quantum gates within a quantum circuit, the type of gates within a quantum circuit, or conditions on the control flow graph of the program. In the example of variational quantum eigenvalues, such a parameterized program may be called an ansatz. Thereafter, the generated program is sent to a single QPU 230 223.
[0014] QPU230 executes the program and calculates the result (e.g., quantum measurement) 234. QPU230 typically executes the program multiple times to accumulate statistics from the probabilistic execution. After each result calculation 234, QPU230 can evaluate whether a termination condition has been met 235, and if the termination condition has not been met, it can start calculating other results. For example, the program runs for a certain number of iterations or until another termination condition is met. After the termination condition is met, the accumulated results (e.g., expected value) are returned to the controller 210 226. The controller 210 then calculates a new value of θ→ (often by evaluating against some objective function), or an entirely new program, and sends the new program to QPU230 223. This hybrid loop between the controller 210 and QPU230 can continue indefinitely (as in the case of quantum error correction) or until certain convergence conditions are met (as in the case of variational quantum eigenvalue solvers).
[0015] In variational quantum programming, quantum circuits are parameterized as unitary U(θ→). Without loss of generality, these variational programs can be assumed to be initialized in the |0> state and measured on the computational basis. The expected values of these variational programs are:
[0016]
number
[0017] Therefore, the programmer then writes ζ(E(θ→ 0…L ))=θ→ 0…MWe define an optimizer ζ such that L maps an expected value, or a set of expected values for L, to a new set of parameter settings for M. For example, gradient descent and the Nelder-Mead method have L=M=1. However, if we consider calculating the gradient of a quantum circuit using a parameter shift rule, for example, M may be M=2|θ→|+1. In this case, two quantum circuits are executed and the gradient is calculated for each parameter. Still, in the most common setup, the optimizer can learn from (e.g., based on) the entire history of previously observed expected values and can output any number of parameter values to evaluate.
[0018] In one embodiment, θ→ 0…M This is converted into a set of M circuits running in series. Furthermore, each iterative step t of the optimizer is converted into a new set of circuits θ t → 0…M This generates N. Also, each iteration step is executed in series, and the optimizer is N C When converging in steps, the total MN C This results in the execution of a series circuit.
[0019] These new parameters θ → 0…M Once computed by the optimizer, these are executed in parallel. For example, they are executed in parallel on different QPUs120, and then their results are aggregated and returned to the optimizer. Depending on the structure of ζ, this parallel execution may occur asynchronously as a form of asynchronous federated optimization. These types of federated learning methods can be used to train classical machine learning models using terminal devices such as mobile phones. In one embodiment, QPUs120 are terminal computing resources. A possible challenge to this method is that the QPUs are non-uniform. In particular, their noise characteristics may differ, and training a variational quantum program across multiple QPUs can improve the noise reduction possible by variational optimization.
[0020] Figure 3 shows a serial method for executing steps of a variational program. In the example shown in Figure 3, one or more controllers 210, or classical processing (referred to herein for convenience as a "CPU" without loss of generality), calculates the parameter θ of the quantum program t → at 310, and the QPU 230 evaluates the expected value E(θ of the quantum program t →) at 320. Since data is passed between the controller 210 and the QPU 230, there is a waiting time 315 between the calculation 310 and the evaluation 320. When the evaluation 320 is completed, the controller 210 calculates the next variational step E(θ t+1 →) at 330, and the QPU 230 evaluates E(θ t+1 →) at 340. Therefore, there is a dead time 335 during which the QPU 230 is waiting while the next variational step E(θ t+1 →) is being calculated at 330. The waiting time 315 and the dead time 335 can be disadvantageous as they can result in inefficient use of the QPU 230.
[0021] In various embodiments, the quantum processing system 100 mimics parallel execution of a variational quantum program using the "dead time" (e.g., dead time 335) that occurs between steps of a variational optimizer. This can improve the speed of execution time as the same QPU 230 is repeatedly used in different time intervals. In the following paragraphs, one embodiment where M = 1 (referred to as an asynchronous method) is described for the purpose of explaining the effect. However, the described asynchronous method can be generalized to larger values of M. In fact, the efficiency improvement obtained by this method can be greater as the value of M is larger.
[0022] Figure 4 shows an asynchronous method in one embodiment where part or all of the dead time 335 is used as if it were another QPU 230 available for execution. Thus, more efficient use of the QPU 230 can be achieved. As shown in the embodiment, there is an asynchronous interaction between the controller 210 and the QPU 230. The controller 210 has a series of initial parameter sets θ t0 →,..., θtN → calculates 410 and sends them to a queue drawn by QPU230. When QPU230 evaluates the expected values, it transmits them to controller210. For example, as shown in Figure 4, QPU230 calculates the first expected value E(θ) t0 →) evaluates 420, transmits it to controller 210, and controller 210 then performs the next variational step, θ t0+1 While calculating →430, QPU230 is the second expected value E(θ) t1 →) is evaluated as 422, and the third expected value E(θ) t2 →) and so on, 424. Similarly, the controller 210 can calculate the variation of the next variational step, 432, 434 based on different expectations (for example, using multiple classical processors 210 operating in parallel, or threads operating in parallel). The controller 210 can also add to the queue of the QPU 230 or suspend its execution (for example, at any point in the queue). In Figure 4, it is E(θ t3 →) is shown by the abbreviated evaluation 426. In practice, this is a specific θ ti →This means that the number of samples obtained will be small. This is because the process instead becomes E(θ tj+1 This is because by evaluating (→) 440, it may have been decided that more information should be learned (where i ≠ j).
[0023] Treating the controller 210 as a Bayesian learner can provide insight into how to manage them. The controller 210 starts a few times before θ→, and then chooses to evaluate with new parameters based on where the most useful information can be obtained. By switching to this asynchronous execution method, the Bayesian learner can continue evaluating new data on the QPU230 while the learner is calculating the optimal set of parameters to try next. This new data is additional information to signal the next step.
[0024] As an example of how much time can be saved by using this asynchronous method, assuming that QPU210 has a shot rate of 1MHz (where a shot may refer to one execution on QPU120), and the time for optimization (e.g., step 430) in addition to the latency (e.g., latency 415) is 0.1 seconds per step, and the number of shots for each expected value is N s =10 4 These are reasonable values for the current conventional system. This is an additional 10 using an asynchronous method. 5 This translates to a 0.1-second dead time during which samples can be evaluated. This is 10 times the number of samples that can be obtained in each step of the serial execution method. By this logic, the asynchronous method gives up to 10 times the number of samples obtained by the serial method. More generally, the asynchronous method gives more samples τ c *r / N s We can provide the coefficient of τ, where τ c r is the duration of a computation step (e.g., a classical one) including bidirectional delays, and r is the shot rate of the QPU230.
[0025] Compared to the serial method in Figure 3, the asynchronous method shown in Figure 4, using various controllers 210, allows a single QPU 230 to run more frequently (e.g., continuously) with little to no dead time. During this asynchronous method, the QPU 230 can continuously return data for processing (or periodically send batches of data), and thus more computations can be achieved in less time. As the amount of data being computed increases, the execution time generally decreases linearly, but may decrease quasi-linearly. This additional data can be used to improve the optimizer and improve / speed up the convergence of the variational algorithm.
[0026] Figure 5 shows one embodiment in which various controllers 510 transmit quantum programs in parallel (e.g., simultaneously). An intermediate transfer layer 520 transfers these programs to one or more QPUs 530. The QPUs 530 perform the computations and return their results (e.g., asynchronously) to the intermediate transfer layer 520. The intermediate transfer layer 520 aggregates these results and returns them to the set of controllers 510. The controllers 510 can then generate additional programs for execution (e.g., asynchronously).
[0027] Figure 6 compares this asynchronous method with the serial method shown in Figure 2. In the asynchronous method, the results from QPU630 are obtained without waiting for the termination condition to be met in each QPU630. The data is returned to the transfer layer 620 (for example, immediately, with latency and other inherent delays). This allows the controller 610 to receive additional data from the QPU 630 sequentially (or in batches). The additional data can be used, for example, to update the learning system so that the variational quantum eigenvalue solver converges faster. In this example, the controller 610 can use a federated learning algorithm where the terminal computing unit is the QPU 630.
[0028] The asynchronous method can be implemented as shown in Figure 7, where the generated program is added from the transfer layer 620 to the program stack (also called a queue) 710. The program is pulled from the stack to be executed by the QPU 630. For each execution, the QPU 630 (or instructions from the program) can decide (e.g., through a termination condition) whether to re-execute the same computation to collect more statistics or move on to another program. The stack may have a program priority order. In some embodiments, the transfer layer 620 (or controller 610) can interrupt the execution of a program on its QPU 630 when a new program is submitted to that QPU 630. When the QPU 630 has finished executing the program, it sends the results to the controller 610 without waiting, for example, for other QPU 630s to finish executing those programs 740. In some embodiments, a program in the stack specifies a particular QPU 630 to execute it. Each QPU630 has its own unique noise characteristics, so it may be advantageous to run programs with different parameters on identical QPU630s (or sets of QPU630s with substantially identical noise characteristics). The determination of whether noise characteristics are substantially identical may depend on the noise model, and operators can choose how to define substantially identical noise models. Some noise models have many parameters; for example, different error rates for each qubit. These may be aggregated into arbitrary criteria or standards, such as an average threshold. Otherwise, it can be more complex. In some embodiments, similar QPUs can be clustered based on the diamond norm distance of their quantum processing operators. If measuring the quantum processing operators is difficult, heuristic proxies may be used.
[0029] As previously mentioned with reference to Figure 4, a single QPU630 can be used as if it were a composite QPU by using the dead time between variable steps to perform other calculations. Thus, the configuration shown in Figure 6 can be approximated using multiple controllers 610 and a single QPU630. Alternatively, composite QPU630s may be used, each employing the technique in Figure 4 to increase the effective number of available QPUs.
[0030] Figure 8 shows that an asynchronous method can be applied to a set of quantum sensors 830. Here, one or more quantum programs (e.g., instructions) are transmitted from one or more controllers 810 to a bank of quantum sensors 830 via a transfer layer 820. The quantum programs may include tuning parameters for the sensors 830. The quantum sensors 830 generate data (e.g., asynchronously) and return it to the controllers 810 in a sequential or batch manner for further processing.
[0031] The same asynchronous method can be applied to other situations. For example, the disclosed asynchronous method can be applied to nodes in quantum networks or other distributed systems of quantum sensing, networks, and computation. In fact, the controller itself does not necessarily have to be classical. The controller may be QIPUs (e.g., QPUs120). For example, the controller may be a set of partitioned computing units of a QIPU (e.g., qubits). Additionally or alternatively, the controller may be a thread on a single QIPU. Furthermore, the computations performed by the QIPUs may be related to the execution of a network protocol. For example, the QIPUs are nodes in a quantum network, and the QIPUs execute a network protocol.
[0032] Figure 9 is a flowchart of an asynchronous method 900 in one embodiment. The steps of method 900 can be performed by one or more controllers. The steps of method 900 can be performed in different orders, and the method can include different, additional, or fewer steps. Embodiments of method 1000 (described with respect to Figure 10) can also be applied to method 900.
[0033] The controller determines first and second parameter sets for the quantum program. In some embodiments, the second parameter set is for a different quantum program. In some embodiments, the quantum program is a quantum circuit for a variational optimization problem, and the third parameter set corresponds to the next variational step.
[0034] The controller sends a quantum program with first and second parameter sets to the quantum processing queue of the Quantum Information Processing Unit (QIPU). The quantum processing queue is configured to store the quantum program for execution by the QIPU.
[0035] The controller receives the first expected value of a quantum program executed by the QIPU having the parameters of the first parameter set. The controller can also receive individual results (e.g., sequentially or in batches) from the execution of the quantum program having the parameters of the first set.
[0036] While the QIPU evaluates the second expectation value of the quantum program with the parameters of the second parameter set, the controller computes a third parameter set of the quantum program based on the first parameter set and the first expectation value.
[0037] The controller modifies the quantum processing queue by sending a quantum program with a third set of parameters to the quantum processing queue. Modifying the quantum processing queue may include adding the third set of parameters to the end of the quantum processing queue. Additionally or alternatively, modifying the queue may instruct the QIPU to interrupt its current execution and evaluate the expected value of the quantum program with the parameters of the third set of parameters.
[0038] In some embodiments, the controller receives a second expectation value of a quantum program executed by the QIPU having parameters from a second parameter set. While the QIPU evaluates a third expectation value of a quantum program having parameters from a third parameter set, the controller computes a fourth parameter set of the quantum program based on the first and second parameter sets, as well as the first and second expectations. The controller modifies the quantum processing queue by sending the quantum program having the fourth parameter set to the quantum processing queue.
[0039] In some embodiments, while the QIPU evaluates a first expectation value of a quantum program having parameters from a first parameter set, or a third expectation value of a quantum program having parameters from a third parameter set, the controller computes a parameter set for a second quantum program. The controller modifies the quantum processing queue by sending the second quantum program, having the parameter set for the second quantum program, to the quantum processing queue.
[0040] In some embodiments, the QIPU is one of a set of QIPUs, and the quantum processing queue is configured to store each quantum program executed by one or more sets of QIPUs. The expected values computed by the QIPUs may be received asynchronously by the controller. In some embodiments, transmitting a quantum program having a third set of parameters further includes the controller transmitting instructions for a quantum program having a third set of parameters to be executed by the QIPU. In some embodiments, transmitting a quantum program having a third set of parameters further includes the controller transmitting instructions for a quantum program having a third set of parameters to be executed by a QIPU having substantially the same noise characteristics as the QIPU.
[0041] In some embodiments, in response to a quantum processing queue having fewer than a threshold number of programs, the controller retransmits a quantum program having a first set of parameters (or any other set of parameters) to the quantum processing queue. This provides additional statistical samples and prevents the queue from becoming empty.
[0042] Figure 10 is a flowchart of another asynchronous method 1000 in one embodiment. The steps of method 1000 can be performed by one or more controllers. The steps of method 1000 can be performed in different orders, and method 1000 can include different, additional, or fewer steps. Embodiments of method 900 (described above with respect to Figure 9) can also be applied to method 1000.
[0043] The controller generates a set of quantum programs.
[0044] The controller sends at least some of the set of quantum programs to the combined quantum information processing units (QIPUs) for execution.
[0045] The controller receives the results generated by the combined QIPUs asynchronously, either sequentially or in batches. The results are generated by multiple QIPUs processing the transmitted quantum program. The results may be expected values or individual results from the processing of the quantum program.
[0046] The controller performs single or multiple thread generation of a new set of quantum programs based on the returned results.
[0047] The controller sends at least some of a new set of quantum programs to multiple QIPUs for execution. In some embodiments, the QIPUs, in response to receiving quantum programs from a new set, suspend processing of the quantum programs in the set before completion.
[0048] In some embodiments, a set of quantum programs is generated by optimizing the objective function of a variational quantum algorithm by incorporating continuous results into a Bayesian learning model.
[0049] Figure 11 illustrates the architecture of a computing system in an embodiment. Figure 11 represents a high-level block diagram showing the physical elements of a computer used as some or all of one or more of those described herein; however, in one embodiment, the computer may have additions, omissions, or modifications to the elements provided in Figure 11. Figure 11 represents computer 1100, which is intended not as a structural diagram of the implementation described herein, but as a functional description of the various features that may be present in the computer system. In practice, as will be recognized by those skilled in the art, items shown separately can be combined and some items can be separated.
[0050] Figure 11 shows at least one processor 1102 coupled to a chipset 1104. The chipset 1104 is also coupled to memory 1106, a storage device 1108, a keyboard 1110, a graphics adapter 1112, a pointing device 1114, and a network adapter 1116. In one embodiment, the functionality of the chipset 1104 is provided by a memory controller hub 1120 and an I / O controller hub 1122. In other embodiments, the memory 1106 is directly coupled to the processor 1102 instead of the chipset 1104. In some embodiments, the computer 1100 includes one or more communication buses for interconnecting these elements. One or more communication buses optionally include circuits (sometimes called chipsets) that interconnect and control communication between system components.
[0051] The storage device 1108 is any non-temporary computer-readable storage medium such as a hard drive, compact disc read-only memory (CD-ROM), DVD, or solid-state memory device, or other optical storage, magnetic cassette, magnetic tape, magnetic disk storage, or other magnetic storage device, magnetic disk storage device, optical disk storage device, flash memory device, or other non-volatile solid-state storage device. Such a storage device 1108 is sometimes called persistent memory. The pointing device 1114 may be a mouse, trackball, or other type of pointing device, and is used in conjunction with the keyboard 1110 to input data into the computer 1100. The graphics adapter 1112 displays images and other information on the display 1118. The network adapter 1116 connects the computer 1100 to a local or wide area network.
[0052] Memory 1106 holds instructions and data used by the processor 1102. Memory 1106 may be non-persistent memory, and examples include high-speed random-access memory such as DRAM, SRAM, DDR RAM, ROM, EEPROM, and flash memory.
[0053] As is known from the prior art, the computer 1100 may have components different from those shown in Figure 11 or other components. Furthermore, the computer 1100 may lack certain illustrated components. In one embodiment, the computer 1100, which functions as a server, may lack a keyboard 1110, a pointing device 1114, a graphics adapter 1112, or a display 1118. Furthermore, the storage device 1108 may be local or remote from the computer 1100 (as is done within a storage area network (SAN)).
[0054] As is known from the prior art, the computer 1100 is adapted to run a computer program module having the functions described herein. As used herein, the term “module” refers to a computer program logic used to have a particular function. Thus, a module can be implemented in hardware, firmware, or software. In one embodiment, the program module is stored in a storage device 1108, loaded into memory 1106, and executed by the processor 302.
[0055] Some of the preceding sections describe embodiments relating to the processing or operation of the algorithms. These descriptions and representations of algorithms are commonly used by those skilled in the computational art to effectively communicate their work to others skilled in the art. These operations are described functionally, computationally, or logically, but are understood to be implemented by a processor or a computer program containing instructions for execution by an equivalent electrical circuit, microcode, or the like. Furthermore, without loss of generality, it has also proven convenient to refer to the arrangement of these functional operations as modules.
[0056] As used herein, any reference to “one embodiment” or “embodiment” means that a particular element, feature, structure, or characteristic described in relation to the embodiment is included in at least one embodiment. The phrase “in one embodiment” appearing in various parts of this specification does not necessarily refer to the same embodiment. Similarly, the use of “a” or “an” before an element or component is merely for convenience. This description should be understood to mean that there is one or more elements or components unless it becomes clear that there is another meaning.
[0057] When a value is described as "approximately" or "substantially" (or its derivative), such a value should be interpreted as an exact + / - 10% unless another meaning is clear from the context. For example, "approximately 10" should be understood to mean "within the range of 9 to 11."
[0058] As used herein, the terms “to have,” “to possess,” “to include,” “to contain,” “to have,” “to possess,” or other variations thereof are intended to cover non-exclusive inclusion. For example, a process, method, article, or apparatus comprising a list of elements is not necessarily limited to those elements alone, but may include other elements not expressly enumerated or specific to such process, method, article, or apparatus. Furthermore, unless the opposite is explicitly stated, “or” means inclusive or and not to an exclusive or. For example, condition A or condition B is satisfied by any of the following: A is true (or exists) and B is false (or does not exist); A is false (or does not exist) and B is true (or exists); and both A and B are true (or exist).
[0059] Those skilled in the art will understand, upon reading this disclosure, systems for asynchronous quantum information processing and yet another structural and functional design for processing. Therefore, while specific embodiments and applications are illustrated and described, it should be understood that the subject matter described is not limited to the exact structures and components disclosed. The scope of protection should be limited only by the following claims.
Claims
1. A non-temporary computer-readable recording medium containing stored instructions that cause a computing system to perform an operation when executed by the computing system, wherein the operation is: Determining the first and second sets of parameter values for the quantum program, The quantum program having the first and second sets of parameter values is transmitted to the quantum processing queue of a quantum information processing unit (QIPU), wherein the quantum processing queue is configured to store the quantum program for execution by the QIPU. Receiving a first expected value of the quantum program executed by the QIPU having the parameter values of the first set of parameter values, While the QIPU evaluates the second expected value of the quantum program having the parameter values of the second set of parameter values, a third set of parameter values of the quantum program is calculated based on the first set of parameter values and the first expected value. The quantum processing queue is modified by transmitting the quantum program along with the third set of parameter values to the quantum processing queue. A non-temporary computer-readable recording medium characterized by having the following features.
2. The operation described above involves receiving a second expected value of the quantum program executed by the QIPU having the parameter values of the second set of parameter values, While the QIPU evaluates the third expected value of the quantum program having the parameter values of the third set of parameter values, a fourth set of parameter values of the quantum program is calculated based on the first and second sets of parameter values and the first and second expected values. The quantum processing queue is modified by transmitting the quantum program along with the fourth set of parameter values to the quantum processing queue. A non-temporary computer-readable recording medium according to claim 1, further comprising:
3. The operation involves calculating a parameter set for a second quantum program while the QIPU evaluates the first expected value of the quantum program having the parameter values of the first parameter set, or the third expected value of the quantum program having the parameter values of the third parameter set. The quantum processing queue is modified by transmitting the second quantum program along with the parameter value set of the second quantum program to the quantum processing queue. A non-temporary computer-readable recording medium according to claim 1, further comprising:
4. The non-temporary computer-readable recording medium according to claim 1, wherein the QIPU is one of a set of QIPUs, and the quantum processing queue is configured to store quantum programs for execution by one or more QIPUs of the set.
5. The non-temporary computer-readable recording medium according to claim 4, further comprising transmitting the quantum program having the third set of parameter values as transmitting instructions for the quantum program having the third set of parameter values to be executed by the QIPU.
6. The non-temporary computer-readable recording medium according to claim 4, further comprising transmitting the quantum program having the third set of parameter values to transmit instructions for the quantum program having the third set of parameter values, which is executed by the QIPU having substantially the same noise profile as the noise profile of the QIPU.
7. The non-temporary computer-readable recording medium according to claim 1, wherein modifying the quantum processing queue comprises adding the third set of parameter values to the end of the quantum processing queue.
8. The non-temporary computer-readable recording medium according to claim 1, wherein changing the queue comprises instructing the QIPU to interrupt the current execution and evaluate the expected value of the quantum program having the parameter values of the third set of parameter values.
9. The quantum program is a quantum circuit for a variational optimization problem, and the third set of parameter values corresponds to the next variational step. The non-temporal computer-readable recording medium according to claim 1.
10. The non-temporary computer-readable recording medium according to claim 1, wherein, in response to the quantum processing queue having fewer than a threshold number of programs, the quantum program having the first set of parameter values is retransmitted to the quantum processing queue.
11. It is a method, The steps of generating a set of quantum programs, The steps include: transmitting at least a portion of the set of quantum programs to a combined quantum information processing unit (QIPU) for execution; The steps include receiving the results generated by the composite QIPUs asynchronously in a continuous or batch manner, The steps include performing single- or multi-threaded generation of a new set of quantum programs based on the generated results, The steps include: sending at least a portion of the new set of quantum programs to the plurality of QIPUs for execution; The step of transmitting at least a portion of the new set of quantum programs is to stop processing the current quantum program and send instructions to at least one QIPU to process the new set of quantum programs. A method characterized by including the following.
12. The method according to claim 11, further comprising the step of processing the transmitted program by the plurality of quantum information processing units.
13. The method according to claim 11, wherein the set of quantum programs is generated by a classical controller by optimizing an objective function for the execution of variational quantum programs.
14. A quantum processing system, One or more controllers, We compute a set of initial parameter values for a quantum program, The quantum program having the aforementioned set of initial parameter values is sent to the quantum processing queue. A first expectation value corresponding to the quantum program having the parameter values of the first initial parameter value set of the series of initial parameter value sets is received, Based on the first initial set of parameter values and the first expected value, calculate the next set of parameter values, and One or more controllers configured to transmit the following set of parameter values to the quantum processing queue, A quantum information processing unit (QIPU) equipped with qubits, Evaluate the first expected value of the quantum program having the parameter values of the first initial parameter value set, The first expected value is transmitted to one or more controllers, While the next set of parameter values is being calculated, a first quantum operation is performed on the qubit according to the quantum program having the parameter values of the second set of initial parameter values from the series of initial parameter value sets, and a first quantum state is generated by the first quantum operation performed on the qubit. The following set of parameter values is received, and A QIPU configured to evaluate the next expected value of the quantum program having the parameter values of the following set of parameter values, A quantum processing system characterized by having the following features.
15. The quantum processing system according to claim 14, wherein the quantum processor unit is further configured to stop performing the first quantum operation on the qubit according to the quantum program having the parameter values of the second initial parameter value set before completing in response to the reception of the next set of parameter values.
16. The quantum processing system according to claim 14, wherein the QIPU is one of a set of QIPUs, and the quantum processing queue is configured to store quantum programs for execution by the set of QIPUs.
17. The quantum processing system according to claim 16, further comprising transmitting the following set of parameter values to transmit instructions for the quantum program having the following set of parameter values to be executed by the QIPU.
18. The quantum processing system according to claim 16, wherein transmitting the following set of parameter values includes transmitting instructions for the quantum program having the following set of parameter values, which is executed by a second QIPU having a noise profile substantially identical to the noise profile of the QIPU.
19. The quantum processing system according to claim 14, wherein the one or more controllers are further configured to retransmit the quantum program having the set of initial parameter values to the quantum processing queue in response to the quantum processing queue having fewer than a threshold number of programs.
20. The aforementioned QIPU further, The first initial parameter value set is retrieved from the quantum processing queue. A second quantum operation is performed on the qubit according to the quantum program having the parameter values of the first initial parameter value set, and a second quantum state is generated. The second quantum state of the qubit is measured, and the first expectation value is evaluated based on the measurement of the second quantum state. A third quantum operation is performed on the qubit according to the quantum program having the parameter values of the following set of parameter values, and a third quantum state is generated. The quantum processing system according to claim 14, wherein the third quantum state of the qubit is measured, and the next expected value of the quantum program is evaluated based on the measurement of the third quantum state.
21. It is a method, The steps include determining first and second sets of parameter values for a quantum program, A step of transmitting the quantum program having the first and second sets of parameter values to a quantum processing queue of a quantum information processing unit (QIPU), wherein the quantum processing queue is configured to store the quantum program for execution by the QIPU, The steps include receiving a first expected value of the quantum program executed by the QIPU having the parameter values of the first set of parameter values, While the QIPU evaluates a second expected value of the quantum program having the parameter values of the second set of parameter values, the steps include calculating a third set of parameter values of the quantum program based on the first set of parameter values and the first expected value, The steps of modifying the quantum processing queue by sending the quantum program along with the third set of parameter values to the quantum processing queue, A method characterized by including the following.
22. The steps include receiving a second expected value of the quantum program executed by the QIPU having the parameter values of the second set of parameter values, While the QIPU evaluates a third expected value of the quantum program having the parameter values of the third set of parameter values, the steps include calculating a fourth set of parameter values of the quantum program based on the first and second sets of parameter values and the first and second expected values, The steps of modifying the quantum processing queue by sending the quantum program along with the fourth set of parameter values to the quantum processing queue, The method according to claim 21, further comprising:
23. The steps include: calculating a parameter set for a second quantum program while the QIPU evaluates the first expected value of the quantum program having the parameter values of the first parameter set, or the third expected value of the quantum program having the parameter values of the third parameter set; The steps of modifying the quantum processing queue by sending the second quantum program along with the parameter value set of the second quantum program to the quantum processing queue, The method according to claim 21, further comprising:
24. The method according to claim 21, wherein the QIPU is one of a set of QIPUs, and the quantum processing queue is configured to store quantum programs for execution by one or more QIPUs of the set.
25. The method of claim 24, further comprising the step of transmitting the quantum program having the third set of parameter values, transmitting instructions for the quantum program having the third set of parameter values to be executed by the QIPU.
26. The method of claim 24, further comprising the step of transmitting the quantum program having the third set of parameter values, transmitting instructions for the quantum program having the third set of parameter values, which is executed by the QIPU having substantially the same noise profile as the noise profile of the QIPU.
27. The method according to claim 21, wherein the step of modifying the quantum processing queue includes adding the third set of parameter values to the end of the quantum processing queue.
28. The method according to claim 21, wherein the step of modifying the queue includes instructing the QIPU to interrupt the current execution and evaluate the expected value of the quantum program having the parameter values of the third set of parameter values.
29. The method according to claim 21, wherein the quantum program is a quantum circuit for a variational optimization problem, and the third set of parameter values corresponds to the next variational step.
30. The method according to claim 21, wherein, in response to the quantum processing queue having fewer than a threshold number of programs, the quantum program having the first set of parameter values is retransmitted to the quantum processing queue.
31. Computing systems and, A quantum processing system comprising a computer-readable recording medium containing stored instructions that cause the computing system to perform an operation when executed by the computing system, wherein the operation is Determining the first and second sets of parameter values for the quantum program, The quantum program having the first and second sets of parameter values is transmitted to the quantum processing queue of a quantum information processing unit (QIPU), wherein the quantum processing queue is configured to store the quantum program for execution by the QIPU. Receiving a first expected value of the quantum program executed by the QIPU having the parameter values of the first set of parameter values, While the QIPU evaluates the second expected value of the quantum program having the parameter values of the second set of parameter values, a third set of parameter values of the quantum program is calculated based on the first set of parameter values and the first expected value. The quantum processing queue is modified by transmitting the quantum program along with the third set of parameter values to the quantum processing queue. A quantum processing system characterized by including [something].
32. The operation described above involves receiving a second expected value of the quantum program executed by the QIPU having the parameter values of the second set of parameter values, While the QIPU evaluates the third expected value of the quantum program having the parameter values of the third set of parameter values, a fourth set of parameter values of the quantum program is calculated based on the first and second sets of parameter values and the first and second expected values. The quantum processing queue is modified by transmitting the quantum program along with the fourth set of parameter values to the quantum processing queue. The quantum processing system according to claim 31, further comprising:
33. The operation involves calculating a parameter set for a second quantum program while the QIPU evaluates the first expected value of the quantum program having the parameter values of the first parameter set, or the third expected value of the quantum program having the parameter values of the third parameter set. The quantum processing queue is modified by transmitting the second quantum program along with the parameter value set of the second quantum program to the quantum processing queue. The quantum processing system according to claim 31, further comprising:
34. The quantum processing system according to claim 31, wherein the QIPU is one of a set of QIPUs, and the quantum processing queue is configured to store quantum programs for execution by one or more QIPUs of the set.
35. The quantum processing system according to claim 34, further comprising transmitting the quantum program having the third set of parameter values as transmitting instructions for the quantum program having the third set of parameter values to be executed by the QIPU.
36. The quantum processing system according to claim 34, further comprising transmitting the quantum program having the third set of parameter values to transmit instructions for the quantum program having the third set of parameter values, which is executed by the QIPU having substantially the same noise profile as the noise profile of the QIPU.
37. The quantum processing system according to claim 31, wherein modifying the quantum processing queue comprises adding the third set of parameter values to the end of the quantum processing queue.
38. The quantum processing system according to claim 31, wherein changing the queue comprises instructing the QIPU to interrupt the current execution and evaluate the expected value of the quantum program having the parameter values of the third set of parameter values.
39. The quantum program is a quantum circuit for a variational optimization problem, and the third set of parameter values corresponds to the next variational step, according to the quantum processing system of claim 31.
40. The quantum processing system according to claim 31, wherein, in response to the quantum processing queue having fewer than a threshold number of programs, the quantum program having the first set of parameter values is retransmitted to the quantum processing queue.
41. A non-temporary computer-readable recording medium containing stored instructions that cause a computing system to perform an operation when executed by the computing system, wherein the operation is: Generating a set of quantum programs, Transmitting at least a portion of the set of quantum programs to a combined quantum information processing unit (QIPU) for execution, The results generated by the aforementioned composite QIPUs are to be received asynchronously in a continuous or batch manner, Based on the generated results, single- or multi-threaded generation of a new set of quantum programs is performed, This includes transmitting at least a portion of the new set of quantum programs to the plurality of QIPUs for execution, Transmitting at least a portion of the new set of quantum programs means stopping the current quantum program processing and sending instructions to at least one QIPU to process the new set of quantum programs. A non-temporary computer-readable recording medium characterized by including the following:
42. The non-temporary computer-readable recording medium according to claim 41, further comprising processing the transmitted program by the plurality of quantum information processing units.
43. The set of quantum programs is generated by a classical controller by optimizing an objective function for the execution of variational quantum programs, as described in claim 41.
44. Computing systems and, A quantum processing system comprising a computer-readable recording medium containing stored instructions that cause the computing system to perform an operation when executed by the computing system, wherein the operation is Generating a set of quantum programs, Transmitting at least a portion of the set of quantum programs to a combined quantum information processing unit (QIPU) for execution, The results generated by the aforementioned composite QIPUs are to be received asynchronously in a continuous or batch manner, Based on the generated results, single- or multi-threaded generation of a new set of quantum programs is performed, This includes transmitting at least a portion of the new set of quantum programs to the plurality of QIPUs for execution, Transmitting at least a portion of the new set of quantum programs means stopping the current quantum program processing and sending instructions to at least one QIPU to process the new set of quantum programs. A quantum processing system characterized by including [something].
45. The quantum processing system according to claim 44, further comprising processing the transmitted program by the plurality of quantum information processing units.
46. The quantum processing system according to claim 44, wherein the set of quantum programs is generated by a classical controller by optimizing an objective function for the execution of variational quantum programs.
47. It is a method, The steps include: calculating a set of initial parameter values for a quantum program using one or more controllers; The steps include sending the quantum program having the set of initial parameter values to a quantum processing queue, The steps include receiving a first expectation value corresponding to the quantum program having the parameter values of a first set of initial parameter values from the series of initial parameter value sets, A step of calculating the next set of parameter values based on the first set of initial parameter values and the first expected value, The steps include sending the following set of parameter values to the quantum processing queue, A step of evaluating the first expected value of the quantum program having the parameter values of the first initial parameter value set by a quantum information processing unit (QIPU) equipped with qubits, The steps include transmitting the first expected value to one or more controllers, A step of performing a first quantum operation on the qubit according to the quantum program having the parameter values of a second initial parameter value set from the series of initial parameter value sets, while the next set of parameter values is being calculated, wherein a first quantum state is generated by the first quantum operation performed on the qubit. The step of receiving the following set of parameter values, A step of evaluating the next expected value of the quantum program having the parameter values of the following set of parameter values, A method characterized by including the following.
48. The method according to claim 47, wherein the quantum processor unit is further configured to stop performing the first quantum operation on the qubit according to the quantum program having the parameter values of the second initial parameter value set before completing in response to receiving the next set of parameter values.
49. The method according to claim 47, wherein the QIPU is one of a set of QIPUs, and the quantum processing queue is configured to store quantum programs for execution by the set of QIPUs.
50. The method of claim 49, further comprising transmitting the following set of parameter values to transmit instructions for the quantum program having the following set of parameter values to be executed by the QIPU.
51. The method according to claim 49, wherein transmitting the following set of parameter values comprises transmitting instructions for the quantum program having the following set of parameter values, which is executed by a second QIPU having a noise profile substantially identical to the noise profile of the QIPU.
52. The method according to claim 47, wherein the one or more controllers are further configured to retransmit the quantum program having the set of initial parameter values to the quantum processing queue in response to the quantum processing queue having fewer than a threshold number of programs.
53. The steps include: extracting the first set of initial parameter values from the quantum processing queue; A step of generating a second quantum state by performing a second quantum operation on the qubit according to the quantum program having the parameter values of the first initial parameter value set, A step of measuring the second quantum state of the qubit, wherein the first expectation value is evaluated based on the measurement of the second quantum state, A step of performing a third quantum operation on the qubit according to the quantum program having the parameter values of the following set of parameter values, thereby generating a third quantum state, The method according to claim 47, further comprising the step of measuring the third quantum state of the qubit, wherein the next expected value of the quantum program is evaluated based on the measurement of the third quantum state.
54. A non-temporary computer-readable storage medium that stores instructions causing a quantum processing system to perform an operation, when executed by a quantum processing system comprising one or more controllers and a quantum information processing unit (QIPU) including qubits, wherein the operation is: Computing a set of initial parameter values for a quantum program, Sending the quantum program having the aforementioned set of initial parameter values to the quantum processing queue, Receiving a first expectation value corresponding to the quantum program having the parameter values of the first initial parameter value set of the series of initial parameter value sets, Based on the first initial set of parameter values and the first expected value, the next set of parameter values is calculated, Sending the following set of parameter values to the quantum processing queue, Evaluating the first expected value of the quantum program having the parameter values of the first initial parameter value set, The above first expected value is transmitted to a single-terrain controller, While the next set of parameter values is being calculated, a first quantum operation is performed on the qubit according to the quantum program having the parameter values of the second set of initial parameter values from the series of initial parameter value sets, wherein a first quantum state is generated by the first quantum operation performed on the qubit. Receiving the following set of parameter values, To evaluate the next expected value of the quantum program having the parameter values of the following set of parameter values, A non-temporary, computer-readable storage medium characterized by having the following features.
55. The non-temporary computer-readable storage medium according to claim 54, further configured to stop performing the first quantum operation on the qubit according to the quantum program having the parameter values of the second initial parameter value set before completing in response to receiving the next set of parameter values.
56. The non-temporary computer-readable storage medium according to claim 54, wherein the QIPU is one of a set of QIPUs, and the quantum processing queue is configured to store a quantum program for execution by the set of QIPUs.
57. The non-temporary computer-readable storage medium according to claim 56, further comprising transmitting the following set of parameter values to transmit instructions for the quantum program having the following set of parameter values to be executed by the QIPU.
58. A non-temporary computer-readable storage medium according to claim 56, wherein transmitting the following set of parameter values includes transmitting instructions for the quantum program having the following set of parameter values, which is executed by a second QIPU having a noise profile substantially identical to the noise profile of the QIPU.
59. The non-temporary computer-readable storage medium according to claim 54, wherein the one or more controllers are further configured to retransmit the quantum program having the set of initial parameter values to the quantum processing queue in response to the quantum processing queue having fewer than a threshold number of programs.
60. The aforementioned QIPU further, Extracting the first set of initial parameter values from the quantum processing queue, The process involves performing a second quantum operation on the qubit according to the quantum program having the parameter values of the first initial parameter value set, thereby generating a second quantum state. The second quantum state of the qubit is measured, and the first expectation value is evaluated based on the measurement of the second quantum state. A third quantum operation is performed on the qubit according to the quantum program having the parameter values of the following set of parameter values, thereby generating a third quantum state. The third quantum state of the qubit is measured, wherein the next expected value of the quantum program is configured to be evaluated based on the measurement of the third quantum state. A non-temporary computer-readable storage medium according to claim 54, including the above.
Citation Information
Patent Citations
Quantum hybrid computation
US20200026551A1
Quantum circuit learning device, quantum circuit learning method, computer program, and recording medium
WO2019163866A1
Multi-qubit control
WO2020019015A1