Synchronous execution method, quantum control subsystem, measurement and control system and quantum computer
By determining the first target moment of the target execution module in the quantum computing measurement and control system and starting to perform tasks when its clock domain arrives, the synchronization problem of the quantum computing system under the distributed architecture is solved, and the synchronous execution of multiple execution modules is realized, and the accuracy of the calculation results is improved.
Patent Information
- Application Number
- CN202410140921.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-01-31
- Publication Date
- 2025-08-01
AI Technical Summary
The quantum computing measurement and control system faces the metastable state of signal transmission across clock domain under the distributed architecture, which leads to synchronization problems, resulting in the control module's inability to effectively synchronize when sending trigger signals to multiple execution modules, affecting the accuracy of the calculation results.
By determining the first target moment of the target execution module and starting to perform quantum computing tasks when its clock domain reaches that time, using the time alignment mechanism of the periodic signal and the trigger signal, each execution module is ensured to perform tasks synchronously in a separate clock domain.
This improves the uncertainty brought by metastable state, realizes the synchronous execution of quantum computing tasks on multiple execution modules, and improves the accuracy and consistency of calculation results.
Smart Images

Figure CN120407215A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of quantum measurement and control technology, and particularly to a method for synchronously executing quantum computing tasks, a quantum control subsystem, a quantum computing measurement and control system, and a quantum computer. Background Art
[0002] Quantum computing has great potential in complex computing. The quantum computing measurement and control system of related technologies adopts a centralized architecture, which is hindered by limited hardware resources and has a slow speed. When a distributed architecture is adopted, synchronization problems will be faced. Specifically, the control module and the execution module of the quantum computing measurement and control system operate in separate clock domains, that is, there are characteristics of crossing clock domains between the control module and the execution module, and between multiple clock modules. There will be metastability in the signal transmission across clock domains. Therefore, when the control module sends trigger signals to multiple execution modules, the trigger signals cannot be effectively synchronized on multiple execution modules due to the existence of metastability.
[0003] Based on this, the present application provides a method for synchronously executing quantum computing tasks, a quantum control subsystem, a quantum computing measurement and control system, and a quantum computer to improve related technologies. Summary of the Invention
[0004] The purpose of the present application is to provide a method for synchronously executing quantum computing tasks, a quantum control subsystem, a quantum computing measurement and control system, and a quantum computer, to determine the first target time for a target execution module to execute a quantum computing task, and the target execution module starts to execute the quantum computing task at the first target time, so as to improve the uncertainty brought by metastability.
[0005] The purpose of the present application is achieved by the following technical solutions:
[0006] In a first aspect, the present application provides a method for synchronously executing quantum computing tasks, which is applied to a target execution module among multiple execution modules in a quantum control subsystem. The method includes:
[0007] Determine the first target time of the target execution module;
[0008] When the clock domain of the target execution module reaches the corresponding first target time, start to execute the quantum computing task, so as to realize the synchronous execution of the quantum computing task by multiple execution modules including the target execution module in the quantum control subsystem; wherein, each execution module operates in a separate clock domain.
[0009] In some embodiments, the method further includes:
[0010] When receiving the first synchronization signal from the intermediate control module, generate a first periodic signal, so as to realize the generation of synchronous first periodic signals by multiple execution modules;
[0011] Determining the first target time of the target execution module includes:
[0012] When receiving a first trigger signal from an intermediate control module in the quantum control subsystem, taking the start time of the first cycle signal of the Nth cycle after the first cycle signal where the first trigger signal is located as the first target time; where N is a positive integer, and the period of the first cycle signal is greater than the period of the first trigger signal.
[0013] In some embodiments, N = 1; and / or,
[0014] The first trigger signal reaches the target execution module within one cycle of the first cycle signal; and / or,
[0015] The first cycle signal is a pulse signal; and / or,
[0016] The rising edge of the first cycle signal matches the rising edge of the clock cycle signal; and / or,
[0017] The period of the first cycle signal is 3 to 5 times the period of the first trigger signal.
[0018] In some embodiments, the period of the first cycle signal is 500 ns, and the period of the first trigger signal is 100 ns.
[0019] In some embodiments, the target execution module includes an output unit and a reading unit, and the process of executing a quantum computing task includes:
[0020] Applying the output waveform and logic gate timing of the quantum circuit stored in the output unit to the corresponding quantum bit of the output unit; or,
[0021] Applying the reading waveform and reading timing stored in the reading unit to the corresponding quantum bit of the reading unit.
[0022] In a second aspect, the present application provides a method for synchronously executing a quantum computing task, which is applied to an intermediate control module in a quantum control subsystem. The method includes:
[0023] Setting the first target time of each execution module in the quantum control subsystem, so that each execution module starts to execute a quantum computing task when reaching the corresponding first target time in the corresponding clock domain, thereby realizing synchronous execution of the quantum computing task by multiple execution modules in the quantum control subsystem; where each execution module operates in a separate clock domain.
[0024] In a third aspect, the present application provides a quantum control subsystem, which includes an intermediate control module and a plurality of execution modules, and each module operates in a separate clock domain;
[0025] The intermediate control module is configured to set a first target time for each execution module;
[0026] Each execution module is configured to start executing a quantum computing task when the corresponding clock domain reaches the corresponding first target time, so as to enable the plurality of execution modules to synchronously execute the quantum computing task.
[0027] In a fourth aspect, the present application provides a quantum computing measurement and control system, which includes a main control module and a plurality of quantum control subsystems, each quantum control subsystem includes an intermediate control module and a plurality of execution modules, and each module operates in a separate clock domain;
[0028] The main control module is configured to set a first target time for each execution module in the corresponding quantum control subsystem through the intermediate control module in each quantum control subsystem;
[0029] Each execution module is configured to start executing a quantum computing task when the corresponding clock domain reaches the corresponding first target time, so as to enable the plurality of execution modules in the plurality of quantum control subsystems to synchronously execute the quantum computing task.
[0030] In some embodiments, the main control module is configured to generate a third periodic signal to send a second synchronization signal to the intermediate control modules in the plurality of quantum control subsystems; and send a second trigger signal to the intermediate control modules in the plurality of quantum control subsystems;
[0031] In each quantum control subsystem, the intermediate control module is configured to generate a second periodic signal when receiving the second synchronization signal, so as to enable the intermediate control modules in the plurality of quantum control subsystems to generate synchronous second periodic signals; send the first synchronization signal to the corresponding plurality of execution modules; and when receiving the second trigger signal, use the start time of the Mth cycle of the second periodic signal after the second periodic signal where the second trigger signal is located as the second target time of the intermediate control module, where M is a positive integer; when the corresponding clock domain reaches the corresponding second target time, send a first trigger signal to the corresponding plurality of execution modules;
[0032] In each quantum control subsystem, each execution module is configured to generate a first periodic signal upon receiving the first synchronization signal, so as to enable multiple execution modules in multiple quantum control subsystems to generate synchronized first periodic signals; and, upon receiving the first trigger signal, use the start time of the Nth cycle of the first periodic signal after the first periodic signal where the first trigger signal is located as the first target time, where N is a positive integer; when the corresponding clock domain reaches the corresponding first target time, start executing a quantum computing task, so as to enable multiple execution modules in multiple quantum control subsystems to synchronously execute the quantum computing task;
[0033] Wherein, the periods of the third periodic signal, the second periodic signal, and the first periodic signal are the same, the period of the second trigger signal is the same as the period of the first trigger signal, and the period of the first periodic signal is greater than the period of the first trigger signal.
[0034] In some embodiments, the main control module is a main control board; and / or,
[0035] The intermediate control module is an intermediate control board; and / or,
[0036] The execution module is an execution board.
[0037] In a fifth aspect, the present application provides a quantum computer, which includes a quantum chip and any one of the above-mentioned quantum computing measurement and control systems, and a plurality of quantum bits are provided on the quantum chip.
[0038] For the quantum computing task synchronous execution method, quantum control subsystem, quantum computing measurement and control system, and quantum computer provided by the present application, first, the first target time of the target execution module is determined, and the first target time of the target execution module is the start execution time of the quantum computing task on the target execution module. Then, when the clock domain of the target execution module reaches this first target time, start executing the quantum computing task. Since each execution module operates in a separate clock domain, and each execution module corresponds to a separate clock domain, for the target execution module, it is necessary to determine the corresponding first target time and start executing the quantum computing task when the clock domain of this target execution module reaches this first target time, so as to enable multiple execution modules to synchronously execute the quantum computing task and improve the uncertainty brought by metastability. BRIEF DESCRIPTION OF THE DRAWINGS
[0039] The present application will be further described below in conjunction with the accompanying drawings of the specification and specific embodiments.
[0040] Figure 1 It is a timing diagram of a control module and an execution module provided by an embodiment of the present application.
[0041] Figure 2 It is a flowchart showing a method for synchronously executing quantum computing tasks provided by an embodiment of the present application.
[0042] Figure 3 It is a flowchart showing another method for synchronously executing quantum computing tasks provided by an embodiment of the present application.
[0043] Figure 4 It is a block diagram of the structure of a quantum control subsystem provided by an embodiment of the present application.
[0044] Figure 5 It is a block diagram of the structure of a quantum computing measurement and control system provided by an embodiment of the present application.
[0045] Figure 6 It is a timing diagram of an intermediate control module and an execution module provided by an embodiment of the present application.
[0046] Figure 7 It is a block diagram of the structure of a quantum computer provided by an embodiment of the present application.
[0047] Figure 8 It is a block diagram of the structure of a computer device provided by an embodiment of the present application. Detailed implementation manners
[0048] Next, the technical solutions in the embodiments of the present application will be clearly and completely described in conjunction with the accompanying drawings in the present application. Obviously, the described embodiments are only a part of the embodiments of the present application, rather than all the embodiments. Based on the embodiments in the present application, all other embodiments obtained by those skilled in the art without creative efforts fall within the scope of protection of the present application.
[0049] In the description of the embodiments of the present application, it should be understood that the terms "first" and "second" are only used for descriptive purposes and cannot be understood as indicating or implying relative importance or implicitly specifying the quantity of the indicated technical features. Thus, the features defined with "first" and "second" may explicitly or implicitly include one or more of the described features. In the description of the embodiments of the present application, "a plurality" means two or more unless otherwise specifically defined.
[0050] Quantum computing has great potential in complex calculations. The quantum computing measurement and control system of related technologies uses a centralized architecture. Hindered by limited hardware resources, its speed is slow. When a distributed architecture is adopted, synchronization problems will be faced. Specifically, the control module and the execution module of the quantum computing measurement and control system operate in separate clock domains, that is, there are cross-clock domain characteristics between the control module and the execution module, and between multiple clock modules. There will be metastability in the signal transmission across clock domains. Therefore, when the control module sends trigger signals to multiple execution modules, the trigger signals cannot be effectively synchronized on multiple execution modules due to the existence of metastability.
[0051] See Figure 1 , Figure 1 is a timing diagram of a control module and an execution module provided by an embodiment of the present application. The execution result of a quantum computing task is, for example, the statistical probability that the quantum state is in the target quantum state. For example, when the quantum computing task runs 1000 times, the number of times the quantum state is in the 0 state is 987 times, and the corresponding statistical probability is 0.987. For multiple runs of the same quantum computing task, it is possible that the trigger signals corresponding to different runs are staggered. The trigger signal corresponds to the playback of the waveform of the execution task (corresponding to Figure 1 the red arrow in), and if the trigger signals are not synchronized, it is possible that the waveform playback of multiple execution modules is staggered by one clock cycle, making it difficult to synchronously execute quantum computing tasks. As shown in Figure 1 , the control module sends a trigger signal at time Ts, and the shaded area represents the trigger signal. The first execution module and the second execution module obtain this event at time Tc and set the rising edge of the next clock cycle signal as the start execution time T0 of the quantum computing task, as shown in Figure 1 on the left. However, once metastability occurs, as shown by the yellow arrow on the right in Figure 1 , the second execution module can only capture the trigger signal within the cycle after the trigger signal arrives, resulting in a one-cycle delay of Tc of the second execution module relative to Tc of the first execution module. Assuming that the rising edge of the next clock cycle signal is still T0, then T0 of the second execution module is delayed by one cycle relative to T0 of the first execution module. This inconsistency in T0 in time may lead to incorrect calculation results. It can be seen that in Figure 1 on the left, T0 of the two execution modules is synchronized, and the corresponding waveform playback of the two is also synchronized; in Figure 1 on the right, T0 of the two execution modules is staggered by one cycle, and the corresponding waveform playback of the two is also staggered by one clock cycle, that is, it is difficult to synchronously execute the quantum computing task on the two execution modules. When the quantum computing measurement and control system adopts a distributed architecture, the above control module is, for example, an intermediate control module located in the same quantum control subsystem as the execution module.
[0052] The present application provides a method for synchronously executing quantum computing tasks, a quantum control subsystem, a quantum computing measurement and control system, and a quantum computer to improve related technologies.
[0053] It should be noted that although the present application takes a quantum chip as an example, the present application can be applied to other quantum computing devices, such as quantum computing simulation devices, etc., and the present application does not limit this.
[0054] See Figure 2 , Figure 2 which is a schematic flowchart of a method for synchronously executing quantum computing tasks provided by an embodiment of the present application.
[0055] An embodiment of the present application provides a method for synchronously executing quantum computing tasks, which is applied to a target execution module among multiple execution modules in a quantum control subsystem. The method includes steps S101 to S102.
[0056] Step S101: Determine a first target time of the target execution module.
[0057] Step S102: When the clock domain of the target execution module reaches the corresponding first target time, start executing the quantum computing task to enable multiple execution modules including the target execution module in the quantum control subsystem to synchronously execute the quantum computing task; wherein, each execution module operates in a separate clock domain.
[0058] In the embodiment of the present application, the first target time is a time after the current time.
[0059] In the embodiment of the present application, the quantum control subsystem includes, for example, an intermediate control module and multiple execution modules. The target execution module is one of the multiple execution modules, and the number of execution modules can be, for example, 2, 3, 4, 5, 6, 10, 50, 100, etc., and the present application does not limit this. The intermediate control module and each execution module can be independently provided modules, and the intermediate control module and each execution module are connected by one or more links. That is to say, these modules are physically separable modules. In some embodiments, the link between the intermediate control module and the execution module can include one or more of a synchronization and trigger link, a feedback link, and a task communication link. The synchronization and trigger link can be used to transmit synchronization signals and trigger signals, the feedback link can be used to transmit feedback signals, and the task communication link can be used to transmit task information and result information.
[0060] The embodiment of the present application does not limit the type of the quantum computing task, which can be, for example, a noise learning calculation task, an error mitigation calculation task, an expectation calculation task, a quantum state tomography calculation task, a quantum optimization calculation task, a quantum simulation calculation task, a quantum cryptanalysis calculation task, a quantum machine learning calculation task, etc.
[0061] In the embodiments of the present application, first, a first target time of the target execution module is determined. The first target time of the target execution module is the start execution time of the quantum computing task on the target execution module. Then, when the clock domain of the target execution module reaches this first target time, the quantum computing task is started. Different from the related art, the target execution module is not designated to start executing the quantum computing task in the next clock cycle after receiving the trigger signal. Since each execution module operates in a separate clock domain and each execution module corresponds to a separate clock domain, for the target execution module, it is necessary to determine the corresponding first target time and start executing the quantum computing task when the clock domain of the target execution module reaches this first target time, so as to realize the synchronous execution of the quantum computing task by multiple execution modules and improve the uncertainty brought by metastability.
[0062] In some embodiments, the method may further include: generating a first periodic signal when receiving a first synchronization signal from the intermediate control module, so as to enable multiple execution modules to generate synchronous first periodic signals.
[0063] Determining the first target time of the target execution module (i.e., step S101) may include: when receiving a first trigger signal from the intermediate control module in the quantum control subsystem, taking the start time of the first periodic signal of the Nth period after the first periodic signal where the first trigger signal is located as the first target time; where N is a positive integer, and the period of the first periodic signal is greater than the period of the first trigger signal.
[0064] The embodiments of the present application do not limit N. N may be, for example, 1, 2, 3, 4, 5, 6, etc. In some embodiments, N = 1.
[0065] In the embodiments of the present application, the start time of the first periodic signal of the Nth period after the first periodic signal where the first trigger signal is located. Here, the Nth period corresponds to the first periodic signal, rather than the clock cycle signal of the target execution module. As an example, assume that the period of the first periodic signal is △t1, N = 1, and the start time of the first periodic signal where the first trigger signal is located is T1. Then, the start time of the first periodic signal of the Nth period after the first periodic signal where the first trigger signal is located is T1 + △t1. As another example, assume that the period of the first periodic signal is △t1, N = 2, and the start time of the first periodic signal where the first trigger signal is located is T1. Then, the start time of the first periodic signal of the Nth period after the first periodic signal where the first trigger signal is located is T1 + △t2.
[0066] In some embodiments, the first trigger signal may reach the target execution module within one period of the first periodic signal, which can be ensured by controlling the sending timing of the first trigger signal.
[0067] The embodiments of the present application do not limit the signal type of the first periodic signal. In some embodiments, the first periodic signal may be a pulse signal. The start time of the first periodic signal in the Nth period after the first periodic signal where the first trigger signal is located may be the start time of the rising edge of the pulse signal in the Nth period after the pulse signal where the first trigger signal is currently located.
[0068] In some embodiments, the first periodic signal is a digital signal.
[0069] In some embodiments, the rising edge of the first periodic signal may match the rising edge of the clock cycle signal.
[0070] In some embodiments, the period of the first periodic signal may be 3 to 5 times the period of the first trigger signal. For example, the period of the first periodic signal may be 3, 3.1, 3.5, 4, 4.5, 4.9, 5 times the period of the first trigger signal, etc. In some other embodiments, the period of the first periodic signal may be 1.1, 1.5, 2, 2.5, 2.8, 2.9 times the period of the first trigger signal, etc. In still some other embodiments, the period of the first periodic signal may be 5.1, 5.5, 6, 7, 8, 10, 15 times the period of the first trigger signal, etc. It can be seen that the period of the first periodic signal is greater than the period length of the first trigger signal, allowing the first trigger signal to reach the target execution module within one period of the first periodic signal, that is, allowing the target execution module to receive the complete first trigger signal within one period of the first periodic signal.
[0071] In some embodiments, the period of the first periodic signal may be 500 ns, and the period of the first trigger signal may be 100 ns. Here, ns is nanosecond, a unit of time. In some other embodiments, the period of the first periodic signal may be 500 ns, and the period of the first trigger signal may be 150 ns. In still some other embodiments, the period of the first periodic signal may be 400 ns, and the period of the first trigger signal may be 100 ns.
[0072] The embodiments of the present application do not limit the manner of determining the first target moment of the target execution module in step S101. In addition to the above-mentioned manner of providing the first synchronization signal by the intermediate control module, the target execution module receiving the first synchronization signal and setting the first target moment accordingly, the first target moment of the target execution module can also be manually specified, or obtained by predicting through a pre-trained deep learning model. The present application does not limit this.
[0073] In some embodiments, the target execution module may include an output unit and a reading unit. The process of executing a quantum computing task may include: applying the output waveform and logic gate timing of the quantum circuit stored in the output unit to the corresponding quantum bits of the output unit; or, applying the reading waveform and reading timing stored in the reading unit to the corresponding quantum bits of the reading unit.
[0074] In the embodiments of the present application, the quantum logic gates in the quantum circuit may include, for example, one or more of the following: single-bit quantum logic gates, such as Hadamard gate (H gate, Hadamard gate), Pauli-X gate (X gate), Pauli-Y gate (Y gate), Pauli-Z gate (Z gate), RX gate, RY gate, RZ gate, etc.; multi-bit quantum logic gates, such as CNOT gate, CR gate, iSWAP gate, TOFFOLI gate, etc. The output waveform of the quantum circuit may include the waveforms of one or more of the above-mentioned quantum logic gates. As an example, the waveform of each quantum logic gate may be stored in the memory of the output unit in the form of a binary file. The present application does not limit this.
[0075] In the embodiments of the present application, the target execution module may include an output unit and a reading unit. During the process of executing a quantum computing task, the target execution module may apply the output waveform and logic gate timing of the quantum circuit stored in the output unit to the corresponding quantum bits of the output unit to process the corresponding quantum bits, or the target execution module may apply the reading waveform and reading timing stored in the reading unit to the corresponding quantum bits of the reading unit to measure the corresponding quantum bits.
[0076] Among them, each output unit may correspond to one or more quantum bits, and each reading unit may correspond to one or more quantum bits. As an example, the quantum bits may be superconducting quantum bits, optical quantum bits, ion trap quantum bits, topological quantum bits, etc.
[0077] In some embodiments, the output unit may correspond to P quantum bits. The output unit may include P quantum bit control units, and the P quantum bit control units correspond one-to-one to the P quantum bits. Each quantum bit control unit is used to control the corresponding quantum bit to achieve qubit-level control.
[0078] SeeFigure 3 , Figure 3 is a schematic flowchart of another method for synchronously executing quantum computing tasks provided by an embodiment of the present application.
[0079] An embodiment of the present application also provides a method for synchronously executing quantum computing tasks, which is applied to an intermediate control module in a quantum control subsystem. The method includes step S201.
[0080] Step S201: Set a first target time for each execution module in the quantum control subsystem, so that each execution module starts to execute a quantum computing task when the corresponding clock domain reaches the corresponding first target time, thereby realizing synchronous execution of the quantum computing tasks by multiple execution modules in the quantum control subsystem; wherein, each execution module operates in a separate clock domain.
[0081] In an embodiment of the present application, the intermediate control module is used to set the first target time for each execution module among multiple execution modules located in the same quantum control subsystem. That is to say, for each execution module, set its corresponding first target time to realize synchronous execution of quantum computing tasks by multiple execution modules.
[0082] Refer to Figure 4 , Figure 4 which is a structural block diagram of a quantum control subsystem provided by an embodiment of the present application.
[0083] An embodiment of the present application also provides a quantum control subsystem, which includes an intermediate control module and multiple execution modules, and each module operates in a separate clock domain. The modules here include the intermediate control module and the execution modules.
[0084] The intermediate control module is used to set the first target time for each execution module.
[0085] Each execution module is used to start executing a quantum computing task when the corresponding clock domain reaches the corresponding first target time, so as to realize synchronous execution of the quantum computing tasks by multiple execution modules.
[0086] Refer to Figure 5 and Figure 6 , Figure 5 which is a structural block diagram of a quantum computing measurement and control system provided by an embodiment of the present application, Figure 6 is a timing schematic diagram of an intermediate control module and an execution module provided by an embodiment of the present application.
[0087] The embodiment of the present application further provides a quantum computing measurement and control system. The quantum computing measurement and control system includes a main control module and multiple quantum control subsystems. Each quantum control subsystem includes an intermediate control module and multiple execution modules, and each module operates in a separate clock domain. The modules here include the main control module, the intermediate control module, and the execution module.
[0088] The main control module is used to set the first target time of each execution module in the corresponding quantum control subsystem through the intermediate control module in each quantum control subsystem.
[0089] Each execution module is used to start executing the quantum computing task when the corresponding clock domain reaches the corresponding first target time, so as to realize the synchronous execution of the quantum computing task by multiple execution modules in multiple quantum control subsystems.
[0090] In the embodiment of the present application, each module operates in a separate clock domain, which means that the main control module, multiple intermediate control modules, and multiple execution modules each operate in a separate clock domain.
[0091] In the embodiment of the present application, the main control module can set the first target time of each execution module in the same quantum control subsystem through the intermediate control module in each quantum control subsystem. As an example, assume that the quantum computing measurement and control system includes 5 quantum control subsystems, namely the first to the fifth quantum control subsystems. The number of execution modules in each quantum control subsystem can be the same or different. Then the main control module can set the first target time of each execution module in the first quantum control subsystem through the intermediate control module in the first quantum control subsystem. The main control module can also set the first target time of each execution module in the second quantum control subsystem through the intermediate control module in the second quantum control subsystem, and so on, which will not be elaborated here. After setting the first target time of each execution module, each execution module will start executing the quantum computing task at the corresponding first target time, so as to realize the synchronous execution of the quantum computing task by multiple execution modules in multiple quantum control subsystems.
[0092] In some embodiments, the main control module can be used to generate a third periodic signal to send a second synchronization signal to the intermediate control modules in multiple quantum control subsystems; and, send a second trigger signal to the intermediate control modules in multiple quantum control subsystems.
[0093] In each quantum control subsystem, the intermediate control module can be used to generate a second periodic signal when receiving the second synchronization signal, so as to enable the intermediate control modules in multiple quantum control subsystems to generate synchronized second periodic signals; send the first synchronization signal to the corresponding multiple execution modules; and, when receiving the second trigger signal, use the start time of the Mth cycle of the second periodic signal after the second periodic signal where the second trigger signal is located as the second target time of the intermediate control module, where M is a positive integer; when the corresponding clock domain reaches the corresponding second target time, send a first trigger signal to the corresponding multiple execution modules.
[0094] In each quantum control subsystem, each execution module can be used to generate a first periodic signal when receiving the first synchronization signal, so as to enable the multiple execution modules in multiple quantum control subsystems to generate synchronized first periodic signals; and, when receiving the first trigger signal, use the start time of the Nth cycle of the first periodic signal after the first periodic signal where the first trigger signal is located as the first target time, where N is a positive integer; when the corresponding clock domain reaches the corresponding first target time, start executing a quantum computing task, so as to enable the multiple execution modules in multiple quantum control subsystems to synchronously execute the quantum computing task.
[0095] Wherein, the periods of the third periodic signal, the second periodic signal, and the first periodic signal can be the same, the periods of the second trigger signal and the first trigger signal can be the same, and the period of the first periodic signal can be greater than the period of the first trigger signal.
[0096] In the embodiments of the present application, the first synchronization signal and the second synchronization signal can be pulse signals, and the first trigger signal and the second trigger signal can be pulse signals.
[0097] In the embodiments of the present application, the main control module generates a third periodic signal for sending a second synchronization signal to the intermediate control modules in multiple quantum control subsystems; the intermediate control modules in the multiple quantum control subsystems receive the second synchronization signal, and the multiple intermediate control modules generate synchronized second periodic signals. Each intermediate control module also sends a first synchronization signal to multiple execution modules in the same quantum control subsystem; the multiple execution modules in the multiple quantum control subsystems receive the first synchronization signal, and the multiple execution modules in the multiple quantum control subsystems generate synchronized first periodic signals. Among them, the periods of the first periodic signal, the second periodic signal, and the third periodic signal are the same. Thus, through the periodic synchronization signals (including the first periodic signal, the second periodic signal, and the third periodic signal) and the synchronization signals (including the first synchronization signal and the second synchronization signal), the time alignment between multiple execution modules in multiple quantum control subsystems can be completed. After the time alignment, it is also necessary to synchronously execute quantum computing tasks on the multiple execution modules in multiple quantum control subsystems.
[0098] To achieve the synchronous execution of quantum computing tasks, the main control module sends a second trigger signal to the intermediate control modules in multiple quantum control subsystems; the intermediate control modules in the multiple quantum control subsystems receive the second trigger signal, but do not execute, but store the second trigger signal, determine the second target time of each intermediate control module according to the second trigger signal, and each intermediate control module triggers at the corresponding second target time and sends a first trigger signal to multiple execution modules in the same quantum control subsystem; the multiple execution modules in the multiple quantum control subsystems receive the first trigger signal, but do not execute, but store the first trigger signal, determine the first target time of each execution module according to the first trigger signal, that is, the start execution time of the quantum computing task, and each execution module triggers at the corresponding first target time and executes the quantum computing task.
[0099] In some embodiments, the main control module may be a main control board.
[0100] In some embodiments, the intermediate control module may be an intermediate control board.
[0101] In some embodiments, the execution module may be an execution board.
[0102] The embodiments of the present application provide a synchronization protocol between modules, which can improve the uncertainty caused by metastability. For example, in the initial stage of system initialization, a specific process can be used to establish synchronous timing. Specifically, the master control module starts this process by generating a periodic synchronization signal (i.e., the third periodic signal) and sending the second synchronization signal to all intermediate control modules through the synchronization and trigger link. When receiving this second synchronization signal, these intermediate control modules generate their own periodic synchronization signals (i.e., the second periodic signal), and then use the synchronization and trigger link to send the first synchronization signal to all execution modules located in the same quantum control subsystem. The execution modules use the received first synchronization signal to generate their own periodic synchronization signals (i.e., the first periodic signal). The periods of all these signals (i.e., the first periodic signal, the second periodic signal, the third periodic signal, the first synchronization signal, and the second synchronization signal) are consistent throughout the quantum computing measurement and control system, ensuring the time alignment among the synchronization signals received by each module, the internally generated periodic synchronization signals, and the output synchronization signals.
[0103] After time alignment, each execution module and control module (including the intermediate control module and the master control module) can operate on a shared time base. Since the time bases of all modules maintain a fixed relative timing, although metastability may occur during the transmission of synchronization signals (including the first synchronization signal and the second synchronization signal), because the transmission process of the synchronization signals is a one-time event, any metastability will only introduce a fixed clock cycle offset between different synchronization signals, thereby introducing a fixed clock cycle offset between the corresponding modules that receive these synchronization signals. For example, a fixed clock cycle offset is introduced between multiple intermediate control modules that receive the second synchronization signal, and a fixed clock cycle offset is introduced between multiple execution modules that receive the first synchronization signal, etc. Subsequently, for the received trigger signals (including the first trigger signal and the second trigger signal), each intermediate control module stores the second trigger signal after receiving it and triggers only when the periodic synchronization signal (i.e., the second periodic signal) arrives, outputting the first trigger signal; each execution module stores the first trigger signal after receiving it and triggers only when the periodic synchronization signal (i.e., the first periodic signal) arrives, executing quantum computing tasks, such as playing the output waveform corresponding to the quantum computing task, reading the waveform, etc.
[0104] It should be noted that for the introduced fixed clock cycle offset, the quantum computing measurement and control system can measure the clock cycle offset corresponding to each intermediate control module and each execution module, and perform corresponding compensation based on the measurement results, ultimately achieving the synchronous execution of quantum computing tasks on multiple execution modules. Such compensation can include, for example, performing timing compensation on the logic gate timing of the quantum circuit stored in the output unit, or performing timing compensation on the read timing stored in the read unit, etc. The measurement and compensation for the clock cycle offset are not the core concept of this application, and those skilled in the art can implement them based on related technologies.
[0105] Figure 6 A triggering scenario under the implementation of the synchronization protocol is given. The orange arrow represents the periodic synchronization signal, and the shaded area represents the first trigger signal. The intermediate control module sends the first trigger signal at Ts. Although the second execution module experiences metastability when receiving the first trigger signal, resulting in a one-clock-cycle delay in capturing the first trigger signal compared to the first execution module, causing a one-clock-cycle delay in Tc of the second execution module, the first trigger signal is still captured by the second execution module before the next periodic synchronization signal (i.e., the first periodic signal). That is, for the first execution module and the second execution module, although the clock cycles corresponding to the first trigger signal are different, the periods of the periodic synchronization signals corresponding to the first trigger signal are the same, and the periodic synchronization signal where the first trigger signal is located is the current periodic synchronization signal. Assuming that the start time of the rising edge of the next periodic synchronization signal of the periodic synchronization signal where the first trigger signal is located is used as the first target time T0, as Figure 6 shown, both the first execution module and the second execution module can be uniformly triggered at T0, effectively eliminating the uncertainty in timing. The period of the periodic synchronization signal is greater than the period of the trigger signal. As an example, the period of the periodic synchronization signal is three to five times the period of the trigger signal.
[0106] In the related technology, when the execution module receives the task information and is ready, it feeds back a ready signal to the control module after being ready. The control module generates a trigger signal based on the ready signal fed back by the execution module. After receiving the trigger signal, the execution module executes the quantum computing task, and it is difficult to guarantee the execution timing of each execution module. In the embodiment of this application, after receiving the first trigger signal, the execution module does not execute the quantum computing task, but first stores the first trigger signal. After reaching the first target time, the first trigger signal works to trigger the execution module to execute the quantum computing task, such as playing the corresponding output waveform or reading the waveform, so as to reduce the occurrence of metastability.
[0107] Since the periodic synchronization signal is controlled by a digital signal, the periodic synchronization signals generated by each execution module are relatively stable and do not change after one synchronization, without generating uncertainty, ensuring the synchronization process. Moreover, the randomly acquired trigger signals are always within the period of the periodic synchronization signal, and the trigger signals are executed at the rising edge of the periodic synchronization signal, ensuring the execution timing between different execution modules on the link.
[0108] In the embodiments of the present application, the hardware architecture can adopt a distributed architecture. The distributed architecture has strong scalability, that is, it supports unlimited expansion and a synchronous logical architecture, thus supporting multi-threaded execution. It should be noted that the distributed architecture is an example of implementing multi-threading. To implement multi-threading, in addition to the distributed architecture, other architectures can also be adopted, and the present application does not limit this.
[0109] See Figure 7 , Figure 7 is a structural block diagram of a quantum computer provided by an embodiment of the present application.
[0110] The embodiments of the present application also provide a quantum computer, which includes a quantum chip and any one of the above-mentioned quantum computing measurement and control systems, and a plurality of qubits are arranged on the quantum chip.
[0111] In some embodiments, the quantum computer can be a superconducting quantum computer. Correspondingly, the quantum chip can be a superconducting quantum chip, and one or more superconducting qubits can be arranged on the superconducting quantum chip.
[0112] The embodiments of the present application do not limit the number of qubits on the quantum chip, which can be, for example, 32, 72, 100, 200, etc.
[0113] The embodiments of the present application also provide a computer device, and its specific implementation manners are similar to those described in the above method embodiments and the achieved technical effects, and some contents will not be elaborated again.
[0114] The computer device includes a memory and at least one processor. The memory stores a computer program, and the at least one processor is configured to execute the steps of any one of the above methods when executing the computer program.
[0115] See Figure 8 , Figure 8 is a structural block diagram of a computer device provided by an embodiment of the present application.
[0116] The embodiments of the present application do not limit the computer device, which can be, for example, a local computer device, a cloud computer device, a distributed computer device, etc.
[0117] Such as Figure 6As shown, the computer device may include: a memory 110, a processor 120, and a communication interface 130. Among them, the memory 110, the processor 120, and the communication interface 130 are connected through an internal connection path.
[0118] The memory 110 is used to store computer programs. In some implementation manners, the computer programs may include codes for implementing the methods of the embodiments of the present application.
[0119] The processor 120 is used to execute the computer programs stored in the memory 110 to control the communication interface 130 to receive input data and information and output operation result data, etc. In some implementation manners, when implementing the solutions of the embodiments of the present application through software or firmware, the computer programs for implementing the solutions of the embodiments of the present application may be stored in the processor 120 and executed by the processor 120.
[0120] The memory 110 may be a volatile memory or a non-volatile memory, or may include both volatile and non-volatile memories. Among them, the non-volatile memory may be a read-only memory (ROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), or a flash memory. The volatile memory may be a random access memory (RAM). It should be noted that the memory 110 described herein is intended to include but not limited to any of these and other suitable types of memories. As an example, the memory 110 includes a random access memory (RAM), a cache memory, and a read-only memory (ROM). Among them, the memory 110 stores computer programs, and the computer programs may be executed by the processor 120, so that the processor 120 implements the steps of any of the above methods.
[0121] The processor 120 may be a central processing unit (CPU), and the processor 120 may also be other general-purpose processors, digital signal processors (DSPs), application specific integrated circuits (ASICs), field programmable gate arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. The general-purpose processor may be a microprocessor, or, the processor 120 may also be any conventional processor, etc.
[0122] In the implementation process, each step of the above method can be completed by the integrated logic circuit of the hardware in the processor 120 or the instructions in the form of software. The method disclosed in combination with the embodiments of the present application can be directly embodied as being executed and completed by the hardware processor, or executed and completed by the combination of the hardware and software modules in the processor 120. The software module can be located in a mature storage medium in the art such as a random access memory, a flash memory, a read-only memory, a programmable read-only memory, or an electrically erasable programmable memory, a register, etc. This storage medium is located in the memory 110, and the processor 120 reads the information in the memory 110 and combines its hardware to complete the steps of the above method. To avoid repetition, it will not be described in detail here.
[0123] In some implementation manners, in addition to the hardware units introduced above, the computer device may further include software modules. Among them, the software modules may be, for example, an operating system, a basic input / output system (BIOS), an application software, etc.
[0124] The operating system is used to manage the hardware and / or software resources of the computer device and is the kernel and cornerstone of the computer device. The operating system needs to handle basic matters such as managing and configuring memory, determining the priority order of system resource supply and demand, controlling input and output devices, operating the network, and managing the file system. For the convenience of user operation, most operating systems will provide an operation interface for the user to interact with the system.
[0125] The BIOS is used to run hardware initialization during the power-on boot phase and provide runtime services for the operating system and application programs. In some implementation manners, the BIOS can also monitor the display processor temperature and perform functions such as adjusting the temperature protection policy.
[0126] The application software, also known as an application program, can be understood as software written for a specific application purpose of the user and is one of the main classifications of computer software. For example, the application software can be a program for achieving purposes such as power control and temperature management.
[0127] The embodiments of the present application further provide a computer-readable storage medium, and its specific implementation manners are similar to the implementation manners and the achieved technical effects recorded in the above method embodiments, and some contents will not be repeated.
[0128] The computer-readable storage medium stores a computer program, and when the computer program is executed by at least one processor, it implements the steps of any one of the above methods or implements the functions of any one of the above computer devices.
[0129] The embodiments of the present application also provide a computer program product, the specific implementation manner of which is similar to the implementation manner and the achieved technical effects described in the above method embodiments, and some contents will not be elaborated here.
[0130] The computer program product includes a computer program, and when the computer program is executed by at least one processor, it implements the steps of any one of the above methods or the functions of any one of the above computer devices.
[0131] The computer program product can be a portable compact disc read-only memory (CD-ROM) and includes program code, and can run on a terminal device, such as a personal computer. However, the computer program product of the present application is not limited to this, and the computer program product can adopt any combination of one or more computer-readable media.
[0132] It can be understood that the specific examples in this specification are only to help those skilled in the art better understand the implementation manner of the present application, rather than limiting the protection scope of the present application.
[0133] It can be understood that in the various embodiments of this specification, the magnitudes of the sequence numbers of the various processes do not mean the order of execution is prior or posterior, and the execution order of each process should be determined according to its function and internal logic, and should not constitute any limitation to the implementation process of the present application.
[0134] It can be understood that the various embodiments described in this specification can be implemented alone or in combination, and the present application does not limit this.
[0135] Unless otherwise specified, all technical and scientific terms used in this specification have the same meaning as commonly understood by those skilled in the technical field of this specification. The terms used in this specification are only for the purpose of describing specific implementation manners, and are not intended to limit the scope of this specification. The term "and / or" used in this specification includes any and all combinations of one or more of the related listed items. The singular forms of "a", "the above", and "the" used in this specification and the appended claims are also intended to include the plural forms, unless the context clearly indicates otherwise.
[0136] Those of ordinary skill in the art can realize that the units and algorithm steps of each example described in combination with the embodiments disclosed herein can be implemented by electronic hardware, or by a combination of computer software and electronic hardware. Whether these functions are executed in a hardware or software manner depends on the specific application and design constraints of the technical solution. Professional technicians can use different methods for each specific application to implement the described functions, but such implementation should not be considered to exceed the scope of this specification.
[0137] Those skilled in the art can clearly understand that for the convenience and brevity of description, the specific working processes of the above-described embodiments can refer to the corresponding processes in other embodiments and will not be elaborated herein.
[0138] In the several embodiments provided in this specification, it should be understood that the disclosed systems, devices, and methods can be implemented in other ways. For example, the device embodiments described above are merely illustrative. For example, the division of units is only a logical function division. In actual implementation, there may be other division methods. For example, multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the displayed or discussed couplings or direct couplings or communication connections between each other can be through some interfaces. The indirect couplings or communication connections of devices or units can be electrical, mechanical, or other forms.
[0139] The units described as separate components may or may not be physically separated. The components displayed as units may or may not be physical units, that is, they can be located in one place or distributed to multiple network units. Some or all of the units can be selected according to actual needs to achieve the purpose of the technical solution of this application.
[0140] In addition, in each embodiment of this specification, the functional units can be integrated into one processing unit, or each unit can exist physically alone, or two or more units can be integrated into one unit.
[0141] If the function is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this specification, in essence, or the part that contributes to the prior art or part of the technical solution can be embodied in the form of a software product. The computer software product is stored in a storage medium and includes several instructions to enable a computer device (which can be a personal computer, a server, or a network device, etc.) to execute all or part of the steps of the methods described in each embodiment of this specification. The aforementioned storage medium includes: USB flash drives, mobile hard disks, read-only memories (ROMs), random access memories (RAMs), magnetic disks, or optical discs, etc., which can store program codes.
[0142] The above are only the specific embodiments of this specification, but the protection scope of this application is not limited thereto. Any person skilled in the art can easily think of changes or substitutions within the technical scope disclosed in this specification and should be covered by the protection scope of this specification. Therefore, the protection scope of this application should be subject to the protection scope of the claims.
Claims
1. A method for synchronously executing quantum computing tasks, characterized in that, A target execution module among multiple execution modules in a quantum control subsystem, the method comprising: Determining a first target time of the target execution module; When the clock domain of the target execution module reaches the corresponding first target time, starting to execute a quantum computing task to enable multiple execution modules including the target execution module in the quantum control subsystem to synchronously execute the quantum computing task; wherein each execution module operates in a separate clock domain.
2. The method for synchronously executing quantum computing tasks according to claim 1, wherein The method further comprises: When receiving a first synchronization signal from the intermediate control module, generating a first periodic signal to enable multiple execution modules to generate synchronous first periodic signals; The determining the first target time of the target execution module includes: When receiving a first trigger signal from an intermediate control module in the quantum control subsystem, using the start time of the first periodic signal of the Nth period after the first periodic signal where the first trigger signal is located as the first target time; wherein N is a positive integer, and the period of the first periodic signal is greater than the period of the first trigger signal.
3. The method for synchronously executing quantum computing tasks according to claim 2, wherein N = 1; and / or, The first trigger signal reaches the target execution module within one period of the first periodic signal; and / or, The first periodic signal is a pulse signal; and / or, The rising edge of the first periodic signal matches the rising edge of the clock period signal; and / or, The period of the first periodic signal is 3 to 5 times the period of the first trigger signal.
4. The method for synchronously executing quantum computing tasks according to claim 2, wherein The period of the first periodic signal is 500 ns, and the period of the first trigger signal is 100 ns.
5. The method for synchronously executing quantum computing tasks according to claim 1, characterized in that, The target execution module includes an output unit and a reading unit, and the process of executing the quantum computing task includes: Applying the output waveform and logic gate timing of the quantum circuit stored in the output unit to the corresponding quantum bit of the output unit; or, Applying the reading waveform and reading timing stored in the reading unit to the corresponding quantum bit of the reading unit.
6. A method for synchronously executing quantum computing tasks, characterized in that, Applied to an intermediate control module in a quantum control subsystem, the method comprising: Setting the first target time of each execution module in the quantum control subsystem so that each execution module starts to execute a quantum computing task when the corresponding clock domain reaches the corresponding first target time, thereby enabling multiple execution modules in the quantum control subsystem to synchronously execute the quantum computing task; wherein each execution module operates in a separate clock domain.
7. A quantum control subsystem, characterized in that, The quantum control subsystem includes an intermediate control module and multiple execution modules, and each module operates in a separate clock domain; The intermediate control module is used to set the first target time of each execution module; Each execution module is used to start executing a quantum computing task when the corresponding clock domain reaches the corresponding first target time to enable multiple execution modules to synchronously execute the quantum computing task.
8. A quantum computing measurement and control system, characterized in that, The quantum computing measurement and control system includes a main control module and multiple quantum control sub-systems, each quantum control sub-system includes an intermediate control module and multiple execution modules, and each module operates in a separate clock domain; The main control module is used to set the first target time of each execution module in the corresponding quantum control subsystem through the intermediate control module in each quantum control subsystem; Each execution module is used to start executing the quantum computing task when the corresponding clock domain reaches the corresponding first target time, so as to realize the synchronous execution of the quantum computing task by multiple execution modules in multiple quantum control subsystems.
9. The quantum computing measurement and control system according to claim 8, wherein The main control module is used to generate a third periodic signal to send a second synchronization signal to the intermediate control module in multiple quantum control subsystems; and, send a second trigger signal to the intermediate control module in multiple quantum control subsystems; In each quantum control subsystem, the intermediate control module is used to generate a second periodic signal when receiving the second synchronization signal, so as to realize the generation of synchronous second periodic signals by the intermediate control modules in multiple quantum control subsystems; send the first synchronization signal to the corresponding multiple execution modules; and, when receiving the second trigger signal, use the start time of the Mth cycle of the second periodic signal after the second periodic signal where the second trigger signal is located as the second target time of the intermediate control module, where M is a positive integer; when the corresponding clock domain reaches the corresponding second target time, send a first trigger signal to the corresponding multiple execution modules; In each quantum control subsystem, each execution module is used to generate a first periodic signal when receiving the first synchronization signal, so as to realize the generation of synchronous first periodic signals by multiple execution modules in multiple quantum control subsystems; and, when receiving the first trigger signal, use the start time of the Nth cycle of the first periodic signal after the first periodic signal where the first trigger signal is located as the first target time, where N is a positive integer; when the corresponding clock domain reaches the corresponding first target time, start executing the quantum computing task, so as to realize the synchronous execution of the quantum computing task by multiple execution modules in multiple quantum control subsystems; Wherein, the periods of the third periodic signal, the second periodic signal and the first periodic signal are the same, the periods of the second trigger signal and the first trigger signal are the same, and the period of the first periodic signal is greater than the period of the first trigger signal.
10. The quantum computing measurement and control system according to claim 8, wherein The main control module is a main control board; and / or, The intermediate control module is an intermediate control board; and / or, The execution module is an execution board.
11. A quantum computer, characterized in that, The quantum computer includes a quantum chip and the quantum computing measurement and control system according to any one of claims 8-10, and a plurality of quantum bits are arranged on the quantum chip.