Method, computer system and computer
By calculating the quantum bit or volume requirements in a classical computer, selecting the appropriate computer and generating control signals, the processing optimization problem in the mixed existence of quantum computers and classical computers is solved, improving computing efficiency and resource utilization.
Patent Information
- Application Number
- CN202080088103.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2019-12-19
- Filing Date
- 2020-12-15
- Publication Date
- 2025-09-19
- Estimated Expiration
- 2040-12-15
AI Technical Summary
How to optimize processing when quantum computers and classical computers coexist, especially how to efficiently distribute and execute computing tasks when the number of quantum bits is limited or different quantum computers coexist.
By calculating the required quantum bit or quantum volume size in a classical computer, selecting an appropriate computer to perform the processing, and generating control signals to instruct the quantum computer to execute the quantum algorithm, or distributing the task among multiple computers for optimization.
It achieves the optimization of processing in a hybrid computing environment and improves computing efficiency and resource utilization.
Smart Images

Figure CN114846479B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to a method, a computer system and a computer. Background Art
[0002] Quantum computers are computers that perform calculations under a different computing paradigm from classical computers. Quantum computers use unitary matrices based on a specific quantum algorithm, such as Shore's prime factorization algorithm or Grover's search algorithm, to generate computational results based on an initially generated quantum state, such as a quantum entangled state.
[0003] Quantum computing simulation and execution environments are provided as cloud services, such as Azure (registered trademark) Quantum, AWS (registered trademark) Braket, and IBM Q-Experience (registered trademark). These cloud services provide, for example, a testing and simulation environment for quantum algorithms on classical computers, and can also execute developed quantum algorithms on quantum hardware such as gate-based superconducting computers, quantum annealing superconducting computers, and ion trap computers.
[0004] Here, to illustrate the difference between quantum computers and classical computers, for example, in the case of molecular orbital calculations, quantum computers can scale more slowly with the number of atoms N compared to classical computers. Furthermore, it is difficult to build quantum computers with a large number of qubits, limiting their number of qubits. Therefore, depending on the size of the required processing, it may be desirable to choose between using a classical computer or a quantum computer for the calculation.
[0005] Furthermore, algorithms are known that utilize both classical and quantum computers, rather than relying solely on quantum computers for all calculations. For example, the VQE (Variational Quantum Eigensolver) uses the calculus of variations to determine the expectation value of the Hamiltonian operator based on a predetermined trial wave function generated by a quantum computer. The result is then processed on a classical computer, thereby integrating a quantum computer algorithm into a classical computer based on the calculus of variations.
[0006] Furthermore, consider the case of performing calculations using multiple quantum computers with different quantum bits.
[0007] Non-Patent Literature 1: Kandala, A., Mezzacapo, A., Temme, K. et al., Nature, 2017, Vol. 549, pp. 242-246 Summary of the Invention
[0008] The purpose of the present invention is to optimize processing when a classical computer and a quantum computer coexist, or when a plurality of quantum computers coexist.
[0009] To solve the aforementioned problems and achieve the objectives, the present invention relates to a method for selecting a computer to perform a given process when a given process is performed using a quantum algorithm or a combination of a classical algorithm and a quantum algorithm. The method comprises a calculation step, a selection step, and a control step. The calculation step calculates the quantum bits or quantum volume required to perform the given process using the quantum algorithm, or the quantum bits or quantum volume required for a portion of the quantum algorithm when the given process is performed using the combination algorithm. The selection step selects a computer to perform the given process based on the quantum bits or quantum volume calculated in the calculation step. The control step, when the computer selected in the selection step includes a quantum computer, generates a control signal, which is sent to the quantum computer, instructing the quantum computer to initiate the quantum algorithm.
[0010] Furthermore, the computer system according to the present invention includes a classical computer and multiple computers. The classical computer performs a process of selecting a computer from multiple computers to perform a given process when performing the given process using a quantum algorithm or a combination of a classical algorithm and a quantum algorithm. The multiple computers include at least one quantum computer. The classical computer includes a calculation unit, a distribution unit, and a transmission unit. The calculation unit calculates the quantum bits or quantum volume required to perform the given process using the quantum algorithm, or the quantum bits or quantum volume required for the portion of the quantum algorithm when performing the given process using a combination algorithm. The distribution unit selects a computer to perform the given process based on the quantum bits or quantum volume calculated by the calculation unit. If the computer selected by the distribution unit includes a quantum computer, the transmission unit transmits an instruction to the quantum computer to initiate the quantum algorithm.
[0011] Furthermore, the computer involved in the present invention is a classical computer that performs a process of selecting a computer from multiple computers to perform a given process when performing a given process using a quantum algorithm or a combination of a classical algorithm and a quantum algorithm. A calculation unit calculates the quantum bits or quantum volume required to perform the given process using the quantum algorithm, or the quantum bits or quantum volume required for the portion of the quantum algorithm when performing the given process using a combination algorithm. A dispatch unit selects a computer to perform the given process based on the quantum bits or quantum volume calculated by the calculation unit. If the computers selected by the dispatch unit include a quantum computer, a transmission unit transmits an instruction to the quantum computer to initiate the quantum algorithm.
[0012] According to the present invention, it is possible to optimize processing when a classical computer and a quantum computer coexist, or when a plurality of quantum computers coexist. BRIEF DESCRIPTION OF THE DRAWINGS
[0013] Figure 1 This is a diagram showing an overview of a computer system according to an embodiment of the present invention.
[0014] Figure 2A This is a diagram for explaining the background related to the embodiment.
[0015] Figure 2B This is a diagram for explaining the background related to the embodiment.
[0016] Figure 3 This is a flowchart showing the flow of processing executed by the program according to the first embodiment.
[0017] Figure 4 This is a flowchart showing the flow of processing executed by the program according to the first modification example of the first embodiment.
[0018] Figure 5 This is a flowchart showing the flow of processing executed by the program according to the second embodiment.
[0019] Figure 6 Yes Figure 5 A flowchart illustrating the processing of step S200 in detail. DETAILED DESCRIPTION
[0020] Hereinafter, a method, a computer system, and a computer according to embodiments of the present invention will be described with reference to the accompanying drawings.
[0021] (First embodiment)
[0022] Figure 1This diagram schematically illustrates a computer system 1 according to an embodiment of the present invention. Computer system 1 includes a conventional classical computer 100 for controlling other computers, classical computers 200a, 200b, 200c, etc., which perform calculations using conventional methods without using quantum computing, and quantum computers 300a, 300b, 300c, etc., which perform calculations using quantum computing. Classical computers 100, 200a, 200b, 200c are, for example, computers in the general sense that can be represented as Turing machines, such as Norman-type computers.
[0023] In addition, the structure of the computer system 1 may be a structure having two or more computers selected from the group consisting of classical computers 200a, 200b, 200c... and quantum computers 300a, 300b, 300c..., or a structure having only a quantum computer or both a classical computer and a quantum computer.
[0024] Classical computer 100 is a computer for controlling other computers (classical computers 200a, 200b, 200c, ..., quantum computers 300a, 300b, 300c), and includes a processing circuit 10, a storage unit 20, a display 30, and an input device 40. Processing circuit 10 includes a calculation function 10a, a selection function 10b, a control function 10c, a partition determination function 10d, a partition function 10e, a display control function 10f, and a generation function 10g.
[0025] The processing circuit 10 is a processor (e.g., a CPU (Central Processing Unit), a GPU (Graphical Processing Unit), an ASIC (Application Specific Integrated Circuit), a PLD (Programmable Logic Device), etc.) that implements functions such as a calculation function 10a and a selection function 10b by reading and executing programs from a storage unit 20. Specifically, processing functions such as the calculation function 10a, the selection function 10b, the control function 10c, the partition determination function 10d, the partition function 10e, the display control function 10f, and the generation function 10g are stored in the storage unit 20 in the form of programs executable by the processor. Thus, the processing circuit 10, having read the program status, includes functions such as a calculation function 10a, a selection function 10b, a control function 10c, a segmentation decision function 10d, a segmentation function 10e, a display control function 10f, and a generation function 10g. This allows the classical computer 100 to execute the calculation step via the calculation function 10a, the selection step via the selection function 10b, the control step via the control function 10c, the segmentation decision step via the segmentation decision function 10d, the segmentation step via the segmentation function 10e, the display step via the display control function 10f, and the generation step via the generation function 10g. Specifically, the calculation function 10a, the selection function 10b, the control function 10c, the segmentation decision function 10d, the segmentation function 10e, the display control function 10f, and the generation function 10g correspond to the calculation unit, the allocation unit (selection unit), the control unit, the segmentation decision unit, the segmentation unit, the display control unit, and the generation unit, respectively. Details of the processing performed by each function of the processing circuit 10 will be described later. Furthermore, the control function 10 c is also an example of a transmission unit having a function of transmitting various types of information.
[0026] The storage unit 20 is a storage area such as RAM (Random Access Memory), ROM (Read Only Memory), flash memory, or a hard disk, and stores various programs executed by the processing circuit 10 and the execution results of the various programs.
[0027] The display 30 displays various information. For example, it displays CPU processing results and a graphical user interface (GUI) for accepting various user operations. The display 30 is comprised of, for example, a liquid crystal display, an organic EL (electroluminescence) display, or a cathode ray tube display. Alternatively, the input device 40 and the display 30 may be integrated, for example, in the form of a touch panel.
[0028] The input device 40 is a device for the user to perform various operations and is composed of, for example, a mouse, a keyboard, a touch panel, or hardware keys.
[0029] In addition, the embodiment is not limited to the above-mentioned example. According to the embodiment, the storage unit 20, the display 30, the input device 40, etc. are not necessary components of the classical computer 100, that is, the classical computer 100 may not include the storage unit 20, the display 30, the input device 40, etc. In addition, as another example, the storage unit 20, the display 30, the input device 40, etc. may also be configured outside the classical computer 100 via a network to exchange data with the processing circuit 10. In addition, the classical computer 100 may also be composed of two or more classical computers. For example, the classical computer may also have a first classical computer having a computing function 10a, and a second classical computer connected to the first classical computer via a network and having a distribution function (selection function 10b) and a control function 10c as a sending unit.
[0030] Classical computer 100 performs calculations used to control other computers. In contrast, classical computers 200a, 200b, 200c, etc., perform the processing themselves, such as quantum chemical calculations. For example, classical computer 200a, like classical computer 100, includes a processing circuit 10x similar to processing circuit 10 and a storage unit 20x similar to storage unit 20. Furthermore, processing circuit 10x does not necessarily have all the functions of processing circuit 10. Similarly, classical computers 200b, 200c, etc. also include a processing circuit similar to processing circuit 10 and a storage unit similar to storage unit 20.
[0031] Quantum computers 300a, 300b, and 300c are quantum computers that perform calculations using quantum states. For example, quantum computer 300a includes a quantum information generator 50 that generates an initial quantum state, a plurality of quantum gates 60, a quantum gate controller 70, and a measurement unit 80.
[0032] To describe a typical example of the operation of a quantum computer, the processing circuit 10 transmits a control signal for generating an initial quantum state to the quantum computer 300a via the control function 10c serving as a transmitter. The quantum computer 300a, having received the control signal for generating the initial quantum state from the classical computer 100, generates an initial quantum state, such as a quantum entangled state, via the quantum information generator 50.
[0033] Quantum gate 60 acts on the generated quantum state, causing it to change. The effect of quantum gate 60 on the quantum state can be expressed as a unitary matrix. Furthermore, quantum gate control unit 70 changes the operation of quantum gate 60, i.e., the unitary matrix. Measurement unit 80 measures the quantum state that has passed through quantum gate 60. Thus, quantum computer 300a can obtain the measurement results of measurement unit 80 as output data.
[0034] The computer system 1 may also include a user terminal 400 for receiving information input from a user or displaying information to the user. As an example, the user terminal 400 may include a display 30z and an input device 40z on the user terminal side, similar to the display 30 and the input device 40.
[0035] Next, the background of the embodiment will be briefly described.
[0036] Quantum computers are computers that perform calculations under a different computing paradigm from classical computers. For example, a quantum computer uses a unitary matrix to measure the generated quantum state, such as an initially generated quantum entangled state, based on a specific quantum algorithm, such as Shore's prime factorization algorithm or Grover's search algorithm, and generates a calculation result.
[0037] Quantum computing simulation and execution environments are provided in the form of cloud services such as Azure (registered trademark) Quantum, AWS (registered trademark) Braket, and IBM Q-Experience (registered trademark). These cloud services provide, for example, a testing and simulation environment for quantum algorithms on classical computers, and can also execute developed quantum algorithms on quantum hardware such as gate-based superconducting computers, quantum annealing superconducting computers, and ion trap computers.
[0038] Here, regarding the difference between quantum computers and classical computers, for example, if we take molecular orbital calculations as an example, Figure 2A As shown in the figure, in a classical computer, if the number of atoms N increases, the calculation time increases dramatically. For example, the calculation time is as long as N. 6 On the other hand, if Figure 2BAs shown, in a quantum computer, the computation time does not increase significantly relative to the number of atoms N. For example, the computation time is proportional to the number of atoms N. However, it is currently difficult to build a quantum computer with large qubits, and there are limitations on the number of qubits. Therefore, depending on the size of the processing required, it may be desirable to determine whether to use a classical computer or a quantum computer for the calculation.
[0039] Furthermore, given the difficulty of building a quantum computer with large qubits, there are known algorithms that utilize both classical algorithms executed by a classical computer and quantum algorithms executed by a quantum computer, rather than performing all calculations using the quantum algorithm of the quantum computer. An example of such a combined algorithm is VQE (Variational Quantum Eigensolver). VQE uses the calculus of variations as a basis, measuring the expected value of the Hamiltonian operator based on a predetermined trial wave function generated by a quantum computer. The results of the measurement are then processed on a classical computer, thereby integrating the quantum computer's algorithm into the classical computer using the calculus of variations as a basis.
[0040] In addition to using algorithms that utilize both classical and quantum computers, it is also possible to split a given process into one for a classical computer and one for a quantum computer, with each computer performing each process, thereby performing parallel computation. Furthermore, when multiple quantum computers with different numbers of qubits share a given process, it is also possible to split the given process into one for each quantum computer, with each computer performing each process, thereby performing parallel computation.
[0041] The embodiment is based on the above-mentioned background and aims to optimize processing when processing is performed by a plurality of computers including at least one quantum computer.
[0042] Figure 3 1 is a flowchart showing the flow of processing executed by the program according to the first embodiment. In the following, a case where molecular orbital calculation of a compound is performed as an example of the calculation processing will be described.
[0043] First, in step S100, processing circuit 10 retrieves information such as the structure of a compound from a storage unit and prepares to perform a given process, such as a process of performing a quantum chemical calculation on the given chemical structure. Specifically, processing circuit 10 prepares to perform a process of performing a quantum chemical calculation using a chemical structure read from storage unit 20, which stores a list of chemical structures, as the given chemical structure.
[0044] Next, in step S110, the processing circuit 10 calculates the required quantum bits (qubits) or the required quantum volume using the calculation function 10a. Specifically, the program according to the embodiment causes the classical computer 100 to perform the following calculation steps in step S110: The program calculates the required quantum bits or the required quantum volume required to perform a given process using a quantum algorithm, such as performing a quantum chemical calculation on a given chemical structure, or the required quantum bits or the required quantum volume required for the portion of the quantum algorithm when performing the given process using a combined algorithm. Here, the required quantum volume refers to the required quantum volume, i.e., the scale of quantum calculations that can be performed, i.e., the dimensions of space and time. Quantum volume is an indicator calculated by adding the amount of errors generated to the simple number of quantum bits.
[0045] Furthermore, when calculating the required qubits or required quantum volume calculated by processing circuit 10 in step S110, processing circuit 10 may also use computation function 10a to calculate the required qubits or required quantum volume with a slight margin, or preferably calculate the required qubits or required quantum volume with a slight margin. The margin can be arbitrarily set based on the type of computation, the required computation speed, the computer's capabilities, queue congestion, and the like.
[0046] As a method for calculating the required quantum bit or quantum volume, for example, the processing circuit 10 uses the calculation function 10a to calculate the required quantum bit or quantum volume based on a table representing the relationship between the number of atoms and the quantum bits or quantum volume required for molecular orbital calculations for that number of atoms, and the number of atoms. This table is created, for example, by extrapolating the number of atoms when the number of atoms is large to accurately estimate the relationship between the number of atoms and the required quantum bits or quantum volume when the amount of calculation is small.
[0047] Next, in step S120, when the given processing is performed using a quantum algorithm, a combination of a classical algorithm and a quantum algorithm, or a combination of a classical algorithm and a quantum algorithm, the program according to the first embodiment causes the classical computer 100 to execute a selection step of selecting a computer to perform the given processing using the selection function 10b. Specifically, the processing circuit 10 selects a computer to perform the given processing based on the qubits or required quantum volume calculated in step S110 using the selection function 10b.
[0048] Here, when there are multiple quantum computers as candidates for performing the processing, the step of selecting a computer to perform the given processing becomes a step of selecting a quantum computer to perform the given processing from the multiple quantum computers based on the quantum bits or required quantum volume calculated in step S110.
[0049] Furthermore, when the candidate computers for performing the processing are one or more quantum computers and one or more classical computers, the step of selecting a computer to perform the given processing is a step of selecting a computer to perform the given processing from both the classical computer and the quantum computer based on the qubits or required quantum volume calculated in step S110. In this case, as an example, if the qubits or required quantum volume are within the range of qubits or required quantum volumes achievable by the candidate quantum computers, the processing circuit 10 selects the quantum computer as the computer to perform the given processing via the selection function 10b. If the qubits or required quantum volume are outside the range of qubits or required quantum volumes achievable by the candidate quantum computers, the classical computer is selected as the computer to perform the given processing.
[0050] For example, if the number of qubits in quantum computer 300a is 100 qubits and the number of qubits calculated in step S110 is 80 qubits, in step S120, processing circuit 10 uses selection function 10b to select quantum computer 300a as the computer to perform the assigned processing. Quantum computer 300a performs the assigned processing using a quantum algorithm. On the other hand, if the number of qubits in quantum computer 300a is 100 qubits and the number of qubits calculated in step S110 is 120 qubits, in step S120, processing circuit 10 uses selection function 10b to select classical computer 200a as the computer to perform the assigned processing. If the assigned processing is a molecular orbital calculation, classical computer 200a performs the molecular orbital calculation using, for example, the Hartree-Fock method, the DFT method, or the CCSD(T) method.
[0051] In addition, when a combination of a classical algorithm and a quantum algorithm is used, the step of selecting a computer to perform a given processing becomes a step of selecting a quantum computer to perform a given processing based on the quantum bits or required quantum volume calculated in step S110, and a step of selecting a classical computer to perform the classical algorithm separately from the selection of the quantum computer.
[0052] In these selection steps, the processing circuit 10 selects a quantum computer through the selection function 10b so that the quantum bits calculated in step S110 do not exceed the quantum bits that can be used in the selected computer, or the required quantum volume calculated in step S110 does not exceed the required quantum volume that can be achieved in the selected computer.
[0053] Furthermore, in the above-mentioned selection step, when there are multiple quantum computers with different quantum bits or quantum volumes in the system, the selection step preferably prioritizes selecting a quantum computer with a quantum bit or quantum volume that is not less than that required for the calculation of the target compound and that has the nearest quantum bit or volume.
[0054] Furthermore, in the selection step, processing circuit 10 may also select a computer by considering, in addition to the calculated qubits or required quantum volume, the capabilities, characteristics, and availability of available computer resources, etc., through selection function 10b. As an example, processing circuit 10 may select, through selection function 10b, a computer that has high computer resource capabilities, characteristics suitable for the given processing, or relatively available resources as the computer to perform the processing.
[0055] Furthermore, in the selection step, the processing circuit 10 can select not only the computer but also the execution timing and execution order of the computer by using the selection function 10 b.
[0056] Furthermore, in conjunction with the execution of step S120, the processing circuit 10, through the display control function 10f, appropriately displays on the display unit the quantum bit or required quantum volume size calculated by the calculation function 10a, information related to the computer selected by the selection function 10b, and information identifying a character string representing a structural formula, atomic coordinates, or chemical structure, or a compound. Here, the display unit may be the display 30 or the user terminal 400. The user terminal 400 is a terminal that is different from the terminal configured with the classical computer 100, i.e., the vendor-side terminal, and is a terminal that can be operated by the user.
[0057] In addition, the processing circuit 10 may also have the following function: through the control function 10c, the size of the quantum bit or quantum volume calculated by the calculation function 10a, or the information related to the computer selected by the selection function 10b is sent to other computers, user terminals 400, terminals outside the computer system 1, etc.
[0058] Next, in step S130, if the computer selected in step S120 includes a quantum computer, the program according to the embodiment causes the classical computer 100, via the selection function 10b as a transmitter, to execute a control step for generating a control signal to be transmitted to the quantum computer. Here, this control signal is a control signal instructing the quantum computer to initiate a quantum algorithm, for example, information required to generate the quantum state generated by the quantum computer upon initiation of the quantum algorithm. For example, assuming that the quantum state generated upon initiation of the quantum algorithm is represented by α1|0>+α2|1>, the coefficients α1 and α2 are the information required to generate the quantum state α1|0>+α2|1> generated by the quantum computer upon initiation of the quantum algorithm. Next, the processing circuit 10 transmits the information required to generate the quantum state generated by the quantum computer upon initiation of the quantum algorithm as a control signal to the quantum computer via the control function 10c as a transmitter.
[0059] Next, in step S140, the quantum computer performs quantum computation based on the control signal received from the classical computer 100. Alternatively, when the classical computer performs computation, the classical computer performs normal computation based on the control signal received from the classical computer 100. Alternatively, when the computation is performed using an algorithm that combines computations based on the classical computer and the quantum computer, both the classical computer and the quantum computer perform computations based on the control signal received from the classical computer 100. The classical computer 100 transmits control signals to the multiple computers via the control function 10c serving as the transmitter. Each of the multiple computers then performs its own processing based on the received control signal.
[0060] In the following embodiments, a case is described in which classical computers 200a, 200b, 200c, ... and quantum computers 300a, 300b, 300c, ... perform molecular orbital calculations using a VQE (Variational Quantum Eigensolver) method that combines classical and quantum algorithms.
[0061] The VQE method is to set the variational parameter to θ and use the trial wave function of the Hamiltonian operator H of the system The expected values involved The variational principle, which always exceeds the energy E of the ground state, is used to perform molecular orbital calculations, and a calculation method based on a quantum computer is incorporated into the algorithm.
[0062] Here, the quantum computer 300a etc. generates a quantum state to be the object of the variational method using a quantum algorithm for a certain variational parameter θ. In addition, the quantum computer 300a etc. uses the quantum information generation unit 50 to express the Hamiltonian operator H of the system that performs molecular orbital calculations etc. on the quantum computer as a quantum state generated on the quantum computer. Hamiltonian operator. After this, the measuring unit 80 measures the quantum state generated on the quantum computer. The expected value of the Hamiltonian operator Thus, the quantum computer 300a can obtain the Hamiltonian operator H of the system under the given variational parameter θ in the generated quantum state The expected value below is taken as the measured value.
[0063] On the other hand, the classical computer 200a is responsible for other processing, such as selecting the variational parameter θ, calculating the variational parameter θ that minimizes the expected value of the Hamiltonian operator, and determining which quantum state to select based on the value of the variational parameter θ. The variational parameter θ is optimized by performing the processing of . Thus, the classical computer 200a and the quantum computer 300a can jointly perform quantum chemical calculations and the like.
[0064] As described above, according to the program according to the first embodiment, when a classical computer and a quantum computer exist in combination, or when a plurality of quantum computers exist in combination, a computer that performs processing can be appropriately selected, resulting in optimization of processing.
[0065] (First Modification of the First Embodiment)
[0066] In the first embodiment, a case was described in which the program automatically selects a computer to execute a given process based on the qubit or required quantum volume size calculated in the calculation step. However, the embodiment is not limited to this. In a first variation of the first embodiment, the program may cause the display 30 to display the calculated qubit or required quantum volume size, and receive feedback from a user who observes the qubit or required quantum volume size displayed on the display 30.
[0067] The above situation Figure 4 In addition, step S100, step S110, step S130, and step S140 are the same processes as those already described in FIG2, and therefore, duplicate descriptions are omitted.
[0068] In step S121, the program according to the first variation of the first embodiment causes the classical computer 100 to further execute a display control step through the display control function 10f of the processing circuit 10, which causes the display unit to display the size of the quantum bit or required quantum volume calculated in the calculation step S110.
[0069] Next, in step S122 , the program according to the first modification of the first embodiment causes the classical computer 100 to execute, via the processing circuit 10 , a generation step for generating a list of computers capable of executing the process based on the qubits or required quantum volume calculated in step S121 .
[0070] Next, in step S123 , the program causes the classic computer 100 to execute a display control step through the display control function 10 f of the processing circuit 10 , which causes the display unit to display the list of computers capable of executing the process generated in step S122 .
[0071] Next, in step S124 , the program causes the classical computer 100 to receive input from the user, via the control function 10 c of the processing circuit 10 , as to whether to correct input data such as the compound name.
[0072] If the processing circuit 10 receives input from the user to modify the input data via the control function 10c (step S125: Yes), the process returns to step S100. On the other hand, if the input data is not to be modified (step S125: No), the process proceeds to step S126.
[0073] Next, in step S126 , the program according to the first modification of the first embodiment causes the classical computer 100 to execute a step of manually accepting input from the computer that executes the given process through the control function 10 c of the processing circuit 10 .
[0074] Next, in step S127 , the program according to the first modification of the first embodiment causes the classical computer 100 to execute the following steps through the selection function 10 b of the processing circuit 10 : based on the input received from the user in step S126 , select a computer to execute the given process.
[0075] Furthermore, similarly to the first embodiment, the program according to the first modification of the first embodiment causes the classical computer 100 to execute the same processing as step S130 and step S140 .
[0076] As described above, according to the program involved in the first embodiment, when a classical computer and a quantum computer exist in combination, or when a plurality of quantum computers exist in combination, the computer to perform processing can be appropriately selected by receiving input from the user as needed, resulting in optimization of processing.
[0077] (Second embodiment)
[0078] In the first embodiment, a case where a given process is not divided into multiple small processes and all the processes are performed on a single computer is described. In the second embodiment, a case where a given process is divided into multiple small processes and the processes are performed on a computer selected for each of the multiple small processes, either a classical computer or a quantum computer, is described.
[0079] exist Figure 5 and Figure 6 The above situation is shown in FIG. Figure 5 is a flowchart showing the flow of processing executed by the program according to the second embodiment on the classical computer 100. Figure 6 Yes Figure 5 A flowchart illustrating the processing of step S200 in detail.
[0080] First, in step S200 , the program according to the second embodiment causes the classical computer 100 to execute a division determination step by the division determination function 10 d of the processing circuit 10 . The division determination step determines a division method for dividing a given process into a plurality of small processes.
[0081] use Figure 6 , the segmentation decision step of step S200 is described in detail. Figure 6 Overall processing and Figure 5 Corresponding to step S200.
[0082] First, the program according to the second embodiment causes the classical computer 100 to obtain the calculation performance of each computer in step S201 .
[0083] Next, the program according to the second embodiment causes the classical computer 100 to execute, in step S202 , the division determination function 10 d of the processing circuit 10 , a step of temporarily dividing the given process into a plurality of small processes based on the computational performance acquired in step S201 .
[0084] Next, in step S203 , the program according to the second embodiment causes the classical computer 100 to execute the step of calculating the size of the quantum bit or the required quantum volume for each of the plurality of temporarily divided small processes.
[0085] Next, if the provisional division satisfies the predetermined conditions and is an appropriate division (step S204: Yes), the process proceeds to step S206, and the processing circuit 10 determines that the provisional division is an appropriate division method. The processing circuit 10 determines that the division is an appropriate division method.
[0086] On the other hand, if the provisional segmentation is not appropriate (No in step S204 ), the program according to the second embodiment causes the classical computer 100 to execute a step of provisional segmentation using a new segmentation method in step S205 , and then the process returns to step S202 .
[0087] Through such steps S201 to S206 , the program according to the second embodiment causes the classical computer 100 to execute the processing according to the above-described step S200 .
[0088] Then, return to Figure 5 The program involved in the second embodiment causes the classical computer 100 to execute the following steps in step S210 through the splitting function 10e of the processing circuit 10: based on the splitting method determined in step S200, the given processing is divided into multiple small processings.
[0089] In addition, the implementation method may not go through the processing of step S200 and step S210, but the given processing may include multiple small processing. In the above case, the operations of step S200 and step S210 are omitted as needed.
[0090] Next, in step S220 , the program according to the second embodiment causes the classical computer 100 to execute a calculation step of calculating the size of a quantum bit or a required quantum volume for each of the plurality of small processes using the calculation function 10 a of the processing circuit 10 .
[0091] Next, in step S230, the program according to the second embodiment causes the classical computer 100 to execute a selection step. This selection step selects a computer to perform the calculation for each of the plurality of small processes based on the calculated qubits or required quantum volume, as well as the capabilities, characteristics, and availability of available computer resources. For example, the program according to the second embodiment causes the classical computer 100 to prioritize computers with high computing power, computers whose characteristics match the nature of the given process, or computers with relatively low availability as the computers to perform the calculation.
[0092] Next, in step S240, the program according to the second embodiment causes the classical computer 100 to further select, through the selection function 10b of the processing circuit 10, the execution timing or execution order of the executing computers for each of the multiple small processes based on the calculated qubits or required quantum volume, as well as the capabilities, characteristics, and availability of available computer resources. As an example, the program according to the second embodiment selects the execution timing or execution order of the executing computers so that the processing load is not concentrated on a specific computer.
[0093] Next, in step S250 , the program according to the second embodiment causes the classical computer 100 to execute a control step, through the control function 10 c of the processing circuit 10 , of generating, as a control signal, information necessary for generating a quantum state generated by the quantum computer when starting a quantum algorithm.
[0094] The processing circuit 10 transmits the generated control signal to the computer selected in step S230 through the control function 10 c as a transmitting unit.
[0095] Next, in step S260 , the quantum computer performs quantum computing.
[0096] As described above, according to the program involved in the second embodiment, when a classical computer and a quantum computer exist in combination, or when a plurality of quantum computers exist in combination, and when the given processing includes a plurality of processing, the processing is appropriately divided and the computer that processes each divided processing is appropriately selected, thereby enabling optimization of the processing.
[0097] As described above, according to the embodiment of the present invention, processing can be optimized when a classical computer and a quantum computer coexist, or when a plurality of quantum computers coexist.
[0098] Furthermore, the embodiments of the present invention are presented as mere examples, and various replacements and changes can be made.
[0099] Explanation of the reference numerals: 10...processing circuit; 10a...computing function; 10b...selection function; 10c...control function; 10d...segmentation decision function; 10e...segmentation function; 10f...display control function; 10g...generation function; 20...storage unit; 30...display; 40...input device; 200a...classical computer; 300a...quantum computer; 400...user terminal.
Claims
1. A method for selecting a computer to perform a given process when a given process is performed by a classical computer using a quantum algorithm or a combination of a classical algorithm and a quantum algorithm, wherein: In the method, the classical computer performs: a step of calculating the size of the quantum bits or quantum volume required to execute the given processing using the quantum algorithm, or the size of the quantum bits or quantum volume required for a portion of the quantum algorithm when executing the given processing using the combined algorithm; A selecting step of selecting the computer to execute the given processing based on the quantum bits or the required quantum volume calculated by the calculating step; a control step of, when the computer selected in the selection step includes a quantum computer, generating a control signal to be sent to the quantum computer and instructing the quantum computer to start the quantum algorithm; a division determination step of determining a division method for dividing the given process into a plurality of small processes; as well as a segmentation step of segmenting the given process into the plurality of small processes based on the determined segmentation method, The selecting step selects the computer for each of the plurality of small processes divided by the dividing step, The controlling step generates the control signal for each of the plurality of small processes divided by the dividing step.
2. The method according to claim 1, wherein In a case where the computer selected in the selecting step includes a quantum computer, the controlling step generates, as the control signal, information required to generate a quantum state generated by the quantum computer when the quantum algorithm is started.
3. The method according to claim 1, wherein The given processing is a processing of performing quantum chemical calculation on the given chemical structure.
4. The method according to claim 3, wherein: The given chemical structure is a chemical structure read out from a storage unit storing a list of chemical structures.
5. The method according to claim 1, wherein The calculating step calculates the size of the quantum bit or the required quantum volume for each of the plurality of small processes.
6. The method according to claim 1 or 5, wherein: The selecting step selects the computer based on at least one of capabilities, characteristics, and availability of available computer resources, and the quantum bits or the required quantum volume calculated by the calculating step.
7. The method according to claim 6, wherein: The selecting step further selects an execution timing or an execution order of executing the computer according to at least one of the capability, characteristics, and idleness of available computer resources and the quantum bits or the required quantum volume calculated by the calculating step.
8. The method according to claim 1, wherein The selecting step selects the computer so that the number of qubits does not exceed the number of qubits available in the computer, or the required quantum volume does not exceed the required quantum volume of the computer.
9. The method according to claim 1, wherein: The classical computer further executes a display control step, wherein the display control step causes a display unit to display the size of the quantum bit or the required quantum volume calculated in the calculation step.
10. The method according to claim 1, wherein Also executed by the classical computer: a generating step of generating a list of computers capable of executing the processing based on the quantum bits or the required quantum volume calculated by the calculating step; as well as A display control step of causing a display unit to display the list of computers capable of executing the process generated in the generation step.
11. The method according to claim 9 or 10, wherein: The display unit is provided in a user terminal, which is a terminal different from a terminal on the provider side in which the classic computer is provided and is a terminal that can be operated by a user.
12. The method according to claim 1, wherein The selecting step selects a computer that executes the processing from both a classical computer and a quantum computer based on the quantum bits or the required quantum volume.
13. The method according to claim 1, wherein The combined algorithm is the VQE (variational quantum eigensolver) method.
14. A computer system comprising a classical computer and a plurality of computers, wherein the classical computer performs a process of selecting a computer from the plurality of computers to perform a given process when the given process is performed using a quantum algorithm or a combination of a classical algorithm and a quantum algorithm. the plurality of computers including at least one quantum computer, The classical computer has: a calculation unit that calculates the size of qubits or quantum volume required to execute the given processing using the quantum algorithm, or the size of qubits or quantum volume required for a portion of the quantum algorithm when executing the given processing using the combined algorithm; an allocating unit that selects the computer that executes the given processing based on the quantum bits or the required quantum volume calculated by the calculating unit; a transmitting unit configured to transmit a control signal related to an instruction for the quantum computer to start the quantum algorithm to the quantum computer when the computer selected by the allocating unit includes the quantum computer; a division determination unit that determines a division method for dividing the given process into a plurality of small processes; and a dividing unit that divides the given process into the plurality of small processes based on the determined dividing method, The allocating unit selects the computer for each of the plurality of small processes divided by the dividing unit, The transmitting section generates the control signal for each of the plurality of small processes divided by the dividing section.
15. The computer system according to claim 14, wherein: The computer system has a function of transmitting the size of the qubit or the required quantum volume calculated by the calculation unit, or information related to the computer selected by the allocation unit.
16. The computer system of claim 14, wherein: The computer system further includes a display unit configured to display to a user the size of the qubit or the required quantum volume calculated by the calculation unit, or information related to the computer selected by the allocation unit.
17. The computer system according to claim 16, wherein: The computer system further includes a display unit that displays to a user the size of the quantum bit or the required quantum volume calculated by the calculation unit, or information related to the computer selected by the allocation unit, and information identifying a character string representing a structural formula, atomic coordinates, or chemical structure, or information of a compound.
18. The computer system according to claim 14, wherein: The classical computer includes: a first classical computer having the function of the calculation unit; and a second classical computer connected to the first classical computer via a network and having the functions of the distribution unit and the transmission unit.
19. A computer, being a classical computer, that performs a process of selecting a computer from a plurality of computers to perform a given process when the given process is performed using a quantum algorithm or a combination of a classical algorithm and a quantum algorithm, wherein: The computer has: a calculation unit that calculates the size of qubits or quantum volume required to execute the given processing using the quantum algorithm, or the size of qubits or quantum volume required for a portion of the quantum algorithm when executing the given processing using the combined algorithm; an allocating unit that selects the computer that executes the given processing based on the quantum bits or the required quantum volume calculated by the calculating unit; a transmitting unit configured to transmit a control signal related to an instruction for the quantum computer to start the quantum algorithm to the quantum computer when the computer selected by the allocating unit includes a quantum computer; a division determination unit that determines a division method for dividing the given process into a plurality of small processes; and a dividing unit that divides the given process into the plurality of small processes based on the determined dividing method, The allocating unit selects the computer for each of the plurality of small processes divided by the dividing unit, The transmitting section generates the control signal for each of the plurality of small processes divided by the dividing section.
Citation Information
Patent Citations
Training quantum evolutions using sublogical controls
CN109478258A
Hybrid classical-quantum computer architecture for molecular modeling
US20050273306A1
Job processing in quantum computing enabled cloud environments
US20190102220A1