Processing method, device, system and storage medium of quantum cloud computing
By acquiring interrupted operational data and resending operational instructions through quantum cloud devices, the problem of interrupted connection in quantum cloud computing was solved, ensuring the smooth execution and stability of tasks and improving the user experience.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- BEIJING BAIDU NETCOM SCI & TECH CO LTD
- Filing Date
- 2023-06-30
- Publication Date
- 2026-07-24
AI Technical Summary
Interruptions in quantum cloud computing can lead to data loss, incorrect computation results, and security risks, impacting user experience and task completion efficiency.
By acquiring interrupted operation data and resending operation instructions through quantum cloud devices, and using the interrupted operation data to resume transmission from the breakpoint, the quantum computer can ensure that it can resume the task.
This effectively avoids computing task failures caused by interruptions, improves the stability and user experience of quantum cloud computing, and ensures the smooth completion and efficient execution of tasks.
Smart Images

Figure CN116974758B_ABST
Abstract
Description
Technical Field
[0001] This disclosure relates to the field of computer technology, and in particular to the fields of quantum computing, quantum cloud technology, and other related technologies. Background Technology
[0002] Quantum cloud computing, serving as a bridge between quantum computers and users, is increasingly being used across various industries. It holds significant application value in fields such as quantum chemistry, quantum physics, quantum biology, and quantum information, driving scientific and technological development and promoting research and development in areas like new materials, new drugs, and new energy sources. In the future, with advancements in quantum hardware and software capabilities and the maturation of quantum cloud computing platforms, quantum cloud computing will gradually offer more mature cloud services, demonstrating broad application prospects. Summary of the Invention
[0003] This disclosure provides a quantum cloud computing processing method, device, system, and storage medium.
[0004] According to one aspect of this disclosure, a processing method for quantum cloud computing is provided, comprising:
[0005] The Xth Mi A set of execution instructions is sent to the quantum computer; wherein, the Xth instruction... Mi The execution instruction is used to instruct the quantum computer to execute the Xth instruction. Mi The quantum circuit indicated by the Xth execution instruction; Mi Each execution instruction is derived from a subtask of the target task to be executed by the quantum computer;
[0006] Get the Xth Mi Interrupted running data; wherein, the Xth... Mi The interrupted execution data is that the quantum computer is executing the Xth... Mi The result obtained in the event of an interruption during the execution of a certain instruction, at least including the execution of the Xth instruction by the quantum computer. Mi The execution result obtained during the execution of each instruction, before an interruption occurs;
[0007] The Xth Mi Quantum data in the interrupted running data, and the Xth... Mi The Xth execution instruction is sent to the quantum computer; wherein, the quantum computer is able to execute the instruction based on the received Xth instruction. Mi The quantum data in the interrupted running data re-runs the Xth... Mi One execution instruction.
[0008] According to another aspect of this disclosure, a method for processing quantum cloud computing is provided, comprising: a quantum cloud device and a quantum computer; wherein,
[0009] The quantum cloud device will Xth Mi A set of execution instructions is sent to the quantum computer; wherein, the Xth instruction... Mi The execution instruction is used to instruct the quantum computer to execute the Xth instruction. Mi The quantum circuit indicated by the Xth execution instruction; Mi The execution instruction is obtained from a subtask based on the target task to be executed by the quantum computer; obtain the Xth instruction. Mi Interrupted running data; wherein, the Xth... Mi The interrupted execution data is that the quantum computer is executing the Xth... Mi The result obtained in the event of an interruption during the execution of a certain instruction, at least including the execution of the Xth instruction by the quantum computer. Mi The execution result obtained during the execution of each instruction, before the interruption occurs; the Xth instruction... Mi Quantum data in the interrupted running data, and the Xth... Mi A set of execution instructions are sent to the quantum computer;
[0010] The quantum computer is based on the Xth received. Mi Quantum data from the interrupted running data, re-running the Xth... Mi One execution instruction.
[0011] According to another aspect of this disclosure, a quantum cloud device is provided, comprising:
[0012] Classical data unit, used to store the Xth data unit Mi A set of execution instructions is sent to the quantum computer; wherein, the Xth instruction... Mi The execution instruction is used to instruct the quantum computer to execute the Xth instruction. Mi The quantum circuit indicated by the Xth execution instruction; Mi Each execution instruction is derived from a subtask of the target task to be executed by the quantum computer;
[0013] Quantum data unit, used to obtain the Xth Mi The interrupted running data will be the Xth... Mi Quantum data from the interrupted running data is sent to the quantum computer; wherein, the Xth... Mi The interrupted execution data is that the quantum computer is executing the Xth... Mi The result obtained in the event of an interruption during the execution of a certain instruction, at least including the execution of the Xth instruction by the quantum computer. Mi The execution result obtained during the execution of each instruction, before an interruption occurs;
[0014] The classic data unit is also used to transfer the Xth data unit. MiThe Xth execution instruction is sent to the quantum computer; wherein, the quantum computer is able to execute the instruction based on the received Xth instruction. Mi The quantum data in the interrupted running data re-runs the Xth... Mi One execution instruction.
[0015] According to another aspect of this disclosure, a quantum cloud system is provided, comprising: a quantum cloud device and a quantum computer; wherein,
[0016] The quantum cloud device is used to transmit the Xth quantum cloud device. Mi A set of execution instructions is sent to the quantum computer; wherein, the Xth instruction... Mi The execution instruction is used to instruct the quantum computer to execute the Xth instruction. Mi The quantum circuit indicated by the Xth execution instruction; Mi The execution instruction is obtained from a subtask based on the target task to be executed by the quantum computer; obtain the Xth instruction. Mi Interrupted running data; wherein, the Xth... Mi The interrupted execution data is that the quantum computer is executing the Xth... Mi The result obtained in the event of an interruption during the execution of a certain instruction, at least including the quantum computer executing the Xth instruction. Mi The execution result obtained during the execution of each instruction, before the interruption occurs; the Xth instruction... Mi Quantum data in the interrupted running data, and the Xth... Mi A set of execution instructions are sent to the quantum computer;
[0017] The quantum computer is used to calculate the Xth received quantum computer. Mi Quantum data from the interrupted running data, re-running the Xth... Mi One execution instruction.
[0018] According to another aspect of this disclosure, a computing device is provided, comprising:
[0019] At least one quantum processing unit (QPU);
[0020] A memory, coupled to the at least one QPU and used to store executable instructions,
[0021] The instruction is executed by the at least one QPU to enable the at least one QPU to perform the method described above;
[0022] Or, including:
[0023] At least one processor; and
[0024] A memory communicatively connected to the at least one processor; wherein,
[0025] The memory stores instructions that can be executed by the at least one processor, which, when executed by the at least one processor, enables the at least one processor to perform the method described above.
[0026] According to another aspect of this disclosure, a non-transitory computer-readable storage medium is provided storing computer instructions that, when executed by at least one quantum processing unit, cause the at least one quantum processing unit to perform the method described above.
[0027] Alternatively, the computer instructions may be used to cause the computer to perform the methods described above.
[0028] According to another aspect of this disclosure, a computer program product is provided, comprising a computer program that, when executed by at least one quantum processing unit, implements the methods described above.
[0029] Alternatively, the computer program may implement the above-described method when executed by a processor.
[0030] In this way, in the event of an interruption, the present solution can effectively avoid the problem of computing tasks failing to execute due to the interruption by utilizing the interrupted running data and resent running instructions, thus providing a reliable solution to the disconnection problem of quantum cloud computing and supporting the continued execution of the target task. At the same time, the present solution effectively improves the stability of quantum cloud computing, thereby laying the foundation for improving the user experience.
[0031] It should be understood that the description in this section is not intended to identify key or essential features of the embodiments of this disclosure, nor is it intended to limit the scope of this disclosure. Other features of this disclosure will become readily apparent from the following description. Attached Figure Description
[0032] The accompanying drawings are provided to better understand this solution and do not constitute a limitation of this disclosure. Wherein:
[0033] Figure 1 This is a schematic diagram of the implementation flow of the quantum cloud computing processing method according to embodiments of this disclosure. Figure 1 ;
[0034] Figure 2 This is a schematic diagram of the implementation flow of the quantum cloud computing processing method according to embodiments of this disclosure. Figure 2 ;
[0035] Figure 3 This is a schematic diagram of the implementation flow of the quantum cloud computing processing method according to embodiments of this disclosure. Figure 3 ;
[0036] Figure 4This is a schematic diagram illustrating an application scenario of the quantum cloud computing processing method according to an embodiment of the present disclosure in a specific example;
[0037] Figure 5 This is a schematic diagram of the implementation flow of the quantum cloud computing processing method according to an embodiment of the present disclosure in a specific example. Figure 1 ;
[0038] Figure 6 This is a schematic diagram of the implementation flow of the quantum cloud computing processing method according to an embodiment of the present disclosure in a specific example. Figure 2 ;
[0039] Figure 7 This is a schematic diagram of the structure of a quantum cloud device according to an embodiment of the present disclosure;
[0040] Figure 8 This is a schematic diagram of the structure of a quantum cloud system according to an embodiment of the present disclosure;
[0041] Figure 9 This is a block diagram of a computing device used to implement the quantum cloud computing processing method of the embodiments of this disclosure. Detailed Implementation
[0042] The exemplary embodiments of this disclosure are described below with reference to the accompanying drawings, including various details of the embodiments to aid understanding, and should be considered merely exemplary. Therefore, those skilled in the art will recognize that various changes and modifications can be made to the embodiments described herein without departing from the scope of this disclosure. Similarly, for clarity and brevity, descriptions of well-known functions and structures are omitted in the following description.
[0043] In this document, the term "and / or" merely describes the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent three cases: A alone, A and B simultaneously, and B alone. The term "at least one" in this document indicates any combination of at least two of a plurality of elements. For example, including at least one of A, B, and C can mean including any one or more elements selected from the set consisting of A, B, and C. The terms "first" and "second" in this document refer to and distinguish between multiple similar technical terms, not to restrict the order or to limit there to only two. For example, "first feature" and "second feature" refer to two categories / two features; the first feature can be one or more, and the second feature can also be one or more.
[0044] Furthermore, to better illustrate this disclosure, numerous specific details are set forth in the following detailed description. Those skilled in the art will understand that this disclosure can still be practiced even without certain specific details. In some instances, methods, means, components, and circuits well known to those skilled in the art have not been described in detail in order to highlight the main points of this disclosure.
[0045] Quantum cloud computing, also known as cloud-based quantum computing, is a novel computing paradigm that leverages the fusion of quantum computing and cloud computing technologies to make quantum computing resources available in the cloud. Based on cloud computing technology, quantum cloud computing platforms provide users with a bridge to access physical quantum computer hardware or quantum computing simulators. Compared to traditional cloud computing platforms, quantum cloud computing platforms offer more powerful computing capabilities and greater security and convenience.
[0046] Quantum cloud computing uses data processing methods based on qubits rather than classical bits, achieving computing speeds and efficiency surpassing classical computers, especially when dealing with large-scale data and complex problems. Furthermore, quantum cloud computing enables distributed storage and management of quantum computing resources, allowing users to remotely access these resources via personal computers or mobile devices. Therefore, quantum cloud computing platforms can enable any user, such as an individual, to use quantum computers, providing more flexible and efficient computing services.
[0047] Furthermore, quantum cloud computing, as a bridge connecting quantum computers and users, is increasingly being used across various industries. For example, it has significant application value in fields such as quantum chemistry, quantum physics, quantum biology, and quantum information, driving scientific and technological development and promoting research and development in areas such as new materials, new drugs, and new energy sources. Simultaneously, it is also a crucial area of current international technological competition, enhancing a nation's scientific and technological innovation capabilities and core competitiveness, and strengthening its influence and competitiveness in the global science and technology arena. In the future, with the improvement of quantum hardware and software capabilities and the maturation of quantum cloud computing platforms, quantum cloud computing will gradually provide more mature cloud services, with broad application prospects.
[0048] However, the development of quantum cloud computing is still in its early stages, and many problems exist in practical applications. One of the most significant issues is quantum cloud computing interruption. In quantum cloud computing, the communication parties can include users and the quantum cloud (QCloud). Users connect to the quantum cloud via the internet and request quantum computing services; the quantum cloud provides quantum computing services to users via the internet. Typically, users cannot process or store quantum data, thus requiring them to request quantum services from the quantum cloud. Understandably, quantum cloud computing faces similar network interruption problems to traditional cloud computing. In a quantum cloud computing scenario, users need to maintain continuous communication with the quantum cloud, but due to communication failures, network issues, or equipment malfunctions at the quantum cloud, the connection can be lost. This can lead to data loss timeouts, incorrect computation results, and even security issues such as data leaks, severely impacting the use of the service across various fields.
[0049] Because quantum cloud computing is based on cloud computing technology, it also faces network connectivity issues similar to those in traditional cloud computing. If a quantum cloud connection is lost, it will severely impact running tasks and data processing.
[0050] Data transmission loss or timeout. Network issues causing the proxy server to disconnect may result in data transmission loss or timeouts for ongoing tasks.
[0051] Errors in calculation results and inability to complete the task. Disconnection due to hardware or software errors can prevent quantum programs or data from being compiled and executed properly, potentially causing calculation errors and task failure in the process.
[0052] Security risks. If users misuse the quantum cloud computing platform, causing the proxy server to disconnect, the security of the quantum cloud computing platform may be compromised.
[0053] Therefore, solving the problems that arise when quantum cloud computing experiences disconnection is crucial for improving the security of user data, the efficiency of task completion, and is of great significance for promoting research in the quantum field.
[0054] Based on this, this disclosure proposes a method for providing breakpoint resumption protection via quantum cloud to address disconnection issues in quantum cloud computing. Simultaneously, this disclosure designs a proxy server device including a quantum interrupt protector to implement the breakpoint resumption protocol.
[0055] Specifically, Figure 1This is a schematic diagram of the implementation flow of the quantum cloud computing processing method according to embodiments of this disclosure. Figure 1 This method can be optionally applied to quantum computing devices that also have classical computing capabilities, or it can be applied to classical computing devices that also have quantum computing capabilities, such as quantum cloud devices. This disclosure does not limit the application of this method.
[0056] Furthermore, the method includes at least a portion of the following: (e.g.) Figure 1 As shown, it includes:
[0057] Step S101: The quantum cloud device will... Mi The execution instructions are sent to the quantum computer.
[0058] Here, the Xth Mi The execution instruction is used to instruct the quantum computer to execute the Xth instruction. Mi The quantum circuit indicated by the Xth execution instruction; Mi Each execution instruction is derived from a subtask of the target task to be executed by the quantum computer.
[0059] Here, the X Mi X is a positive integer greater than or equal to 1. Further, X... Mi The value of can be related to the number of subtasks in the task instruction.
[0060] Step S102: The quantum cloud device obtains the Xth... Mi Data interrupted during operation.
[0061] Here, the Xth Mi The interrupted execution data is that the quantum computer is executing the Xth... Mi This is obtained in the case of an interruption during the execution of a certain instruction. Further, the Xth... Mi The interrupted running data includes at least the data from the quantum computer executing the Xth... Mi The results obtained during the execution of a single instruction, before an interruption occurs, including quantum data or classical data (such as measurement data).
[0062] Step S103: The quantum cloud device will transmit the Xth... Mi Quantum data in the interrupted running data, and the Xth... Mi The Xth execution instruction is sent to the quantum computer; wherein, the quantum computer is able to execute the instruction based on the received Xth instruction. Mi The quantum data in the interrupted running data re-runs the Xth... Mi One execution instruction.
[0063] Thus, in the event of an interruption, this disclosed solution can effectively avoid the problem of computational tasks failing to execute due to the interruption by utilizing the interrupted execution data and resent execution instructions. This provides a reliable solution to the disconnection problem in quantum cloud computing, thereby supporting the subsequent continuation (e.g., resuming execution) of the target task. Simultaneously, this disclosed solution effectively improves the stability of quantum cloud computing, thereby laying the foundation for enhancing the user experience. Furthermore, this solution is simple and easy to implement in quantum cloud devices, thus also possessing practicality.
[0064] Furthermore, the execution instructions of this disclosed solution are derived from the subtasks of the target task. In other words, they are derived from the subtasks obtained after decomposing the target task. Therefore, this lays the foundation for successfully and efficiently completing the target task. Compared with directly executing the entire target task, this disclosed solution can effectively avoid the problem of having to rerun the entire target task due to execution failures in the target task. Thus, it lays the foundation for effectively improving execution efficiency.
[0065] In a specific example of the scheme disclosed herein, when the Xth Mi After sending the execution instructions to the quantum computer, the method further includes:
[0066] The quantum cloud device obtains the quantum computer executing the Xth... Mi At least one intermediate result generated by each execution instruction;
[0067] Quantum cloud devices are based on executing the Xth... Mi At least one intermediate result generated by the execution instruction yields the Xth instruction. Mi Data interrupted during operation.
[0068] For example, in one instance, the quantum cloud device will receive the execution of the Xth... Mi The latest intermediate result generated by the Xth execution instruction is used as the Xth... Mi Data interrupted during operation.
[0069] Understandably, during the execution of instructions in a quantum computer, intermediate results (process variables) may be generated. For example, multiple intermediate results may be generated. In this case, the quantum computer can return at least one intermediate result generated from executing one instruction to the quantum cloud device. This allows the quantum cloud device to send its stored intermediate results to the quantum computer in the event of an interruption, enabling the quantum computer to continue executing the quantum computing task. This lays the foundation for efficiently completing the target task.
[0070] Here, the intermediate results may include: the quantum state obtained when the quantum computer executes to a certain position of the preset quantum circuit in a single run, and / or the generated classical information (or classical data), etc.
[0071] In this way, the disclosed scheme uses the intermediate results generated by the execution of instructions by the quantum computer to obtain interrupted execution data. Thus, in the event of an interruption, the interrupted execution data can be quickly used for resuming processing, effectively avoiding the problem that the computing task cannot be successfully executed due to the interruption, and further providing support for the continued execution of the target task.
[0072] In a specific example of the scheme disclosed herein, when resending the Xth... Mi Before the Xth execution instruction, it is also possible to... Mi The method further includes adjusting the execution instructions; specifically, the method also includes:
[0073] Quantum cloud devices are based on the Xth Mi Classic data from the interrupted running data determines the need to modify the Xth... Mi When the execution instruction is adjusted, the Xth instruction is... Mi Adjust the execution instructions;
[0074] Based on this, the above-described Xth Mi Quantum data in the interrupted running data, and the Xth... Mi The execution instructions are sent to the quantum computer (e.g., in step S103 above), including:
[0075] The quantum cloud device will... Mi Quantum data in the interrupted running data, and the adjusted Xth quantum data. Mi The Xth execution instruction is sent to the quantum computer; wherein, the quantum computer is able to execute the instruction based on the received Xth instruction. Mi The quantum data from the interrupted running data is re-run and adjusted for the Xth time. Mi One execution instruction.
[0076] Thus, this disclosed solution can be used when the Xth [aspect / specification] is required. Mi When the execution instruction is adjusted, for the Xth instruction... Mi The operation instructions were adjusted to further support the continued execution of the target task. At the same time, while effectively ensuring the stability of quantum cloud computing, the overall execution efficiency of the target task was improved.
[0077] Moreover, due to the resent Xth Mi The execution instruction is based on the Xth instruction. MiThe data was adjusted from the classic data in the interrupted execution data, thus effectively reducing the probability of another interruption. At the same time, it further laid the foundation for continuing to execute the target task, and thus laid the foundation for further successful completion of the target task.
[0078] In a specific example of the scheme disclosed herein, after the quantum computer successfully completes the execution of the execution instructions, the quantum cloud device can also obtain the execution of the Xth instruction by the quantum computer. Mi The Xth instruction obtained from the execution instruction Mi The final result of the operation, here, the Xth... Mi The overall result is that the quantum computer successfully executed the Xth iteration. Mi This is obtained under the condition of running instructions.
[0079] In this way, even if an interruption occurs during the quantum cloud computing process, the proposed solution can still efficiently obtain the total running result obtained by the quantum computer executing the running instructions, thus laying the foundation for the successful execution of the target task in the future.
[0080] Furthermore, in a specific example, the quantum cloud device acquires information that the quantum computer is executing the Xth... Mi The Xth instruction obtained from the execution instruction Mi In the case of the overall running result, the quantum cloud device can also transmit the Xth... Mi The next execution instruction of the Xth execution instruction is sent to the quantum computer, and the Xth execution instruction is... Mi The next instruction to be executed is derived from a subtask of the target task to be executed by the quantum computer. This allows the quantum computer to continue executing instructions in their entirety, thus laying the foundation for the complete target task.
[0081] Here, it should be noted that the Xth... Mi The next instruction to be executed after the first instruction can be specifically the Xth instruction. Mi+1 The first execution instruction, or, it can be used for other instructions that need to be executed at the Xth time. Mi The execution instructions following the execution instructions are not restricted in this disclosure.
[0082] Thus, this disclosed solution can successfully receive the Xth... Mi The Xth instruction obtained from the execution instruction Mi In the case of the overall running result, continue sending the Xth... Mi The next instruction after the first instruction is sent, that is, the next instruction required to complete the target task is sent. This continues the execution of instructions in order to obtain the results of executing the Xth instruction. Mi The total execution result obtained from the next execution instruction of the previous execution instruction lays the foundation for the successful execution of the target task.
[0083] Figure 2 This is a schematic diagram of the implementation flow of the quantum cloud computing processing method according to embodiments of this disclosure. Figure 2 This method can be optionally applied to quantum computing devices that also have classical computing capabilities, or it can be applied to classical computing devices that also have quantum computing capabilities, such as quantum cloud devices. This disclosure does not limit the application of this method.
[0084] Furthermore, the method includes at least a portion of the following: (e.g.) Figure 2 As shown, it includes:
[0085] Step S201: The quantum cloud device will... Mi The execution instructions are sent to the quantum computer.
[0086] Here, the Xth Mi The execution instruction is used to instruct the quantum computer to execute the Xth instruction. Mi The quantum circuit indicated by the Xth execution instruction; Mi Each execution instruction is derived from a subtask of the target task to be executed by the quantum computer.
[0087] Step S202: The quantum computer executes the Xth step. Mi One execution instruction.
[0088] Step S203: The quantum cloud device obtains the information that the quantum computer is executing the Xth step. Mi At least one intermediate result produced by each execution instruction.
[0089] Step S204: The quantum cloud device determines that the quantum computer is executing the Xth step. Mi In the event of an interruption in the execution of the Xth instruction, the quantum cloud device, based on the execution of the Xth instruction... Mi At least one intermediate result generated by the execution instruction yields the Xth instruction. Mi Data interrupted during operation.
[0090] Step S205: The quantum cloud device obtains the Xth... Mi Data interrupted during operation.
[0091] Here, the Xth Mi The interrupted execution data is that the quantum computer is executing the Xth... Mi The result obtained in the event of an interruption during the execution of a certain instruction, at least including the execution of the Xth instruction by the quantum computer. Mi The result obtained during the execution of a single instruction, before an interruption occurs.
[0092] Step S206: The quantum cloud device will transmit the Xth...Mi Quantum data in the interrupted running data, and the Xth... Mi The Xth execution instruction is sent to the quantum computer; wherein, the quantum computer is able to execute the instruction based on the received Xth instruction. Mi The quantum data in the interrupted execution data is re-executed as the Xth... Mi One execution instruction.
[0093] Here, in a specific example, the quantum cloud device can also be based on the Xth... Mi Classic data from the interrupted running data determines the need to modify the Xth... Mi When the execution instruction is adjusted, the Xth instruction is... Mi The execution instructions are adjusted, and then the Xth instruction is... Mi Quantum data in the interrupted running data, and the adjusted Xth quantum data. Mi The Xth execution instruction is sent to the quantum computer; thus, the quantum computer can execute the Xth instruction based on the received instruction. Mi The quantum data from the interrupted running data is re-run and adjusted for the Xth time. Mi One execution instruction.
[0094] Step S207: The quantum computer successfully executed step X. Mi The execution instruction yields the Xth instruction. Mi The overall execution result. Among them, the Xth... Mi The overall result is that the quantum computer successfully executed the Xth iteration. Mi This is obtained under the condition of running instructions.
[0095] For example, the quantum computer is based on the Xth received Mi Quantum data from the interrupted execution data, re-execute the Xth... Mi The Xth execution instruction was executed successfully. Mi After the Xth execution instruction, we obtain the Xth instruction. Mi Overall running results.
[0096] Step S208: The quantum cloud device obtains that the quantum computer has successfully executed step X. Mi The Xth instruction obtained from the execution instruction Mi Overall running results.
[0097] Step S209: The quantum cloud device obtains information that the quantum computer is executing step X. Mi The Xth instruction obtained from the execution instruction Mi In the case of the total running result, the Xth... Mi The next execution instruction of the Xth execution instruction is sent to the quantum computer. MiThe next instruction to be executed is derived from a subtask of the target task to be executed by the quantum computer.
[0098] In this way, in the event of an interruption, the present solution can effectively avoid the problem of computing tasks failing to execute due to the interruption by utilizing the interrupted running data and resent running instructions. This provides a reliable solution to the disconnection problem in quantum cloud computing, thus supporting the subsequent execution (e.g., continuation) of the target task. At the same time, the present solution effectively improves the stability of quantum cloud computing, thereby laying the foundation for improving the user experience.
[0099] In a specific example of the disclosed solution, the execution instructions can also be obtained in the following manner; specifically, the Xth... Mi Before sending the execution instructions to the quantum computer, the method further includes:
[0100] The quantum cloud device generates task instructions; wherein the task instructions are used to instruct the quantum computer to perform a target task;
[0101] The quantum cloud device decomposes the task instructions into multiple submission instructions that need to be executed sequentially.
[0102] Here, the Xth Mi The Xth execution instruction M The Xth commit instruction contains at least one of the run instructions; M The Xth commit instruction is one of the plurality of commit instructions; that is, the Xth commit instruction is... Mi Each run instruction is a sub-instruction of the submit instruction. Correspondingly, the submit instruction is derived from the sub-tasks of the target task. In this way, the total task instruction is split into multiple run instructions. Compared with directly executing the entire target task, the present solution can effectively avoid the problem of having to rerun the entire target task due to the failure of the target task, thus laying the foundation for effectively improving execution efficiency.
[0103] Furthermore, in one example, the Xth... M A submission instruction is used to instruct the quantum computer to execute a preset quantum circuit; correspondingly, the Xth... Mi Each execution instruction is used to instruct the quantum computer to execute at least a portion of the sub-circuits in the preset quantum circuit.
[0104] It is understood that different submission instructions may be used to implement different subtasks, and correspondingly, the preset quantum circuits targeted by different subtasks may be the same or different. This disclosure does not impose any restrictions on this.
[0105] Furthermore, the sub-circuits indicated by different execution instructions contained in the same submission instruction may be the same or different, and this disclosure does not impose any restrictions on this.
[0106] Thus, the execution instructions of this disclosed solution are derived from the subtasks of the target task. In other words, they are derived from the subtasks obtained after decomposing the target task. Therefore, this lays the foundation for successfully and efficiently completing the target task. Compared with directly executing the entire target task, this disclosed solution can effectively avoid the problem of having to rerun the entire target task due to execution failures in the target task. This lays the foundation for effectively improving execution efficiency.
[0107] Furthermore, in a specific example, the submission instructions can also be obtained in the following manner: Specifically, the quantum cloud device described above decomposes the task instructions to obtain multiple submission instructions that need to be executed sequentially, which may specifically include:
[0108] Based on the task logic of the target task, the quantum cloud device decomposes the task instructions into multiple job instructions that need to be executed sequentially;
[0109] The quantum cloud device decomposes the multiple job instructions into at least one submission instruction for completing the job instructions.
[0110] Understandably, in one example, multiple job instructions contained in a task instruction can be executed sequentially to implement the task instruction; correspondingly, if a job instruction contains two or more submit instructions, the submit instructions contained in the job instruction can also be executed sequentially to implement the job instruction; furthermore, if a submit instruction contains two or more run instructions, the run instructions contained in the submit instruction can also be executed sequentially to implement the submit instruction.
[0111] In other words, in this example, the quantum cloud device first decomposes the task instructions used to achieve the target task into multiple job instructions that need to be executed sequentially, then decomposes each job instruction into fine-grained submission instructions, and finally decomposes the submission instructions into even finer-grained execution instructions. In this way, a specific scheme for decomposing the target task is provided, which supports interrupt handling at the execution instruction level and / or interrupt handling at the submission instruction level.
[0112] In addition, the decomposition scheme in this example lays the foundation for successfully and efficiently completing the target task. Moreover, compared with directly executing the entire target task, the disclosed scheme can effectively avoid the problem of having to rerun the entire target task due to running failures in the target task. Thus, it lays the foundation for effectively improving execution efficiency.
[0113] Furthermore, in a specific example, after the quantum cloud device decomposes the job instructions, it can also obtain computation instructions; specifically, the above-described decomposition of the job instructions among the plurality of job instructions to obtain at least one submission instruction for completing the job instructions specifically includes:
[0114] The quantum cloud device decomposes the multiple job instructions into at least one submission instruction for completing the job instruction, and a calculation instruction for completing the job instruction. Here, the Xth... M The submission instruction is the Mth submission instruction among at least one submission instruction contained in the Xth job instruction; the Xth job instruction is one of a plurality of job instructions.
[0115] Furthermore, the arithmetic instruction used to complete the job instruction is used to perform arithmetic processing on the classic submission results of each submission instruction in at least one submission instruction corresponding to the job instruction, so as to obtain the classic job result; that is, the arithmetic instruction corresponding to the job instruction can be used to perform arithmetic processing on the classic submission results returned by each submission instruction contained in the job instruction, so as to obtain the classic job result for the job instruction.
[0116] Thus, this disclosure provides a specific scheme for decomposing job instructions, thereby supporting interrupt handling at the execution instruction level and / or interrupt handling at the submission instruction level. Furthermore, the decomposition scheme of this disclosure lays the foundation for the successful and efficient completion of the target task. Moreover, compared to directly executing the entire target task, this disclosure effectively avoids the problem of needing to re-run the entire target task due to execution failures within the target task, thus laying the foundation for effectively improving execution efficiency.
[0117] In a specific example of the disclosed solution, disconnection processing at the command submission level can also be implemented. For example, the quantum cloud device, upon determining the Xth... M If the Xth commit command fails to execute, M The execution instructions contained in the Xth submission instruction are resent to the quantum computer, thus achieving submission-level disconnection processing; or, upon determining the Xth... M If the submission instruction is successfully executed, the Xth one in the target task will be... M The execution instructions contained in the next commit instruction of the first commit instruction are sent to the quantum computer.
[0118] Thus, this disclosed solution not only enables disconnection processing at the execution instruction level but also at the submission level, further refining the solution to the disconnection problem in quantum cloud computing. Simultaneously, it further enhances the stability of quantum cloud computing, thereby laying the foundation for improving user experience. Furthermore, this refined solution is simple and easy to implement in quantum cloud devices, thus further improving its practicality.
[0119] Furthermore, in a specific example, the Xth term can be determined in the following manner. M Whether the submission instruction was successfully executed; specifically, the quantum cloud device determines the Xth submission instruction if at least one of the following conditions is met. M One submission instruction failed to execute; wherein the conditions include:
[0120] The Xth M The submit instruction contains execution instructions that may be interrupted;
[0121] The Xth M The classic running data in the total running result of the running instructions contained in the submission instruction does not meet the preset requirements.
[0122] In other words, in one example, if the Xth M If at least one of the execution instructions contained in a submission instruction causes an interruption, then the Xth submission instruction can be considered as such. M If the Xth submission command fails to execute, you can resend the Xth command. M The submission instruction contains the execution instructions, thus ensuring successful execution of the target task and effectively ensuring the accuracy of the results. Furthermore, if the Xth... M If none of the execution instructions contained in the Xth commit instruction are interrupted, then the Xth commit instruction can be considered as such. M Once the first submission command is successfully executed, the Xth command in the target task can be sent. M The next commit instruction contains the execution instructions, and so on, to complete the target task.
[0123] Alternatively, in another example, it can be based on the Xth... M The classic commit result of the Xth commit instruction, for example, based on the Xth commit instruction. M The classic execution data from the total execution results of the execution instructions contained in the Xth submission instruction is used to determine the Xth... M Whether the Xth commit instruction was successfully executed, such as in the Xth... M If the classic execution data in the total execution result of the execution instructions contained in the Xth submission instruction meets the preset requirements, then the Xth submission instruction is considered to be... M If the Xth commit instruction is executed successfully, otherwise, if the Xth commit instruction is executed successfully... MIf the classic running data in the total running result of the Xth submission instruction does not meet the preset requirements, then it can be the Xth... M The submission command failed to execute.
[0124] Thus, this disclosed solution provides a refined method for determining whether a submission command is functioning correctly. This allows the solution to achieve disconnection processing not only at the command-level but also at the submission level. Furthermore, this refined solution is simple and easy to implement in quantum cloud devices, thereby further enhancing its practicality.
[0125] Furthermore, in a specific example, the above description of determining the Xth... M If the Xth commit command fails to execute, M The execution instructions contained in each submission instruction are resent to the quantum computer, specifically including:
[0126] The quantum cloud device determines the Xth M In the event that the submission instruction fails to execute successfully, and based on the Xth... M The total execution result of all execution instructions contained in the Xth submission instruction determines the instruction that needs to be executed. M In the case of adjusting at least some of the execution instructions contained in the submission instruction, the Xth instruction... M At least some of the execution instructions contained in each submission instruction are adjusted;
[0127] After the quantum cloud device completes its adjustments, it will... M The execution instructions contained in each submission instruction are resent to the quantum computer.
[0128] In other words, at the Xth time M If the submission command fails to execute, it can still be based on the Xth... M The total execution result of all execution instructions contained in the Xth submission instruction determines whether the Xth instruction needs to be submitted. M The Xth submission instruction contains at least some of the execution instructions, and in the event of a requirement adjustment, the Xth... M The execution instructions contained in the Xth submission instruction are adjusted, and then resent to the quantum computer after adjustment. This effectively reduces the probability of another interruption, thereby significantly improving the success rate of executing the Xth instruction. M The probability of submitting a command further lays the foundation for successfully executing the target task.
[0129] In a specific example of the disclosed solution, the quantum cloud device can also obtain the target task result for each task instruction after executing all job instructions. Specifically, the method further includes:
[0130] When the quantum cloud device determines that the submission instructions contained in each of the plurality of job instructions have been successfully executed, it obtains the target task result of the task instruction based on the classical job results of the job instructions in the plurality of job instructions.
[0131] The quantum cloud device outputs the target task result of the task instruction.
[0132] It is understood that the classic job result of a job instruction may include the classic submission results of each submission instruction contained in the job instruction; furthermore, the classic submission result of a submission instruction may include the classic execution data of each run instruction contained in the submission instruction.
[0133] In this way, the proposed solution can effectively avoid the problem of computing tasks failing to execute due to interruptions by utilizing interrupted execution data and resent execution instructions. This provides a reliable solution to the disconnection problem in quantum cloud computing, thus effectively ensuring the sequential execution of target tasks. At the same time, the proposed solution effectively improves the stability of quantum cloud computing and enhances the user experience.
[0134] Furthermore, the execution instructions of this disclosed solution are derived from the subtasks of the target task. In other words, they are derived from the subtasks obtained after decomposing the target task. Therefore, this lays the foundation for successfully and efficiently completing the target task. Compared with directly executing the entire target task, this disclosed solution can effectively avoid the problem of having to rerun the entire target task due to execution failures in the target task. Thus, it lays the foundation for effectively improving execution efficiency.
[0135] This disclosure also provides a processing method applicable to quantum cloud systems and quantum cloud computing; specifically, Figure 3 This is a schematic diagram of the implementation flow of the quantum cloud computing processing method according to embodiments of this disclosure. Figure 3 ,like Figure 3 As shown, the processing method of this quantum cloud computing specifically includes:
[0136] Step S301: The quantum cloud device will Xth Mi A set of execution instructions is sent to the quantum computer; wherein, the Xth instruction... Mi The execution instruction is used to instruct the quantum computer to execute the Xth instruction. Mi The quantum circuit indicated by the Xth execution instruction; Mi The execution instruction is obtained from a subtask based on the target task to be executed by the quantum computer; obtain the Xth instruction. Mi Interrupted running data, wherein the Xth... Mi The interrupted execution data is that the quantum computer is executing the Xth...Mi The Xth instruction is obtained when an interrupt occurs during the execution of a given instruction. Mi The interrupted running data includes at least the data from the quantum computer executing the Xth... Mi The execution result obtained during the execution of each instruction, before the interruption occurs; the Xth instruction... Mi Quantum data in the interrupted running data, and the Xth... Mi The execution instructions are sent to the quantum computer.
[0137] Step S302: The quantum computer, based on the received Xth... Mi Quantum data from the interrupted running data, re-running the Xth... Mi One execution instruction.
[0138] Thus, in the event of an interruption, this disclosed solution can effectively avoid the problem of computational tasks failing to execute due to the interruption by utilizing the interrupted execution data and resent execution instructions. This provides a reliable solution to the disconnection problem in quantum cloud computing, thereby supporting the subsequent continuation (e.g., resuming execution) of the target task. Simultaneously, this disclosed solution effectively improves the stability of quantum cloud computing, thereby laying the foundation for enhancing the user experience. Furthermore, this solution is simple and easy to implement in quantum cloud devices, thus also possessing practicality.
[0139] Furthermore, the execution instructions of this disclosed solution are derived from the subtasks of the target task. In other words, they are derived from the subtasks obtained after decomposing the target task. Therefore, this lays the foundation for successfully and efficiently completing the target task. Compared with directly executing the entire target task, this disclosed solution can effectively avoid the problem of having to rerun the entire target task due to execution failures in the target task. Thus, it lays the foundation for effectively improving execution efficiency.
[0140] It should be noted that the “interruption” mentioned in this disclosure can be understood as “quantum cloud disconnection”, which can be caused by any reason, such as network problems, hardware problems or software problems that cause quantum cloud disconnection. In this case, the quantum computer may be unable to perform quantum computing normally, resulting in an interruption.
[0141] In summary, this disclosed solution effectively solves the disconnection problem in quantum cloud computing, thus ensuring users can smoothly utilize quantum computing resources. Furthermore, it combines efficiency, convenience, and practicality, effectively promoting the development and application of quantum computing technology in various fields. Specifically, because this disclosed solution effectively solves the disconnection problem, it improves the reliability and stability of quantum cloud computing services, reducing the probability of computing task failures. Simultaneously, it improves efficiency, saving computing resources and time. In addition, this disclosed solution enhances user experience, increasing user satisfaction and loyalty by allowing users to use quantum computing resources more smoothly.
[0142] The following detailed explanation of this disclosure, with specific examples, further illustrates the proposed solution for resuming interrupted data transmission in quantum cloud computing. The following sections will describe this disclosure in two parts: first, the modular composition of the solution; and second, the core steps of the solution.
[0143] Part 1: Module Composition
[0144] To improve the reliability and efficiency of quantum cloud computing services and save user time, this disclosure proposes a solution for providing breakpoint resumption protection in the quantum cloud. This solution not only addresses breakpoint issues related to classical data in computational tasks (i.e., disconnection issues related to classical data), but also addresses breakpoint issues related to quantum data (i.e., disconnection issues related to quantum data; for example, it can promptly save the state information of qubits at the point of interruption so that they can be resumed after recovery, achieving seamless processing). This effectively reduces wasted time and computing power. Furthermore, this disclosure does not restrict the target task (i.e., computational task) to be executed. For example, it allows users to request the execution of logically more complex computational tasks in the quantum cloud, as well as quantum circuits with higher depth and the need to generate intermediate measurement results.
[0145] Specifically, the communication parties involved in this solution include the user and the quantum cloud. Furthermore, as... Figure 4 As shown, a quantum cloud can specifically include quantum cloud devices (e.g., an agent server) and quantum processing units (QPUs) (e.g., quantum computers, quantum data processing devices for performing quantum tasks), wherein the agent server is used to realize communication between the quantum cloud and the user; further, in a specific example, such as Figure 5As shown, based on functional division, the agent server may specifically include: a task memory (TM), a task control unit (TCU), an arithmetic logic unit (ALU), a compiler, a classical interrupt protector (CProtector), a driver, a quantum interrupt protector (QProtector), and a communication module (CM), etc. It is understood that the above module division is only a specific example; in practical applications, other division methods are possible, and this disclosure does not impose any limitations on this.
[0146] Furthermore, in order to achieve the target task (quantum task), the communicable content involved in this disclosure includes:
[0147] (1) Target task, the quantum task input by the user;
[0148] (2) Task instructions are the overall task instructions generated based on the target task. For example, in one example, the task instructions may include at least one job instruction and logical control based on the logical relationship between the job instructions. For instance, the Variational Quantum Eigensolver (VQE) algorithm can be regarded as a task instruction, which minimizes the energy function of the quantum system by continuously updating the adjustable parameters in the pre-specified quantum circuit. If the adjustable parameters are updated using the gradient descent method, the gradient of the adjustable parameters in the quantum circuit needs to be calculated sequentially (e.g., in the order of multiple job instructions) using the parameter shift method (e.g., executing job instructions), and the gradient values need to be processed until the termination condition of the algorithm is met (e.g., control based on the logical relationship between job instructions).
[0149] (3) Homework instructions, such as including at least one submission instruction and an operation instruction that returns data based on the submission instruction (such as a classic submission result), such as using the parameter translation method to calculate the gradient. In this case, after the submission instruction, a classic submission result can be obtained, which can contain multiple sets of classic running data. Then, based on the operation instruction, such as using the parameter translation method, the classic running data can be linearly combined to obtain the gradient value of the adjustable parameter in the quantum circuit.
[0150] (4) Commit instructions, including at least one run instruction, which instructs the specified preset quantum circuit to be run at least once and returns the classical commit result.
[0151] It should be noted that after the commit command is executed, a classic commit result will be returned. This classic commit result may include a final classic measurement result, or it may include multiple classic measurement results (for example, returning measurement statistics results that include multiple classic measurement results).
[0152] (5) The Run instruction is used to instruct the quantum computer to run at least some of the sub-circuits in the preset quantum circuit and return the total running results (e.g., including classical running data and quantum data).
[0153] It should be noted that the total execution result returned by the execution instruction may include: the quantum state obtained after the quantum computer executes to a certain position of the preset quantum circuit (e.g., executes a partial sub-circuit) in a single run, and / or the classical measurement result obtained after the preset quantum circuit is completed.
[0154] Furthermore, it should be noted that during the execution of the instructions, intermediate results may be generated, such as multiple intermediate results. In this case, the quantum computer can return at least one intermediate result generated from executing one instruction to the proxy server, such as the quantum interrupt protector of the proxy server. This allows the quantum interrupt protector to send its stored intermediate results to the quantum computer in the event of a disconnection, so that the quantum computer can continue to execute the quantum computing task. This lays the foundation for efficiently completing the target task.
[0155] Here, the intermediate results may include: the quantum state obtained when the quantum computer executes to a certain position of the preset quantum circuit during a single run, or the generated classical information (or classical data), etc.
[0156] Part Two: Specific Core Steps
[0157] Specifically, such as Figure 5 and Figure 6 As shown, the core steps of this disclosed solution include:
[0158] Step S601: The user inputs the target task into the quantum cloud device, for example, into the task storage of the agent server.
[0159] Step S602: The task memory generates and stores task instructions for the target task.
[0160] Step S603: The task controller reads the task instructions from the task memory.
[0161] Step S604: The task controller parses the task instruction to decompose the task instruction into several job instructions that need to be executed sequentially.
[0162] For example, the task controller parses the task instructions based on the task logic of the target task, so as to decompose the task instructions into several job instructions that need to be executed sequentially.
[0163] Step S605: The task controller sends the job instructions to the compiler in the order of the job instructions, for example, sending the Xth job instruction to the compiler.
[0164] Understandably, for the initial process, the task controller sends the first job instruction to the compiler.
[0165] Here, in one example, the task controller will allocate the next job instruction to the compiler, for example, by sending the (X+1)th job instruction to the compiler, after receiving the classic job result obtained from the Xth job instruction (which can be denoted as the Xth classic job result), according to the order of the job instructions, such as according to the logical relationship between the Xth classic job result obtained from the Xth job instruction and the task instruction.
[0166] Step S606: The compiler parses the current job instruction to be processed, decomposing it into several submission instructions that need to be executed sequentially, and arithmetic instructions for processing the classic submission results obtained from each submission instruction. For example, the compiler parses the Xth job instruction to decompose it into several submission instructions that need to be executed sequentially, and obtains the arithmetic instructions for the Xth job instruction (which can be denoted as the Xth arithmetic instruction).
[0167] Here, the Xth operation instruction is used to perform operations on the classic submission results obtained by each submission instruction of the Xth job instruction, so as to obtain the classic job result corresponding to the Xth job instruction, that is, the Xth classic job result.
[0168] Step S607: The compiler sends the current submission instruction to the driver and the current arithmetic instruction to the arithmetic unit. For example, the compiler sends the Mth submission instruction in the Xth job instruction to the driver and the Xth arithmetic instruction to the arithmetic unit.
[0169] Here, the Mth submission instruction in the Xth job instruction can be denoted as the Xth... M One submission command.
[0170] Understandably, for the first process, the editor sends the first commit instruction (i.e., the X1st commit instruction) of the Xth job instruction to the driver.
[0171] It should be noted that after receiving an arithmetic instruction, such as the Xth arithmetic instruction, the arithmetic unit can enter a waiting state until it receives data from the classic interrupt protector, for example, receiving data for the Xth instruction. M All the classic runtime data of the Xth commit instruction (here, the Xth commit instruction) M The complete classic execution data of the Xth commit instruction can be denoted as the Xth commit instruction. M Up to the Xth classic submission result; correspondingly, the arithmetic unit receives the Xth classic submission result. M After a classic submission result, it can be based on the Xth operation instruction, for example, based on the Xth operation instruction in the Xth operation instruction. M The sub-instruction corresponding to the Xth commit instruction, for that Xth commit instruction M The results of each classic submission are processed to obtain the classic job result for the Xth job instruction, which is the Xth classic job result.
[0172] Step S608: The driver receives the current submission instruction that needs to be processed, for example, the driver receives the Xth... M One submission command.
[0173] Step S609: The driver sends the execution instructions from the received submission instruction to the quantum computer in the order in which they are executed. For example, the driver receives the execution instructions from the Xth submission instruction. M The Xth submission instruction, and according to the Xth M The execution order of the run instructions contained in the Xth submission instruction will be determined by the Xth execution order. M The i-th execution instruction from the submission instructions is sent to the quantum computer.
[0174] Here, the Xth M The i-th execution instruction in a set of submission instructions can be denoted as the X-th execution instruction. Mi The first execution instruction. Understandably, for the initial process, the driver will execute the Xth instruction. M The first execution instruction in the Xth commit instruction (i.e., the Xth commit instruction) M1 (Each execution instruction) is sent to the quantum computer.
[0175] Here, in one example, the submission instruction may contain a preset quantum circuit that the quantum computer needs to run; further, the run instruction contained in the submission instruction may contain at least a portion of the sub-circuits of the preset quantum circuit that the quantum computer needs to run, and / or the observables that need to be measured; for example, in one example, the submission instruction is used to instruct the quantum computer to execute the preset quantum circuit; and the run instruction contained in the submission instruction is used to instruct the quantum computer to run at least a portion of the specified sub-circuits of the preset quantum circuit once.
[0176] It is understood that the sub-lines indicated by the different execution instructions contained in the submission instruction may be the same or different, and may be determined based on the target task. This disclosure does not impose any restrictions on this.
[0177] Furthermore, the execution instructions included in the submission instructions can also include information such as whether an interruption occurred during the execution of the most recent execution instruction by the quantum computer. For example, the Xth... Mi The execution instruction contains the Xth one. Mi The execution instruction requires at least a portion of the sub-circuits in the preset quantum circuit to be executed, the observables to be measured, and the Xth quantum circuit. Mi Information related to whether a running instruction was interrupted.
[0178] Here, in one example, for the execution instruction, the driver can also maintain the information required by the current execution instruction. For example, it can update the relevant information contained in the execution instruction based on classical execution data (e.g., classical measurement data) received from the quantum interrupt protector, thus facilitating the successful execution of the task completion instruction. Furthermore, the driver ensures that the current execution instruction, such as the Xth... Mi After a running instruction is successfully executed by the quantum computer, for example, after receiving a command sent by the quantum computer for the Xth instruction... Mi Classic execution data for the Xth instruction (e.g., the Xth instruction) Mi After the classic running data in the overall running results, send the next running instruction, for example, the Xth one. Mi+1 One execution instruction.
[0179] Step S610: After receiving the execution instruction sent by the driver, the quantum computer executes the instruction. For example, when the quantum computer receives the Xth instruction... Mi After the first execution instruction, the Xth instruction is executed. Mi One execution instruction.
[0180] Step S611: The quantum computer executes the current running instructions, for example, executing instruction X. Mi During the execution of a single instruction, if an intermediate result is generated (for example, it can be denoted as the Xth result), Mi Intermediate result), then the Xth Mi Intermediate results are sent to the quantum interrupt protector. Step S612 is executed.
[0181] It should be noted that if no intermediate results are generated, step S611 can be skipped directly, and step S612 can be proceeded.
[0182] It should be noted that during the execution of the current instructions, multiple intermediate results may be generated. In this case, the quantum computer can send all the intermediate results to the quantum interrupt protector. Accordingly, the quantum interrupt protector can store all intermediate results, or only store the most recent intermediate result while deleting historical intermediate results, etc. This disclosed solution does not impose any restrictions on this. In practical applications, the storage method can be selected based on specific task requirements.
[0183] Step S612: The quantum interrupt protector determines whether an interruption has occurred during the execution of the current running instruction. For example, if the quantum interrupt protector receives an intermediate result of the current running instruction, such as receiving the Xth... Mi Intermediate results are based on the received Xth... Mi Intermediate result judgment is executed at step X. Mi Whether an interrupt occurs during the execution of the Xth instruction; conversely, if the quantum interrupt protector does not receive the intermediate result of the current execution instruction, it directly determines whether to execute the Xth instruction. Mi If an interruption occurs during the execution of a single instruction, proceed to step S613; otherwise, proceed to step S617.
[0184] Step S613: If it is determined that the quantum computer has failed to execute the current execution instruction, i.e., the execution is interrupted, the quantum interrupt protector obtains the interrupted execution result of the current execution instruction based on at least some of the execution results before the interruption (i.e., at least some intermediate results). For example, the quantum interrupt protector uses the most recent intermediate result as the interrupted execution result. For instance, in the Xth... Mi If one execution instruction fails to execute, the quantum interrupt protector will obtain the most recent Xth instruction. Mi Intermediate result, as the Xth Mi The interrupt execution result of the Xth instruction (which can be denoted as the Xth instruction) Mi (Result of each interrupted operation).
[0185] Step S614: The quantum interrupt protector resends the quantum data (which can be called interrupt quantum data) from the interrupted execution result of the current running instruction to the quantum computer, and sends the classical data from the interrupted execution result of the current running instruction to the driver. For example, the quantum interrupt protector resends the Xth... Mi The quantum data from the interrupted execution result is resent to the quantum computer, and the Xth... Mi The classic data from the interrupt execution result is sent to the driver. Execute step S615.
[0186] It should be noted that the quantum interrupt protector may specifically include a quantum random access memory (QRAM) for storing quantum data and a classical memory for storing classical data. Therefore, the quantum data in the intermediate results can be stored in the quantum random access memory of the quantum interrupt protector, while the classical data in the intermediate results can be stored in the classical memory of the quantum interrupt protector.
[0187] Step S615: The driver, based on the received Xth... Mi Based on the classic data from the interrupt execution results, determine whether the Xth interrupt needs to be processed. Mi Adjust the execution instruction X. If it is confirmed that adjustment is necessary, adjust the Xth instruction. Mi The Xth running instruction is adjusted, and the adjusted Xth instruction is... Mi The Xth instruction can be resent to the quantum computer; or, if it is determined that no adjustment is needed, the Xth instruction can be directly sent to the quantum computer. Mi The execution instructions are resent to the quantum computer. Step S616 is executed.
[0188] Step S616: The quantum computer reads the quantum data from the most recent interrupted execution result and re-executes the execution instructions corresponding to the most recent interrupted execution result based on the newly received execution instructions. For example, the quantum computer reads the Xth... Mi The quantum data in the result of the interrupted execution (which can be called interrupted quantum data) is used to re-execute the received Xth quantum data. Mi The program executes the command and returns to step S611.
[0189] Step S617: After the quantum computer successfully executes the current execution instruction, for example, after successfully completing the Xth instruction... Mi After the Xth execution instruction, Mi The Xth instruction of the execution instruction Mi The overall execution result is sent back to the quantum interrupt protector. Execute step S618.
[0190] Here, in one example, the total result of executing the run instruction may include: classical run data (such as classical measurement data) and quantum data (such as quantum states) obtained after the quantum computer has completed the execution of at least some sub-circuits in the preset quantum circuit indicated by the run instruction.
[0191] Furthermore, the classical running data contained in the overall running result can be stored in the classical memory of the quantum interrupt protector, and correspondingly, the quantum data contained in the overall running result can be saved in the quantum random access memory of the quantum interrupt protector.
[0192] Step S618: The quantum interrupt protector will... Mi The Xth instruction of the execution instruction Mi Classical running data (such as classic measurement results) from the overall running results are sent back to the driver. The process then returns to step S609 to process the next running instruction, until the current submission instruction, such as the Xth instruction, is completed. M This continues until all execution instructions for the submitted instruction are completed.
[0193] It should be noted here that, in one example, the classical execution data in the total execution result obtained from the execution instructions does not need to be returned to the driver via the quantum interrupt protector, but is directly returned to the driver. For example, when the quantum computer successfully completes the Xth execution... Mi After the Xth execution instruction, Mi The Xth instruction of the execution instruction Mi The overall execution result is directly sent back to the driver.
[0194] Here, after the quantum computer has executed all the running instructions for the current submission instruction, for example, after executing the instructions for the Xth submission instruction... M After all the execution instructions contained in the Xth submission instruction are completed, the driver can obtain the Xth instruction. M The Xth commit instruction M All classic running data in the classic submission results.
[0195] Here, the Xth M The classic submission result can include the Xth... M The total execution result of all execution instructions contained in the Xth submission instruction. Further, the Xth... M The Xth commit instruction M The set of all classic measurements in the Xth classic submission is called the Xth classic measurement set. M A classic submission result.
[0196] Furthermore, in a specific example, to conserve computational resources, the quantum interrupt protector can also clear all current data, for example, after successfully completing the Xth iteration. Mi After the execution instruction, the quantum interrupt protector can delete the stored information for the Xth instruction. Mi All intermediate results of the execution instruction; furthermore, if the quantum interrupt protector also stores the Xth instruction... Mi The Xth instruction of the execution instruction Mi In the case of the total running result, it is also possible to delete the stored result for the Xth time. Mi The Xth instruction of the execution instruction Mi The overall execution result is then used to free up computing resources and prepare for the next execution instruction.
[0197] Step S619: After the driver obtains all the classic runtime data for the current submission instruction, for example, it obtains the data for the Xth instruction... M The Xth commit instruction M All the classic running data in the Xth classic commit result (i.e., the Xth classic commit result) M After the Xth classic commit result, M The Xth commit instruction M All classic runtime data from the classic commit results are sent to the classic interrupt protector.
[0198] Step S620: The classic interrupt protector is based on all the classic running data in the classic commit result received for the current commit instruction, for example, based on the received Xth... M The Xth commit instruction M All the classic running data in the Xth classic commit result (i.e., the Xth classic commit result) M (the classic submission result), determine the Xth classic submission result. M If the submission instruction was executed successfully, proceed to step S621; otherwise, if the execution failed, the classic interrupt protector sends a resubmit instruction to the editor, returning to step S607, so that the compiler, based on the resubmit instruction, updates the current submission instruction, for example, the Xth submission instruction. M The commit command is resubmitted to the drive.
[0199] It should be noted here that the classic interrupt protector can also be based on the received Xth interrupt. M The Xth commit instruction M All classic running data in the Xth classic commit result, for the Xth... M The submission instruction, for example, for the Xth... M The Xth commit instruction is adjusted by modifying at least some of the execution instructions, thereby adjusting the Xth commit instruction. M The commit instruction is carried in the recommit instruction so that the compiler can adjust the Xth commit instruction. M The commit command was resent to the drive.
[0200] Step S621: The classical interrupt protector stores all the classical runtime data received for the current commit instruction, for example, storing the Xth interrupt data. M The Xth commit instruction M The process involves retrieving all the classic running data from the classic commit results; sending a commit request to the compiler for the next commit instruction; and returning to step S607 so that the compiler can send the next commit instruction, until all commit instructions for the current job instruction are completed, for example, all commit instructions for the Xth job instruction are completed.
[0201] Step S622: After obtaining the classic submission results of all submission instructions contained in the current job instruction, for example, after obtaining the classic submission results of each submission instruction contained in the Xth job instruction, the classic interrupt protector sends the classic submission results of each submission instruction contained in the Xth job instruction to the arithmetic unit. Then proceed to step S623.
[0202] It is understandable that the classic interrupt protector can obtain the Xth interrupt. M The Xth commit instruction M All the classic running data in the Xth classic commit result (i.e., the Xth classic commit result) M Following the Xth classic commit result, M The first classic submission result is sent to the arithmetic unit so that the arithmetic unit can process the Xth classic submission result. M The classic commit results are processed. Alternatively, the classic interrupt protector, after obtaining the classic commit results of all commit instructions contained in the Xth job instruction, then sends the classic commit results of all commit instructions contained in the Xth job instruction to the arithmetic unit.
[0203] Furthermore, after sending the classic submission results of all submission instructions contained in the Xth job instruction to the arithmetic unit, the classic interrupt protector can also delete the classic submission results of all submission instructions contained in the Xth job instruction to release computing resources and prepare for the next job instruction.
[0204] Step S623: The arithmetic unit processes the received classic submission results based on the Xth arithmetic instruction, for example, the classic submission results of all submission instructions contained in the Xth job instruction, to obtain the Xth job result of the Xth job instruction.
[0205] Step S624: The arithmetic unit sends the Xth job result of the Xth job instruction to the task controller, and proceeds to step S625.
[0206] Step S625: The task controller sends the Xth job result of the received Xth job instruction to the task memory, so that the Xth job result of the Xth job instruction can be sent or displayed to the user through the task memory; and returns to step S605 so that the task controller can send the next job instruction, until all job instructions of the complete task instruction are completed.
[0207] It should be noted that since the task storage can display the results of the received job instructions to the user, the user can not only view the final result of the target task (i.e., the result of the target task), but also the results of the intermediate process, thus further improving the user experience.
[0208] It should be noted that, in one example, the task controller can send the result of the last job instruction in the task instruction to the task memory after obtaining the result of the last job instruction in the task instruction.
[0209] Step S626: The task memory takes the job result of the last job instruction in the acquired task instructions as the target task result of the task instruction and displays the target task result to the user.
[0210] In summary, this disclosed solution provides a breakpoint resume mechanism for storing qubit information (also known as the quantum data described above), which combines high efficiency, convenience, and practicality, and can promote the development and application of quantum computing technology in various fields. Simultaneously, it can improve the reliability and stability of quantum cloud computing services, thereby reducing the probability of quantum computing task failure.
[0211] Furthermore, this disclosed solution can efficiently execute more complex quantum computing tasks, thus improving the service quality of quantum cloud computing services. Compared with other existing solutions, this disclosed solution does not require a large number of qubits, thereby saving computing resources and time, and reducing processing costs. Specifically, the effects of this disclosed solution are as follows:
[0212] First, this disclosed solution is the first to propose a method for providing breakpoint resume in the quantum cloud, and this solution can effectively store qubit information (for example, by using a quantum random access machine (QRAM) to store qubit information), which can effectively solve the problems of data loss, timeout, calculation error and security risks in classical and quantum data transmission caused by disconnection.
[0213] Secondly, this disclosed solution proposes a scheme that allows users to submit quantum computing tasks (i.e., the target tasks mentioned above) to the quantum cloud. Compared to only being able to submit one job instruction (a subtask of the quantum computing task) at a time, this disclosed solution can execute users' quantum computing tasks more efficiently.
[0214] Third, this disclosure provides a novel proxy server for storing qubit information. Specifically, this disclosure designs a proxy server comprising a task memory, a task controller, a classical interrupt protector, an arithmetic unit, a compiler, a driver, a quantum interrupt protector, and a communication module to implement a breakpoint resumption method. The quantum interrupt protector is used to save the existing qubit information in a timely manner before disconnection, so that it can continue to run after recovery. This can effectively improve the security of user data and the efficiency of task completion, thereby effectively addressing the waste of time, computing power, and other resources caused by disconnection.
[0215] Fourth, this disclosed solution can process data in units of job instructions, without requiring a large number of qubits, thus saving computing resources and time and reducing costs; moreover, it can return intermediate processing data to users in units of job instructions, thereby improving user experience and satisfaction.
[0216] Fifth, the quantum computing tasks supported by the breakpoint resume scheme proposed in this disclosure can be Local Operations and Classical Communications (LOCC) algorithms. For example, LOCC algorithms or some complex algorithms involving high-level quantum circuits can be run on a quantum cloud. In this case, if a disconnection problem occurs, this disclosure scheme can still complete the task efficiently, which is of great significance for promoting research in the quantum field.
[0217] This disclosure also provides a quantum cloud device, such as Figure 7 As shown, it includes:
[0218] Classic data unit 701, used to transfer the Xth data unit... Mi A set of execution instructions is sent to the quantum computer; wherein, the Xth instruction... Mi The execution instruction is used to instruct the quantum computer to execute the Xth instruction. Mi The quantum circuit indicated by the Xth execution instruction; Mi Each execution instruction is derived from a subtask of the target task to be executed by the quantum computer;
[0219] Quantum data unit 702, used to obtain the Xth... Mi The interrupted running data will be the Xth... Mi Quantum data from the interrupted running data is sent to the quantum computer; wherein, the Xth... Mi The interrupted execution data is that the quantum computer is executing the Xth... Mi The result obtained in the event of an interruption during the execution of a certain instruction, at least including the execution of the Xth instruction by the quantum computer. Mi The execution result obtained during the execution of each instruction, before an interruption occurs;
[0220] The classic data unit 701 is also used to transfer the Xth data unit. Mi The Xth execution instruction is sent to the quantum computer; wherein, the quantum computer is able to execute the instruction based on the received Xth instruction. Mi The quantum data in the interrupted running data re-runs the Xth... Mi One execution instruction.
[0221] In a specific example of the scheme disclosed herein, the quantum data unit 702 is further configured to acquire the information obtained by the quantum computer executing the Xth... Mi At least one intermediate result generated by each execution instruction;
[0222] The classic data unit 701 is also used for executing the Xth... Mi At least one intermediate result generated by the execution instruction yields the Xth instruction. Mi Data interrupted during operation.
[0223] In a specific example of the scheme disclosed herein, the classic data unit 701 is further configured to be based on the Xth... Mi Classic data from the interrupted running data determines the need to modify the Xth... Mi When the execution instruction is adjusted, the Xth instruction is... Mi Adjust the Xth running instruction; adjust the Xth instruction after the change. Mi The execution instructions are sent to the quantum computer.
[0224] In a specific example of the scheme disclosed herein, the quantum data unit 702 is further configured to acquire the data of the quantum computer executing the Xth... Mi The Xth instruction obtained from the execution instruction Mi The overall running result, where the Xth... Mi The overall result is that the quantum computer successfully executed the Xth iteration. Mi This is obtained under the condition of running instructions.
[0225] In a specific example of the scheme disclosed herein, the classical data unit 701 is further configured to, upon obtaining the information that the quantum computer is executing the Xth... Mi The Xth instruction obtained from the execution instruction Mi In the case of the total running result, the Xth... Mi The next execution instruction of the Xth execution instruction is sent to the quantum computer. Mi The next instruction to be executed is derived from a subtask of the target task to be executed by the quantum computer.
[0226] In a specific example of the scheme disclosed herein, the classic data unit 701 is further used for:
[0227] Generate task instructions; wherein the task instructions are used to instruct the quantum computer to execute the target task;
[0228] The task instructions are decomposed to obtain multiple submission instructions that need to be executed sequentially; wherein, the Xth... Mi The Xth execution instruction M The Xth commit instruction contains at least one of the run instructions;M The Xth commit instruction is one of the plurality of commit instructions; wherein, the Xth commit instruction is... M The Xth submission instruction is used to instruct the quantum computer to execute a preset quantum circuit; Mi Each execution instruction is used to instruct the quantum computer to execute at least a portion of the sub-circuits in the preset quantum circuit.
[0229] In a specific example of the scheme disclosed herein, the classic data unit 701 is further used for:
[0230] In determining the Xth M If the Xth commit command fails to execute, M The execution instructions contained in each submission instruction are resent to the quantum computer;
[0231] or,
[0232] In determining the Xth M If the submission instruction is successfully executed, the Xth one in the target task will be... M The execution instructions contained in the next commit instruction of the first commit instruction are sent to the quantum computer.
[0233] In a specific example of the disclosed solution, the classic data unit 701 is specifically used for:
[0234] In determining the Xth M In the event that the submission instruction fails to execute successfully, and based on the Xth... M The total execution result of all execution instructions contained in the Xth submission instruction determines the instruction that needs to be executed. M In the case of adjusting at least some of the execution instructions contained in the submission instruction, the Xth instruction... M At least some of the execution instructions contained in each submission instruction are adjusted;
[0235] After the adjustment is completed, the Xth M The execution instructions contained in each submission instruction are resent to the quantum computer.
[0236] In a specific example of the scheme disclosed herein, the classic data unit 701 is further used for:
[0237] The Xth term is determined if at least one of the following conditions is met. M One submission instruction failed to execute; wherein the conditions include:
[0238] The Xth M The submit instruction contains execution instructions that may be interrupted;
[0239] The Xth MThe classic running data in the total running result of the running instructions contained in the submission instruction does not meet the preset requirements.
[0240] In a specific example of the disclosed solution, the classic data unit 701 is specifically used for:
[0241] Based on the task logic of the target task, the task instructions are decomposed into multiple job instructions that need to be executed sequentially;
[0242] The job instructions among the plurality of job instructions are decomposed to obtain at least one submission instruction for completing the job instructions.
[0243] In a specific example of the disclosed solution, the classic data unit 701 is specifically used for:
[0244] The multiple job instructions are decomposed to obtain at least one submission instruction for completing the job instructions, and a calculation instruction for completing the job instructions.
[0245] The calculation instructions used to complete the job instruction are used to process the classic submission results of each submission instruction in at least one submission instruction corresponding to the job instruction to obtain the classic job result; the Xth... M The submission instruction is the Mth submission instruction among at least one submission instruction contained in the Xth job instruction; the Xth job instruction is one of a plurality of job instructions.
[0246] In a specific example of the scheme disclosed herein, the classic data unit 701 is further used for:
[0247] If it is determined that the submission instructions contained in each of the plurality of job instructions have been successfully executed, the target task result of the task instruction is obtained based on the classic job results of the job instructions in the plurality of job instructions.
[0248] Output the target task result of the task instruction.
[0249] For a description of the specific functions and examples of each unit of the apparatus in this disclosure embodiment, please refer to the relevant descriptions of the corresponding steps in the above method embodiments, which will not be repeated here.
[0250] This disclosure also provides a quantum cloud system, such as Figure 8 As shown, it includes:
[0251] The quantum cloud device 801 is used to transmit the first... The first set of execution instructions is sent to the quantum computer; wherein, the first set of instructions is... The first execution instruction is used to instruct the quantum computer to execute the first... The quantum circuit indicated by the first execution instruction; the first The execution instructions are obtained from sub-tasks of the target task to be executed by the quantum computer; obtain the first... One interrupted running data; wherein, the first The interrupted execution data is that the quantum computer is executing the Xth... Mi The result obtained in the event of an interruption during the execution of a certain instruction, at least including the execution of the Xth instruction by the quantum computer. Mi The execution result obtained during the execution of each instruction, before the interruption occurs; the Xth instruction... Mi Quantum data in the interrupted running data, and the Xth... Mi A set of execution instructions are sent to the quantum computer;
[0252] The quantum computer 802 is used to base on the received Xth... Mi Quantum data from the interrupted running data, re-running the Xth... Mi One execution instruction.
[0253] The specific functions and examples of the quantum cloud devices and quantum computers included in the system of this disclosure can be found in the relevant descriptions of the corresponding steps in the above method embodiments, and will not be repeated here.
[0254] This disclosure also provides a non-transitory computer-readable storage medium storing computer instructions that, when executed by at least one quantum processing unit, cause the at least one quantum processing unit to perform the method described above using a quantum computing device.
[0255] This disclosure also provides a computer program product, including a computer program that, when executed by a processor, implements the methods described above for use in classical computing devices.
[0256] Alternatively, the computer program, when executed by at least one quantum processing unit, implements the method applied to a quantum computing device.
[0257] This disclosure also provides a quantum computing device, the quantum computing device comprising:
[0258] At least one quantum processing unit;
[0259] A memory, coupled to the at least one QPU and used to store executable instructions,
[0260] The instructions are executed by the at least one quantum processing unit to enable the at least one quantum processing unit to perform the method applied to the quantum computing device.
[0261] It is understood that the QPU used in the present disclosure, also known as a quantum processor or quantum chip, may involve a physical chip comprising multiple qubits interconnected in a specific manner.
[0262] Furthermore, it is understood that the qubit described in this disclosure can refer to the basic information unit of a quantum computing device. The qubit is contained within the QPU and extends the concept of the classical digital bit.
[0263] According to embodiments of this disclosure, this disclosure also provides a computing device, a readable storage medium, and a computer program product.
[0264] Figure 9 A schematic block diagram of an example computing device 900 that can be used to implement embodiments of the present disclosure is shown. The computing device is intended to represent various forms of digital computers, such as laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The computing device can also represent various forms of mobile devices, such as personal digital assistants, cellular phones, smartphones, wearable devices, and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely illustrative and are not intended to limit the implementation of the present disclosure described and / or claimed herein.
[0265] like Figure 9 As shown, device 900 includes a computing unit 901, which can perform various appropriate actions and processes based on a computer program stored in read-only memory (ROM) 902 or a computer program loaded from storage unit 908 into random access memory (RAM) 903. RAM 903 may also store various programs and data required for the operation of device 900. The computing unit 901, ROM 902, and RAM 903 are interconnected via bus 904. Input / output (I / O) interface 905 is also connected to bus 904.
[0266] Multiple components in device 900 are connected to I / O interface 905, including: input unit 906, such as keyboard, mouse, etc.; output unit 907, such as various types of monitors, speakers, etc.; storage unit 908, such as disk, optical disk, etc.; and communication unit 909, such as network card, modem, wireless transceiver, etc. Communication unit 909 allows device 900 to exchange information / data with other devices through computer networks such as the Internet and / or various telecommunications networks.
[0267] The computing unit 901 can be a variety of general-purpose and / or special-purpose processing components with processing and computing capabilities. Some examples of the computing unit 901 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various special-purpose artificial intelligence (AI) computing chips, various computing units running machine learning model algorithms, a digital signal processor (DSP), and any suitable processor, controller, microcontroller, etc. The computing unit 901 performs the various methods and processes described above, such as quantum cloud computing processing methods. For example, in some embodiments, the quantum cloud computing processing methods can be implemented as a computer software program tangibly contained in a machine-readable medium, such as storage unit 908. In some embodiments, part or all of the computer program can be loaded and / or installed on device 900 via ROM 902 and / or communication unit 909. When the computer program is loaded into RAM 903 and executed by the computing unit 901, one or more steps of the quantum cloud computing processing methods described above can be performed. Alternatively, in other embodiments, the computing unit 901 can be configured to perform quantum cloud computing processing methods by any other suitable means (e.g., by means of firmware).
[0268] Various embodiments of the systems and techniques described above herein can be implemented in digital electronic circuit systems, integrated circuit systems, field-programmable gate arrays (FPGAs), application-specific integrated circuits (ASICs), application-specific standard products (ASSPs), systems-on-a-chip (SoCs), payload-programmable logic devices (CPLDs), computer hardware, firmware, software, and / or combinations thereof. These various embodiments may include implementations in one or more computer programs that can be executed and / or interpreted on a programmable system including at least one programmable processor, which may be a dedicated or general-purpose programmable processor, capable of receiving data and instructions from a storage system, at least one input device, and at least one output device, and transmitting data and instructions to the storage system, the at least one input device, and the at least one output device.
[0269] The program code used to implement the methods of this disclosure may be written in any combination of one or more programming languages. This program code may be provided to a processor or controller of a general-purpose computer, special-purpose computer, or other programmable data processing apparatus, such that when executed by the processor or controller, the program code causes the functions / operations specified in the flowcharts and / or block diagrams to be implemented. The program code may be executed entirely on a machine, partially on a machine, as a standalone software package partially on a machine and partially on a remote machine, or entirely on a remote machine or server.
[0270] In the context of this disclosure, a machine-readable medium can be a tangible medium that may contain or store a program for use by or in conjunction with an instruction execution system, apparatus, or device. A machine-readable medium can be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium can be, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatus, or devices, or any suitable combination of the foregoing. More specific examples of machine-readable storage media include electrical connections based on one or more wires, portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination of the foregoing.
[0271] To provide interaction with a user, the systems and techniques described herein can be implemented on a computer having: a display device for displaying information to the user (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor); and a keyboard and pointing device (e.g., a mouse or trackball) through which the user provides input to the computer. Other types of devices can also be used to provide interaction with the user; for example, feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form (including sound input, voice input, or tactile input).
[0272] The systems and technologies described herein can be implemented in computing systems that include backend components (e.g., as a data server), or computing systems that include middleware components (e.g., an application server), or computing systems that include frontend components (e.g., a user computer with a graphical user interface or web browser through which a user can interact with embodiments of the systems and technologies described herein), or any combination of such backend, middleware, or frontend components. The components of the system can be interconnected via digital data communication of any form or medium (e.g., a communication network). Examples of communication networks include local area networks (LANs), wide area networks (WANs), and the Internet.
[0273] Computer systems can include clients and servers. Clients and servers are generally located far apart and typically interact via communication networks. Client-server relationships are created by computer programs running on the respective computers and having a client-server relationship with each other. Servers can be cloud servers, servers in distributed systems, or servers incorporating blockchain technology.
[0274] It should be understood that the various forms of processes shown above can be used to rearrange, add, or delete steps. For example, the steps described in this disclosure can be executed in parallel, sequentially, or in different orders, as long as the desired result of the technical solution disclosed in this disclosure can be achieved, and this is not limited herein.
[0275] The specific embodiments described above do not constitute a limitation on the scope of protection of this disclosure. Those skilled in the art should understand that various modifications, combinations, sub-combinations, and substitutions can be made according to design requirements and other factors. Any modifications, equivalent substitutions, and improvements made within the principles of this disclosure should be included within the scope of protection of this disclosure.
Claims
1. A quantum cloud computing processing method applied to a quantum cloud device, the quantum cloud device including a driver and a quantum interrupt protector, the method comprising: Through the driver, the first The first set of execution instructions is sent to the quantum computer; wherein, the first set of instructions is... The first execution instruction is used to instruct the quantum computer to execute the first... The quantum circuit indicated by the first execution instruction; the first Each execution instruction is derived from a subtask of the target task to be executed by the quantum computer; By using a quantum interrupt protector, the quantum computer can execute the first... At least one intermediate result generated by each execution instruction; The quantum interrupt protector, in the event that an interruption occurs during the execution of the current running instruction by the quantum computer, is based on the execution of the first... At least one intermediate result generated by the execution instruction yields the first... One interrupted running data; wherein, the first The interrupted data is generated during the execution of the first... The result obtained in the event of an interruption during the execution of the first instruction, at least including the quantum computer executing the first instruction. The execution result obtained during the execution of each instruction, before an interruption occurs; Through the quantum interrupt protector, the first The quantum data from the interrupted running data is sent to the quantum computer, and the first quantum data is sent to the quantum computer via the driver. The first execution instruction is sent to the quantum computer; wherein, the quantum computer is able to execute the first instruction based on the received instruction. The quantum data in the interrupted running data is re-runned as described in the first... One execution instruction.
2. The method according to claim 1, further comprising: Through the driver, based on the first The classic data from the interrupted running data determines the need to modify the first... When the execution instruction is adjusted, the first one... Adjust the execution instructions; Among them, the quantum interrupt protector will protect the first... The quantum data from the interrupted running data is sent to the quantum computer, and the first quantum data is sent to the quantum computer via the driver. Several execution instructions are sent to the quantum computer, including: Through the quantum interrupt protector, the first The quantum data from the interrupted running data is sent to the quantum computer, and the adjusted data from the first interrupted running data is sent to the quantum computer via the driver. The first execution instruction is sent to the quantum computer; wherein, the quantum computer is able to execute the first instruction based on the received instruction. The quantum data from the interrupted running data was re-run and adjusted. One execution instruction.
3. The method according to claim 1, further comprising: The quantum interrupt protector obtains the execution of the first quantum computer. The result of the first running instruction The final execution result, wherein the first... The overall result is that the quantum computer successfully executed the [number]th [operation]. This is obtained under the condition of running instructions.
4. The method according to claim 3, further comprising: After obtaining the quantum computer executing the first... The result of the first running instruction In the case of the overall running result, the first result will be transmitted through the driver. The next execution instruction of the first execution instruction is sent to the quantum computer, and the first execution instruction is sent to the quantum computer. The next instruction to be executed is derived from a subtask of the target task to be executed by the quantum computer.
5. The method according to any one of claims 1-4, wherein, The first The execution instruction is the first The first submission instruction contains at least one of the execution instructions; the first The submission instruction is one of multiple submission instructions that need to be executed sequentially after the task instruction is decomposed; the task instruction is used to instruct the quantum computer to execute the target task; Among them, the first The first submission instruction is used to instruct the quantum computer to execute a preset quantum circuit; the first... Each execution instruction is used to instruct the quantum computer to execute at least a portion of the sub-circuits in the preset quantum circuit.
6. The method according to claim 5, further comprising: In determining the first If the first commit command fails to execute, then via the driver, the first... The execution instructions contained in each submission instruction are resent to the quantum computer; or, In determining the first If the first submission instruction is successfully executed, the driver will transfer the first submission instruction from the target task. The execution instructions contained in the next commit instruction of the first commit instruction are sent to the quantum computer.
7. The method according to claim 6, wherein, The determination of the first If the first commit command fails to execute, then via the driver, the first... The execution instructions contained in each submission instruction are resent to the quantum computer, including: In determining the first In the event that the first submission instruction fails to execute successfully, and based on the first... The total execution result of all execution instructions contained in the first submission instruction determines the need to modify the first one. In the case where at least some of the execution instructions contained in the submission instruction are adjusted, the driver will adjust the first... At least some of the execution instructions contained in each submission instruction are adjusted; After adjustment, via the driver, the first... The execution instructions contained in each submission instruction are resent to the quantum computer.
8. The method according to claim 6, further comprising: The first is determined if at least one of the following conditions is met. One submission instruction failed to execute; wherein the conditions include: The first The submit instruction contains execution instructions that may be interrupted; The first The classic running data in the total running result of the running instructions contained in the submission instruction does not meet the preset requirements.
9. The method according to claim 5, wherein, The multiple submission instructions that need to be executed sequentially are based on the task logic of the target task. The task instructions are decomposed into multiple job instructions that need to be executed sequentially, and the job instructions among the multiple job instructions are further decomposed.
10. The method according to claim 9, wherein, The process of decomposing the multiple work instructions further yields: arithmetic instructions for completing the work instructions; The arithmetic instructions used to complete the job instruction are used to process the classic submission results of each submission instruction in at least one submission instruction corresponding to the job instruction to obtain the classic job result; the first The submission instruction is the Mth submission instruction among at least one submission instruction contained in the Xth job instruction; the Xth job instruction is one of a plurality of job instructions.
11. The method according to claim 10, wherein the quantum cloud device further comprises a task controller and a task memory; the method further comprises: If it is determined that the submission instructions contained in each of the plurality of job instructions have been successfully executed, the target task result of the task instruction is obtained by the task controller based on the classic job results of the job instructions among the plurality of job instructions. The target task result of the task instruction is output through the task memory.
12. A method for processing quantum cloud computing, comprising: quantum Cloud devices and quantum computers, wherein the quantum cloud devices include drivers and quantum interrupt protectors; wherein, Through the driver in the quantum cloud device, the first The first set of execution instructions is sent to the quantum computer; wherein, the first set of instructions is... The first execution instruction is used to instruct the quantum computer to execute the first... The quantum circuit indicated by the first execution instruction; the first The execution instructions are derived from sub-tasks of the target task to be executed by the quantum computer; through the quantum interrupt protector in the quantum cloud device, the execution of the quantum computer is obtained. At least one intermediate result generated by a running instruction; and, through the quantum interrupt protector in the quantum cloud device, in the event that an interruption occurs during the execution of the current running instruction by the quantum computer, based on the execution of the first... At least one intermediate result generated by the execution instruction yields the first... One interrupted running data; wherein, the first The interrupted data is generated during the execution of the first... The result obtained in the event of an interruption during the execution of the first instruction, at least including the quantum computer executing the first instruction. The execution result obtained during the execution of each instruction and before an interruption occurs; through the quantum interrupt protector in the quantum cloud device, the result of the first instruction is... The quantum data from the interrupted running data is sent to the quantum computer, and the quantum cloud device's driver transmits the quantum data from the interrupted running data to the quantum computer. A set of execution instructions are sent to the quantum computer; Using the quantum computer, based on the received first The quantum data in the interrupted running data, re-running the first... One execution instruction.
13. A quantum cloud device, comprising: Classic data unit, used to transfer the first data unit via a driver. The first set of execution instructions is sent to the quantum computer; wherein, the first set of instructions is... The first execution instruction is used to instruct the quantum computer to execute the first... The quantum circuit indicated by the first execution instruction; the first Each execution instruction is derived from a subtask of the target task to be executed by the quantum computer; Quantum data units are used to acquire the quantum computer's execution of the first quantum data unit via a quantum interrupt protector. At least one intermediate result generated by a running instruction; in the event that an interruption occurs during the execution of the current running instruction by the quantum interrupt protector, based on the execution of the first... At least one intermediate result generated by the execution instruction yields the first... One interrupted running data; wherein, the first The interrupted data is generated during the execution of the first... The result obtained in the event of an interruption during the execution of the first instruction, at least including the quantum computer executing the first instruction. The execution result obtained during the execution of each instruction, before an interruption occurs; The classical data unit is also used to transmit the first... The quantum data from the interrupted running data is sent to the quantum computer, and the first quantum data is sent to the quantum computer via the driver. The first execution instruction is sent to the quantum computer; wherein, the quantum computer is able to execute the first instruction based on the received instruction. The quantum data in the interrupted running data is re-runned as described in the first... One execution instruction.
14. The quantum cloud device according to claim 13, wherein, The classic data unit is also used to transmit data via a driver, based on the first... The classic data from the interrupted running data determines the need to modify the first... When the execution instruction is adjusted, the first one... Adjust the execution instructions; Through the driver, the adjusted first The execution instructions are sent to the quantum computer.
15. The quantum cloud device according to claim 13, wherein, The quantum data unit is also used to obtain the execution of the first quantum computer via a quantum interrupt protector. The result of the first running instruction The final execution result, wherein the first... The overall result is that the quantum computer successfully executed the [number]th [operation]. This is obtained under the condition of running instructions.
16. The quantum cloud device according to claim 15, wherein, The classical data unit is also used to acquire the data when the quantum computer executes the first... The result of the first running instruction In the case of the overall running result, the first result will be transmitted through the driver. The next execution instruction of the first execution instruction is sent to the quantum computer, and the first execution instruction is sent to the quantum computer. The next instruction to be executed is derived from a subtask of the target task to be executed by the quantum computer.
17. The quantum cloud device according to any one of claims 13-16, wherein, The first The execution instruction is the first The first submission instruction contains at least one of the execution instructions; the first The submission instruction is one of multiple submission instructions that need to be executed sequentially after the task instruction is decomposed; the task instruction is used to instruct the quantum computer to execute the target task; Among them, the first The first submission instruction is used to instruct the quantum computer to execute a preset quantum circuit; the first... Each execution instruction is used to instruct the quantum computer to execute at least a portion of the sub-circuits in the preset quantum circuit.
18. The quantum cloud device according to claim 17, wherein, The classic data unit is also used for: In determining the first If the first commit command fails to execute, then via the driver, the first... The execution instructions contained in each submission instruction are resent to the quantum computer; or, In determining the first If the first submission instruction is successfully executed, the driver will transfer the first submission instruction from the target task. The execution instructions contained in the next commit instruction of the first commit instruction are sent to the quantum computer.
19. The quantum cloud device according to claim 18, wherein, The classic data unit is specifically used for: In determining the first In the event that the first submission instruction fails to execute successfully, and based on the first... The total execution result of all execution instructions contained in the first submission instruction determines the need to modify the first one. In the case where at least some of the execution instructions contained in the submission instruction are adjusted, the driver will adjust the first... At least some of the execution instructions contained in each submission instruction are adjusted; After adjustment, via the driver, the first... The execution instructions contained in each submission instruction are resent to the quantum computer.
20. The quantum cloud device according to claim 18, wherein, The classic data unit is also used for: The first is determined if at least one of the following conditions is met. One submission instruction failed to execute; wherein the conditions include: The first The submit instruction contains execution instructions that may be interrupted; The first The classic running data in the total running result of the running instructions contained in the submission instruction does not meet the preset requirements.
21. The quantum cloud device according to claim 17, wherein, The multiple submission instructions that need to be executed sequentially are based on the task logic of the target task. The task instructions are decomposed into multiple job instructions that need to be executed sequentially, and the job instructions among the multiple job instructions are further decomposed.
22. The quantum cloud device according to claim 21, wherein, The process of decomposing the multiple work instructions further yields: arithmetic instructions for completing the work instructions; The arithmetic instructions used to complete the job instruction are used to process the classic submission results of each submission instruction in at least one submission instruction corresponding to the job instruction to obtain the classic job result; the first The submission instruction is the Mth submission instruction among at least one submission instruction contained in the Xth job instruction; the Xth job instruction is one of a plurality of job instructions.
23. The quantum cloud device according to claim 22, wherein, The classic data unit is also used for: If it is determined that the submission instructions contained in each of the plurality of job instructions have been successfully executed, the target task result of the task instruction is obtained by the task controller based on the classic job results of the job instructions among the plurality of job instructions. The target task result of the task instruction is output through the task memory.
24. A quantum cloud system, comprising: quantum Cloud devices and quantum computers, wherein the quantum cloud devices include drivers and quantum interrupt protectors; wherein, The driver in the quantum cloud device is used to... The first set of execution instructions is sent to the quantum computer; wherein, the first set of instructions is... The first execution instruction is used to instruct the quantum computer to execute the first... The quantum circuit indicated by the first execution instruction; the first Each execution instruction is derived from a subtask of the target task to be executed by the quantum computer; The quantum interrupt protector in the quantum cloud device is used to obtain the quantum computer's execution of the first... At least one intermediate result generated by a running instruction; and, through the quantum interrupt protector in the quantum cloud device, in the event that an interruption occurs during the execution of the current running instruction by the quantum computer, based on the execution of the first... At least one intermediate result generated by the execution instruction yields the first... One interrupted running data; wherein, the first The interrupted data is generated during the execution of the first... The result obtained in the event of an interruption during the execution of the first instruction, at least including the quantum computer executing the first instruction. The execution result obtained during the execution of each instruction, before an interruption occurs; The quantum interrupt protector in the quantum cloud device is also used to prevent the first... The quantum data from the interrupted operation data is sent to the quantum computer; correspondingly, the driver in the quantum cloud device is also used to send the quantum data from the interrupted operation data to the quantum computer. A set of execution instructions are sent to the quantum computer; The quantum computer is used to analyze the received data from the first quantum computer. The quantum data in the interrupted running data, re-running the first... One execution instruction.
25. A computing device, comprising: At least one quantum processing unit (QPU); A memory, coupled to the at least one QPU and used to store executable instructions, The instructions are executed by the at least one QPU to enable the at least one QPU to perform the method of any one of claims 1-12; Or, including: At least one processor; and A memory communicatively connected to the at least one processor; wherein, The memory stores instructions that can be executed by the at least one processor to enable the at least one processor to perform the method of any one of claims 1-12.
26. A non-transitory computer-readable storage medium storing computer instructions, characterized in that, When at least one quantum processing unit is executed, the computer instructions cause the at least one quantum processing unit to perform the method according to any one of claims 1-12; Alternatively, the computer instructions are used to cause the computer to perform the method according to any one of claims 1-12.
27. A computer program product comprising a computer program that, when executed by at least one quantum processing unit, implements the method according to any one of claims 1-12; Alternatively, the computer program, when executed by a processor, implements the method according to any one of claims 1-12.