CN111832144A - Full-amplitude quantum computation simulation method - Google Patents

Full-amplitude quantum computation simulation method Download PDF

Info

Publication number
CN111832144A
CN111832144A CN201910293555.2A CN201910293555A CN111832144A CN 111832144 A CN111832144 A CN 111832144A CN 201910293555 A CN201910293555 A CN 201910293555A CN 111832144 A CN111832144 A CN 111832144A
Authority
CN
China
Prior art keywords
quantum
core
calculation
slave
quantum state
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201910293555.2A
Other languages
Chinese (zh)
Other versions
CN111832144B (en
Inventor
俞磊
窦猛汉
王晶
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Origin Quantum Computing Technology Co Ltd
Original Assignee
Origin Quantum Computing Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Origin Quantum Computing Technology Co Ltd filed Critical Origin Quantum Computing Technology Co Ltd
Priority to CN201910293555.2A priority Critical patent/CN111832144B/en
Publication of CN111832144A publication Critical patent/CN111832144A/en
Application granted granted Critical
Publication of CN111832144B publication Critical patent/CN111832144B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Logic Circuits (AREA)

Abstract

The invention discloses a full-amplitude quantum computation simulation method, which comprises the following steps: configuring distributed computing nodes which are arranged in parallel, wherein the distributed computing nodes comprise a main core and a slave core which are communicated with each other; configuring a quantum program to be calculated to a main core of each calculation node, wherein the quantum program to be calculated is stored in a linked list form, and each node of the linked list stores a quantum operation instruction; configuring and initializing quantum states stored by each main core according to the quantum bit quantity and the main core quantity required by executing the quantum program to be calculated, wherein each main core equally stores all quantum states of the quantum bits; and traversing the nodes of the linked list in each main core, and for the traversed current node, the main core and the corresponding slave core thereof execute the quantum operation instruction stored in the current node in a matched manner until all the nodes of the linked list are traversed, thereby completing full-amplitude quantum computation simulation. By utilizing the embodiment of the invention, the simulation efficiency of full-amplitude quantum computation can be improved.

Description

Full-amplitude quantum computation simulation method
Technical Field
The invention belongs to the technical field of quantum computation, and particularly relates to a full-amplitude quantum computation simulation method.
Background
The optical supercomputer of Shenwei Taihu is independently developed by a national parallel computer engineering and technology research center, is installed in a supercomputer of a national supercomputer tin-free center at present, has the peak performance of 125.4PFlops, and obtains the first 500-strong (TOP500) list of the global supercomputer for 5 times continuously from 2016, 6, 20, 11, 31 and 2017. It is constructed based on the Shenwei SW26010 processor, and contains 40960 blocks of SW26010 processors, each processor contains 4 core groups, each core group contains 1 MPE (Management Processing Element, called master core for short) and 64 CPEs (computing Processing Elements, called slave cores for short), and the slave cores are distributed in an 8 × 8 array. The compiler on the master core supports C, C + + and Fortran 3 programming languages, and the compiler on the slave core only supports C and Fortran.
The quantum computation simulation is a simulation computation which follows the law of quantum mechanics by means of numerical computation and computer science, is an interdiscipline between mathematics, quantum mechanics and computer science, and has important application in big data decomposition algorithm, search algorithm, molecular simulation and the like. As a simulation program, the method uses the high-speed computing power of a computer to depict the space-time evolution of quantum states according to the basic law of quantum bits of quantum mechanics, and has the characteristics of intensive computation, large data volume, overlong simulation time and the like. The full-amplitude quantum computation simulation means that all amplitudes of the sub-state can be computed through one-time simulation computation, and when the full-amplitude quantum computation simulation is implemented, the space overhead and the time overhead of the full-amplitude quantum computation simulation increase exponentially with the increase of the number of quantum bits.
How to combine the optical system architecture and programming characteristics of the Shenwei Taihu lake to fully play the strong computing power of the optical super computing platform of the Shenwei Taihu lake and the SW26010 processor thereof, and the realization of the full-amplitude quantum computing simulation of the qubits through the parallel distributed computing nodes therein has great significance.
Disclosure of Invention
The invention aims to provide a full-amplitude quantum computation simulation method, which can solve the defects in the prior art, realize the simulation of full-amplitude quantum computation by utilizing a two-stage parallel mode constructed by a master core and a slave core on distributed nodes arranged in parallel and improve the simulation efficiency.
The technical scheme adopted by the invention is as follows:
a full-amplitude quantum computational simulation method, comprising:
configuring distributed computing nodes arranged in parallel, wherein the distributed computing nodes comprise a main core and a slave core which are communicated with each other;
configuring quantum programs to be calculated to a main core of each calculation node, wherein the quantum programs to be calculated are stored in a linked list form, and each node of the linked list stores a quantum operation instruction;
configuring and initializing quantum states stored by each main core according to the quantum bit quantity and the main core quantity required by executing the quantum program to be calculated, wherein each main core stores all quantum states of the quantum bits in an equally-divided manner;
and traversing the nodes of the linked list in each main core, and for the traversed current node, the main core and the corresponding slave core execute the quantum operation instruction stored in the current node in a matched manner until all the nodes of the linked list are traversed, so that full-amplitude quantum computation simulation is completed.
Optionally, the performing, by cooperation of the master core and the corresponding slave core, the quantum operation instruction stored in the current node includes:
determining a type of the quantum operation instruction, the type comprising: single quantum logic gate operation, double quantum logic gate operation, measurement operation and probability measurement operation;
and the main core and the corresponding slave core are matched to execute the calculation corresponding to the type of the quantum operation instruction.
Optionally, the performing, by cooperation of the master core and the slave core corresponding to the master core, the calculation corresponding to the type of the quantum operation instruction includes: a master core executing step and a slave core executing step;
when the type of the quantum operation instruction is single quantum logic gate operation, the main core executes the steps of:
judging whether a pair of quantum states of the operated target bit qubits are in the same master core;
if the first slave core is in the same master core, configuring a first slave core calculation parameter corresponding to the master core; otherwise, acquiring all quantum state data copies in the master core to which the corresponding quantum state belongs, and configuring second slave core calculation parameters corresponding to the master core; wherein the first slave core calculating parameters comprises: the quantum state total number, the quantum state initial address, the unitary matrix parameter of the single quantum logic gate, the controlled state, the information of the controlled qubit and the operated target bit qubit data of the master core, and the second slave core calculation parameters comprise: the quantum state total number of the main core, the quantum state initial address, the unitary matrix parameter of the single quantum logic gate, the controlled state, the information of the controlled quantum bit, the quantum state initial address in the quantum state data copy and the operated target bit quantum bit data;
the master core calls a slave core to execute a computing task corresponding to the first slave core computing parameter or the second slave core computing parameter;
the slave core executing step includes:
obtaining a slave core calculation parameter corresponding to the calculation task;
when the slave core calculation parameter is a first slave core calculation parameter, judging whether the number of quantum states to be calculated, which are equally divided from the corresponding master core, is more than or equal to a single calculation period of a quantum state value;
if the quantum state value is larger than or equal to the first slave core calculation parameter, each slave core performs each calculation according to the first slave core calculation parameter, and simultaneously updates an internal quantum state value and another corresponding quantum state value located in the same slave core by one calculation, otherwise, each slave core judges whether to participate in the calculation according to the target quantum bit of the operation, and the slave cores participating in the calculation perform each calculation according to the first slave core calculation parameter, and simultaneously updates an internal quantum state value and another corresponding quantum state value located in different slave cores by one calculation;
correspondingly writing the quantum state update value obtained by calculation back to the quantum state corresponding position of the main core;
and when the secondary core calculation parameter is a second secondary core calculation parameter, performing calculation each time according to the second secondary core calculation parameter, updating an internal single quantum state value by calculation once, and correspondingly writing the calculated quantum state update value back to the primary core quantum state corresponding position.
Optionally, the determining whether a pair of quantum states of the operated target bit qubits are in the same primary core includes:
judging whether the quantum state calculation offset of the target bit quantum bit is smaller than the total number of quantum states in a single main core; if the number of the cores is smaller than the preset number, the cores are in the same main core, otherwise, the cores are in two main cores.
Optionally, the performing, by cooperation of the master core and the slave core corresponding to the master core, the calculation corresponding to the type of the quantum operation instruction includes: a master core executing step and a slave core executing step;
when the type of the quantum operation instruction is a double quantum logic gate operation, the main core executes the steps of:
judging whether a group of four quantum states corresponding to the control bit qubit and the target bit qubit are in the same main core;
if the core is in the same main core, configuring a third slave core calculation parameter corresponding to the main core; if the two master cores are positioned, acquiring a quantum state data copy in the other master core, and configuring a fourth slave core calculation parameter corresponding to the master core; if the current core is located in the four main cores, obtaining quantum state data copies in the other three main cores, and configuring a fifth slave core calculation parameter corresponding to the main core;
the master core calls a slave core to execute a computing task corresponding to the third slave core computing parameter, the fourth slave core computing parameter or the fifth slave core computing parameter;
the slave core executing step includes:
obtaining a slave core calculation parameter corresponding to the calculation task, when the slave core calculation parameter is a third slave core calculation parameter, obtaining four quantum state subscripts corresponding to each other by each slave core according to a control bit qubit, a target bit qubit and an insertion algorithm, performing each calculation according to the obtained quantum state subscript and the third slave core calculation parameter, and updating the four quantum state values corresponding to each other simultaneously by one calculation, wherein the calculation frequency of each slave core is determined by averaging the total frequency required by the master core to calculate the four quantum states corresponding to each other at a time; correspondingly writing the quantum state update value obtained by calculation back to the main core;
when the slave core calculation parameter is a fourth slave core calculation parameter, judging whether the quantum state number equally divided from the corresponding master core is larger than the single calculation period of the quantum state value of the target bit quantum bit;
if the quantum state value is larger than the first quantum state value, each slave core performs each calculation according to the respective fourth slave core calculation parameter, and updates the two quantum state values which are positioned in the same slave core and correspond to each other simultaneously through one calculation, otherwise, each slave core judges whether to participate in the calculation according to the target quantum bit of the operation, and the slave cores participating in the calculation perform each calculation according to the fourth slave core calculation parameter, and simultaneously update one internal quantum state value and the other corresponding quantum state value positioned in different slave cores through one calculation; correspondingly writing the quantum state update value obtained by calculation back to the main core;
and when the slave core calculation parameter is a fifth slave core calculation parameter, performing calculation for each time according to the fifth slave core calculation parameter, updating an internal single quantum state value by calculation once, and correspondingly writing the calculated quantum state update value back to the master core.
Optionally, the determining whether a group of four quantum states corresponding to the control bit qubit and the target bit qubit are in the same primary core includes:
judging whether the quantum state calculation offset of the control bit qubit is smaller than the quantum state total number of the single main core;
if the number of the cores is less than the preset number, the cores are in the same main core;
otherwise, judging whether the calculation offset of the target bit qubit is smaller than the quantum state total number of the single main core;
and if the calculated offset of the target bit qubit is less than the total number of quantum states of a single master core, the target bit qubit is in two master cores, otherwise, the target bit qubit is in four master cores.
Optionally, the method further includes:
and under the condition that the single-quantum logic gate operation or the double-quantum logic gate operation is in a controlled state, before each calculation, determining the real index value of the current quantum state according to the main core identifier to which the current quantum state belongs and the current quantum state position, judging whether the controlled control bit corresponding to the real index value is 1, if so, executing the step of each calculation, and otherwise, ending the step.
Optionally, the performing, by cooperation of the master core and the slave core corresponding to the master core, the calculation corresponding to the type of the quantum operation instruction includes: a master core executing step and a slave core executing step;
when the type of the quantum operation instruction is a measurement operation, the main core executes the steps of:
configuring a slave core to measure an operating parameter; wherein measuring the operating parameter from the core comprises: the quantum state total number, the quantum state initial address, the probability result array initial address and the measurement quantum bit of the main core;
invoking a computing task of executing quantum state probability from the core;
summarizing the calculation result of the quantum state probability to a main core, calculating a total probability result, transmitting the total probability result to other main cores, and acquiring a random value to be compared with the total probability result to obtain the measurement result of the measurement operation;
configuring a normalization operation parameter from a nuclear quantum state; wherein the normalizing the operating parameters from the nuclear quantum state comprises: the total probability result, the measurement result, the quantum state total number of the single main core, the quantum state initial address and the measurement quantum bit;
invoking a computational task of performing quantum state normalization operations from the cores;
the slave core executing step includes: executing the computation task of quantum state probability and executing the computation task of quantum state normalization operation;
the execution step of the calculation task of the quantum state probability comprises the following steps:
obtaining a secondary nuclear measurement operation parameter corresponding to a quantum state probability calculation task;
when quantum states with the quantum bit value of 0 are measured in the main core, the quantum state probability is calculated in the main core according to the operation parameters measured by the auxiliary core, and the calculated quantum state probability value is written back to the main core;
when the quantum states with the value of 0 and 1 of the measured quantum bit in the main core respectively account for half, each slave core judges whether the number of the quantum states equally divided from the main core is more than or equal to the calculation period of the quantum state probability of the measured quantum bit;
if the quantum state probability value is larger than or equal to the preset quantum state probability value, each slave core calculates the quantum state probability in the slave core according to the slave core measurement operation parameters, and writes the calculated quantum state probability value back to the corresponding position of the master core probability result array; otherwise, each slave core judges whether the slave core participates in calculation according to the measured quantum bit, the slave cores participating in calculation calculate the quantum state probability in the slave cores according to the measured operation parameters of the slave cores, and write the calculated quantum state probability value back to the corresponding position of the master core probability result array;
the execution step of the computing task of the quantum state normalization operation comprises the following steps:
obtaining a secondary nuclear quantum state normalization operation parameter;
each slave core calculates the quantum state which is uniformly divided by the slave core according to the slave core quantum state normalization operation parameters, correspondingly updates the quantum state amplitude according to the total probability result, the measurement result value and the measurement quantum bit, and writes the updated quantum state back to the master core.
Optionally, the performing, by cooperation of the master core and the slave core corresponding to the master core, the calculation corresponding to the type of the quantum operation instruction includes: a master core executing step and a slave core executing step;
when the type of the quantum operation instruction is a probability measurement operation, the main core executes the steps of:
configuring a slave core probability measurement operating parameter; wherein the measuring operational parameters from the kernel probability comprises: the quantum state total number, the quantum state initial address and the quantum bit number of probability measurement of the main core;
invoking a computing task of executing quantum state probability from the core;
determining a result set to which each quantum state in the core belongs, wherein the result set is used for storing quantum states in quantum state groups divided according to probability measurement quantum bits, and each main core stores result sets of all categories;
writing the probability of the current quantum state into the corresponding result set;
each main core sends the respective result set to a specific main core for protocol summarization to obtain a probability measurement result;
the slave core executing step includes:
obtaining a secondary nuclear probability measurement operating parameter;
and calculating the quantum state probability of each quantum state allocated to the slave core according to the slave core probability measurement operation parameters, and correspondingly writing the calculated quantum state probability value back to the master core.
Compared with the prior art, the distributed computing nodes arranged in parallel are configured, the quantum program to be computed is configured to the main core of each computing node, the quantum state stored by each main core is configured and initialized, the nodes of the linked list are traversed in each main core, then the main core and the corresponding slave core thereof are matched to execute the quantum operation instruction stored in the current node, the full-amplitude quantum computing simulation on the distributed computing nodes based on the super-computing platform is realized, and in the working process, the subordinate slave cores are simultaneously matched to perform parallel operation on the basis of the parallel computing of the main core, so that the secondary parallel computing is realized, and the simulation efficiency of the full-amplitude quantum computing can be improved compared with a serial computing and primary parallel computing mode.
Drawings
Fig. 1 is a schematic flow chart of a full-amplitude quantum computation simulation method according to an embodiment of the present invention.
Detailed Description
The embodiments described below with reference to the drawings are illustrative only and should not be construed as limiting the invention.
At present, through the related theory of quantum computation, the analog quantum computation can be realized by using a classical computer and is divided into single-amplitude analog quantum computation and full-amplitude analog quantum computation. For full-amplitude analog quantum computing, the occupied memory increases exponentially with the number of quantum bits, for example, 10 Qubits (Qubits) are configured to require 16Kbyte memory, 20 Qubits require 16MByte memory, 30 Qubits require 16GByte memory, 40 Qubits require 16TByte memory, 50 Qubits require 16PByte memory, and the hardware condition of the existing personal computer cannot simulate quantum computing of more Qubits. In addition, the full-amplitude analog quantum computation mainly adopts a serial computation method or a one-stage parallel computation method on a multi-core computer or a computer cluster, and the time of analog one-time quantum computation is long, the computation speed is slow, and certain performance requirements cannot be met. The first-level parallelism refers to splitting a large computation task, evenly distributing the split large computation task to a plurality of computation nodes, and simultaneously performing serial computation on each computation node.
Based on this, the embodiment of the present invention provides a full-amplitude quantum computation simulation method, which is applied to a multi-core computer or a distributed computer cluster, and preferably applied to a supercomputer cluster, such as an optical supercomputer platform in the shenwei tai lake. This will be described in detail below.
Referring to fig. 1, fig. 1 is a schematic flow chart of a full-amplitude quantum computation simulation method according to an embodiment of the present invention, which may include the following steps:
s101, configuring distributed computing nodes which are arranged in parallel, wherein the distributed computing nodes comprise a main core and a slave core which are communicated with each other;
specifically, a computing task is submitted on a distributed computer cluster, and available computing resources such as distributed computing nodes are configured. The computation task actually includes a quantum program to be computed, such as a quantum program written in the QRunes language.
The master core and the master core, and the master core and the subordinate slave cores can communicate with each other, and the slave cores do not communicate with each other. The main core is an operation control core of the super computer cluster, hardly participates in the calculation process of the core when performing calculation tasks, and is mainly responsible for I/O operation, task scheduling distribution of the operation core, data communication with other main core processes and the like. The master core and the slave core can thereby implement two levels of parallel computing.
S102, configuring quantum programs to be calculated to a main core of each calculation node, wherein the quantum programs to be calculated are stored in a chain table form, and each node of the chain table stores a quantum operation instruction;
and configuring quantum programs to be calculated in the calculation tasks into each main core, namely, each main core obtains one quantum program. An analysis module interface (such as a Qrun analysis module interface) can be called to analyze the quantum program to obtain a linked list of the quantum program. The linked list is a data structure, and a storage mode of a chain is formed by recording memory addresses through nodes in a memory and mutually linking the memory addresses, and the linked list is composed of nodes (different from a calculation node), wherein each node records the memory address of the next node and stores a quantum operation instruction.
S103, configuring and initializing quantum states stored by each main core according to the quantum bit quantity and the main core quantity required by executing the quantum program to be calculated, wherein each main core stores all quantum states of the quantum bits in an equally-divided manner;
analyzing the quantum program can also obtain the total quantum bit number, initializing quantum states on each main core according to the total quantum bit number and the main core number, wherein the quantum states stored by each main core are the same in number, one quantum bit has two quantum states corresponding to each other according to the quantum state superposition of the quantum bits, and the quantum states corresponding to the N quantum bits have 2NOne quantum state data type is a complex number composed of 2 floating point numbers.
And S104, traversing the nodes of the linked list in each main core, and executing the quantum operation instruction stored in the current node by the main core and the corresponding slave core in a matched manner aiming at the traversed current node until all the nodes of the linked list are traversed, thereby finishing the full-amplitude quantum computation simulation.
Before the main core and the corresponding slave core cooperate to execute the quantum operation instruction stored in the current node, the athread _ init () function may be used to initialize the slave core acceleration thread library, so that the main core can call the corresponding slave core, and the two cooperate to execute the quantum operation instruction.
Specifically, the type of the quantum operation instruction may be determined, and the type includes: single quantum logic gate operation (quantum logic gate operating on a single quantum bit), double quantum logic gate operation (quantum logic gate operating on a double quantum bit), measurement operation (including quantum state Probability calculation and quantum state normalization operations described below), and Probability measurement operation (Probability Measure); and the main core and the corresponding slave core are matched to execute the calculation corresponding to the type of the quantum operation instruction. The quantum logic gate is a basic component of a general quantum computer, and is equivalent to a logic gate in a traditional computer.
Illustratively, according to submitted quantum programs, 8 master cores are configured, each master core belongs to 2 slave cores, the quantum programs are distributed to the master cores for analysis, and the master cores obtain a quantum program linked list. Configuring the required 5 qubits q0、q1、q2、q3、q4The subscript of the lower right corner of q is the number of qubits, also called the number of bits n, and the corresponding quantum states are 32, 00000(0), 00001(1), 00010(2), 00011(3), 00100(4), 00101(5), 00110(6), 00111(7), 01000(8), 01001(9), 01010(10), 01011(11), 01100(12), 01101(13), 01110(14), 01111(15), 10000(16), 10001(17), 10010(18), 10011(19), 10100(20), 10101(21), 10110(22), 10111(23), 11000(24), 11001(25), 11010(26), 11011(27), 11100(28), 11101(29), 11130), 11131). Wherein, the decimal value corresponding to the quantum state is also called the subscript value of the quantum state, namely 0-31. It should be noted that, in the representation of the quantum state, the qubits are arranged low and high from left to right, i.e., the quantum state representation q4q3q2q1q0The arrangement rule of (2).
Initializing 32 quantum states means initializing the amplitude (value) of the quantum state 00000 with a subscript value of 0 to 1 and initializing the other quantum states to 0, and considering the complex representation of the quantum states, the mathematical representation of the quantum state initialization to 1 is 1+0i and the mathematical representation of the quantum state initialization to 0 is 0+0 i.
The quantum states are sequentially and uniformly distributed to each main core with the numbers from small to large according to the size of the subscript value for storage, and the storage distribution is shown in table 1:
TABLE 1 storage distribution of Quantum states in 8 host cores
Figure BDA0002025720940000091
Figure BDA0002025720940000101
Each main core sequentially traverses each node of a linked list of the internal quantum program, acquires linked list node internal information, namely a quantum operation instruction, determines the operation instruction type of the current node, and executes corresponding calculation with a subordinate slave core according to the operation instruction type until all the nodes are traversed and all the operation instructions are executed.
Firstly, when the type of the quantum operation instruction of the current node is a single quantum logic gate operation, the main core executes the steps of:
(1) it is determined whether a pair of quantum states of the operated-on target bit qubit are in the same master core.
In practical application, whether the quantum state calculation offset of the target bit qubit is smaller than the quantum state total number in a single main core can be judged; if the number of the cores is smaller than the preset number, the cores are in the same main core, otherwise, the cores are in two main cores. Wherein the quantum state computational offset is: assuming that the quantum state with index value i in the quantum state array state is calculated, the quantum state with index value j corresponding to the quantum state needs to be found, and the absolute value of the difference value between i and j is the quantum state calculation offset, and the magnitude is the nth power of 2 (n is the number of target quantum bits).
(2) If the first slave core is in the same master core, configuring a first slave core calculation parameter corresponding to the master core; otherwise, acquiring all quantum state data copies in the master core to which the corresponding quantum state belongs, and configuring second slave core calculation parameters corresponding to the master core; wherein the first slave core calculating parameters comprises: the total number of quantum states of the master core, the initial address of the quantum state, unitary matrix parameters of the single-quantum logic gate, the controlled state, the number of bits of the controlled qubit and the number of bits of the operated target qubit, and the second slave core calculation parameters comprise: the total number of quantum states of the main core, the initial address of the quantum state, the unitary matrix parameter of the single-quantum logic gate, the controlled state (i.e. whether the single-quantum logic gate is in the controlled state), the number of bits of the controlled quantum bit, the initial address of the quantum state in the quantum state data copy, and the number of bits of the operated target bit quantum bit.
Specifically, a slave-core calculation parameter structure including slave-core calculation parameter information may be arranged. Since the calculation of each quantum state value requires another quantum state information with a correspondence, and the values of the two quantum states must be updated simultaneously. This correspondence depends on the target bit qubit being operated on, i.e., the two corresponding quantum state indices differ by an nth power of 2. If the two quantum states with the corresponding relationship are in the two main cores, the corresponding relationship of the main cores to which the two quantum states belong is calculated according to the target bit quantum bit and the quantum state number distributed by each main core. And communicating between the two main cores with the corresponding relation, acquiring all quantum state data copies of the opposite side, and storing the quantum state data copies in each main core.
(3) And the master core calls the slave core to execute the computing task corresponding to the first slave core computing parameter or the second slave core computing parameter, and waits until the slave core task is computed.
The slave core executing step includes:
(1) and acquiring the slave core calculation parameters corresponding to the calculation tasks.
(2) And when the slave core calculation parameter is the first slave core calculation parameter, judging whether the number of the quantum states to be calculated, which are equally divided from the corresponding master core, is more than or equal to the single calculation period of the quantum state value.
Wherein, each slave core equally divides all quantum states of the master core for calculation. The single calculated period value of the quantum state also depends on the number of bits of the target bit qubit, to the (n +1) power of 2.
(3) If the number is larger than or equal to the number, the two quantum states in one calculation are paired in each slave core, and each slave core needs to participate in the calculation. And each slave core carries out each calculation according to the first slave core calculation parameter, and one calculation simultaneously updates one internal quantum state value and the other corresponding quantum state value positioned in the same slave core. Otherwise, if the value is smaller than the threshold value, it indicates that two quantum states in one computation are distributed in two different slave cores under the same master core, and each quantum state computation of the single quantum logic gate operation needs another quantum state information having a corresponding relationship, and the values of the two quantum states must be updated simultaneously, so that only half of the slave cores participate in the computation inside the master core, and the other half does not need to be computed. At the moment, each slave core judges whether the slave core participates in calculation according to the target quantum bit of the operation, the slave cores participating in the calculation perform calculation each time according to the first slave core calculation parameter, one internal quantum state value and another corresponding quantum state value located in different slave cores are updated simultaneously through calculation once, and the calculated quantum state update value is correspondingly written back to the quantum state corresponding position of the master core.
And for the slave core needing to participate in the calculation, sequentially fetching data needed by the calculation according to the quantum state initial address of the master core, performing calculation updating of the quantum state in the slave core, and writing the updated quantum state value back to the same position of the master core after the calculation.
(4) And when the secondary core calculation parameter is a second secondary core calculation parameter, performing calculation each time according to the second secondary core calculation parameter, updating an internal single quantum state value by calculation once, and correspondingly writing the calculated quantum state update value back to the primary core quantum state corresponding position.
Specifically, the unitary matrix parameter corresponding to the single quantum logic gate is
Figure BDA0002025720940000111
Taking the above 5 qubits as an example, the target qubit operated on by the single-quantum logic gate is q0The number of bits n is 0, the calculated offset is 1, and the corresponding quantum states have 16 pairs, each of which is: 00000(0)&00001(1)、00010(2)&00011(3)、00100(4)&00101(5)、00110(6)&00111(7)、01000(8)&01001(9)、01010(10)&01011(11)、01100(12)&01101(13)、01110(14)&01111(15)、10000(16)&10001(17)、10010(18)&10011(19)、10100(20)&10101(21)、10110(22)&10111(23)、11000(24)&11001(25)、11010(26)&11011(27)、11100(28)&11101(29)、11110(30)&11111(31). The calculation offset 1 is smaller than the total number 4 of the quantum states in each master core, and the 2 quantum states of each pair are known to be in the same master core, and the first slave core is configured to calculateThe parameters are as follows: the total number of quantum states of the master core (4), the first address of the 32 quantum states (the memory address in the master core), the unitary matrix parameters of the single quantum logic gate, the controlled state (whether controlled), the number of bits of the controlled qubit (configured if in the controlled state), and the number of bits of the manipulated target qubit (n ═ 0).
When the slave core is called by the master core, the slave core calculation parameters are firstly acquired from the master core. If the parameter is calculated for the first slave core, each pair of quantum states is in the same master core, if the target qubit is q0The single computation cycle of quantum states is 2, and the 2 slave cores further judge that the number of quantum states divided by the slave cores is 2 (for the number 0 master core, one slave core is divided into 00000(0), 00001(1), and the other slave core is divided into 00010(2), 00011(3)) and is equal to the single computation cycle 2, namely, each pair of quantum states is in the same slave core. If the target bit is qubit q1The single computation cycle of quantum states is 4, and the 2 slave cores further judge that the number of quantum states divided by the slave cores is 2 (for the number 0 master core, one slave core is divided into 00000(0), 00001(1), and the other slave core is divided into 00010(2), 00011(3)), which is smaller than the single computation cycle 4, namely that each pair of quantum states is in two different slave cores under the same master core (00000(0) in one slave core, and the corresponding 00010(2) in the other slave core).
Qubit q for a target bit0Obtaining a quantum state to be calculated 00000(0) from the first address of the quantum state in the first slave nuclear parameter&00001(1), and respectively marked as state [0000]And state [0001 ]]Defining a plurality of a and b, then Complex a ═ Complex State [ m],Complex b=Complex State[m+offset]. Then using the unitary matrix
Figure BDA0002025720940000121
The calculation of the quantum state value, i.e. the amplitude, is updated to: state [ m ]]=U00*a+U01*b,State[m+offset]U10 a + U11 b, wherein: m is the subscript value of the quantum state, and offset is the calculated offset between the quantum states to be calculated, and in 00000(0) and 00001(1), m is 0 and offset is 1. As can be seen, each slave core participates in the computation.
Qubit q for a target bit1To be calculated quantum state 00000(0)&00010(2), the values of the two quantum states are distributed in two slave cores of the number 0 master core, wherein one slave core only needs to calculate and update the values of the two quantum states once, and the other slave core does not need to calculate, and the calculated value of the quantum state is written back to the original position of the master core for storing the quantum state in the same calculation principle.
If the obtained parameter is calculated by the second slave core, each pair of quantum states is positioned in two main cores, such as q3The bit number n is 3, the calculation offset is 8, which is greater than the total number of quantum states 4 in the main core, and each pair of quantum states is in two different main cores, such as 00000(0)&01000(8) at major nucleus 0 and 2, 00100(4)&01100(12) is located in the number 1 and 3 main cores respectively, the number difference of the main core is 2, which can be understood as: the number difference of the main core is 2, namely the quotient of the difference 8 (calculation offset) of the subscript value and the total number 4 of the quantum states of each main core, according to the corresponding relation, when a pair of quantum states are calculated, the number of the main core where one quantum state of the pair of quantum states is located is determined, the number difference of the main core is obtained by dividing the quantum state number of each main core by the calculation offset, so that the number of the main core where the other quantum state is located is obtained, the two main cores with the corresponding relation are communicated with each other, data copies of all quantum states in the opposite side are obtained and stored, and second slave core parameters are configured (except for increasing the quantum state first address in the quantum state data copy, other parameters are consistent).
The master then calls the slave to perform the computational task of a single quantum logic gate operation in order to update the value (amplitude) of the quantum State, and the slave, when called, obtains the second slave computational parameter, in a similar manner, except that another corresponding quantum State is obtained from the quantum State header address in the quantum State data copy, and State [ m ] and State [ m + offset ] are separately computed separately.
Secondly, when the type of the quantum operation instruction of the current node is a dual-quantum logic gate operation, the main core executes the steps of:
(1) and judging whether a group of four quantum states corresponding to the control bit qubit and the target bit qubit are in the same main core.
Specifically, the quantum state computation offset of the control bit qubit can be determined asWhether less than the total number of quantum states of a single primary core; if the number of the cores is less than the preset number, the cores are in the same main core; otherwise, judging whether the calculation offset of the target bit qubit is smaller than the quantum state total number of the single main core; and if the calculated offset of the target bit qubit is less than the total number of quantum states of a single master core, the target bit qubit is in two master cores, otherwise, the target bit qubit is in four master cores. The double-quantum logic gate is one of quantum logic gates, the double-quantum logic gate has two parameters, namely a control bit and an operation bit, and unitary matrix parameters corresponding to the double-quantum logic gate are expressed as a 4 x 4 matrix, and can be specifically expressed as a 4 x 4 matrix
Figure BDA0002025720940000141
A common dual quantum logic gate is the CNOT gate, CNOT (n)1,n2) In n1For control bits, n2To manipulate bits, it acts as: the quantum state of the control bit is unchanged when the control bit is |0>At state, the operation bit n2When the control bit is |1>At state, the operation bit n2The quantum state of (a) is inverted. n is1Is equal to n2Time indicates that the control bit and the operation bit are the same qubit, which is not allowed when constructing a quantum wire, so n1And n2Are all integers and n1Is not equal to n2
(2) If the core is in the same main core, configuring a third slave core calculation parameter corresponding to the main core; if the two master cores are positioned, acquiring a quantum state data copy in the other master core, and configuring a fourth slave core calculation parameter corresponding to the master core; and if the data are in the four main cores, obtaining quantum state data copies in the other three main cores, and configuring the fifth slave core calculation parameters corresponding to the main cores.
Similarly, a slave-core calculation parameter structure including slave-core calculation parameter information may be arranged. The third slave core calculating parameters includes: the total number and the initial address of the quantum state of the main core, the bit number of the operation bit, the target bit, the unitary matrix parameter of the quantum logic gate, the controlled state (whether controlled) and the bit number of the controlled quantum bit; the fourth slave core calculating parameters includes: the total number and the initial address of the quantum state of the main core, the initial address, the operation bit and the target bit of the local storage corresponding to the quantum state of the main core, the unitary matrix parameter of the quantum logic gate, whether the quantum logic gate is controlled or not and the number of bits of the controlled quantum bit; the fifth slave core calculating parameters includes: the total number and the first address of the quantum state of the main core, the first addresses of other three locally stored quantum states of the main core, an operation bit, a target bit, unitary matrix parameters of the quantum logic gate, whether the quantum logic gate is controlled or not and the number of bits of the controlled quantum bit.
(3) And the master core calls the slave core to execute the calculation task corresponding to the third slave core calculation parameter, the fourth slave core calculation parameter or the fifth slave core calculation parameter, and waits until the slave core task is completed.
When the slave core is called by the master core, the slave core executes the steps of:
(1) obtaining a slave core calculation parameter corresponding to the calculation task, when the slave core calculation parameter is a third slave core calculation parameter, obtaining four quantum state subscripts corresponding to each other by each slave core according to a control bit qubit, a target bit qubit and an existing interpolation algorithm, performing each calculation according to the obtained quantum state subscript and the third slave core calculation parameter, and updating the four quantum state values corresponding to each other simultaneously by one calculation, wherein the calculation frequency of each slave core is determined by averaging the total frequency (the quantum state number of one master core is divided by 4) required by the master core to calculate the four quantum states corresponding to each other at a time; and correspondingly writing the quantum state update value obtained by calculation back to the main core.
The corresponding relation of the four quantum states is as follows: supposing that the quantum state with subscript a of quantum state array state is calculated, other three corresponding quantum states need to be found, the subscripts are respectively b, c and d, and the difference values of a, b, c and d are sequentially 2n1、2n2、2n1+2n2,n1、n2The number of bits of the control bit qubit and the number of bits of the operation bit qubit, respectively. The 3 differences are calculated offsets, the position (subscript value) of the first subscript in the four quantum state subscripts with corresponding relations is obtained, and the offset 2 is calculated according to the calculated offsetn1、2n2、2n1+2n2The other three quantum state indices are obtained. Then fromAnd sequentially taking the calculated quantum state original data from the quantum state corresponding address of the master core, performing quantum state calculation updating in the slave core, and writing the four updated quantum state values back to the same position of the master core after calculation.
E.g. 4 qubits q3q2q1q0Comprising 16 quantum states. For q1q2(n1=1,n22), the first calculation has a set of four corresponding quantum states 0000, 0010, 0100, 0110, the second calculation has 0001, 0011, 0101, 0111, the third calculation has 1000, 1010, 1100, 1110, the fourth calculation has 1001, 1011, 1101, 1111, and the q1 bit and q2 bit of the first quantum state of each calculation are both 0. Removing q of each group of quantum states1Bit sum q2The first subscript of a group of quantum states calculated each time is 0(00), 1(01), 2(10), 3(11) in sequence; for q0q2(n1=0,n22), the first calculation 0000, 0001, 0100, 0101, the second calculation 0010, 0011, 0110, 0111, the third calculation 1000, 1001, 1100, 1101, the fourth calculation 1010, 1011, 1110, 1111, removing q for each group of quantum states0Bit sum q2The first subscript of a set of quantum states calculated each time becomes 0(00), 1(01), 2(10), 3(11) in sequence, corresponding to a traversal from 00 to 11. Thus, for q1q2Traversing to remove q in order to determine the first quantum state position for the first calculation1Bit sum q2And (5) inserting 10 in each of the corresponding two bits of the 00 bits after the bit to obtain a first quantum state 0000 (subscript 0) of the first calculation, traversing to 01 in the second calculation, inserting 10 in each of the original quantum state control bit and the operation bit to obtain a first quantum state 0001 (subscript 1) of the second calculation, and so on, wherein the first quantum state of the third calculation is 1000(8), and the first quantum state of the fourth calculation is 1001 (9). For q, the same principle applies0q2The first quantum state of the first calculation is to remove q0And q is2In bit 00 in original q0、q2Inserting 10 bit to obtain 0000(0), inserting 10 bit to the first quantum state of the second calculation in 01 to obtain 0010(2), and calculating for the third timeThe first quantum state calculated is 1000(8), and the first quantum state calculated for the fourth time is 1010 (10). The above is the principle of the insertion algorithm, and can be specifically realized by the insert function in the prior art.
(2) And when the slave core calculation parameter is the fourth slave core calculation parameter, judging whether the quantum state number equally divided from the corresponding master core is larger than the single calculation cycle of the quantum state value of the target bit quantum bit.
(3) If the value is larger than the threshold value, the operation is similar to the operation of a single-quantum logic gate, which indicates that two quantum states required by the master core during one calculation appear in pairs in each slave core, each slave core performs each calculation according to the respective fourth slave core calculation parameter, and the two corresponding quantum state values in the same slave core are updated simultaneously through one calculation. Otherwise, if the quantum state is smaller than the threshold value, it is indicated that two quantum states of the master core calculated at one time are distributed between two different slave cores under the same master core, that is, only half of the slave cores in all the master cores participate in calculation, and the other half of the slave cores do not need to calculate. Each slave core judges whether to participate in calculation according to the target quantum bit of the operation, and the slave cores participating in the calculation perform calculation each time according to the fourth slave core calculation parameter, and update one internal quantum state value and another corresponding quantum state value positioned in different slave cores at the same time through calculation once; and correspondingly writing the quantum state update value obtained by calculation back to the quantum state corresponding position of the main core.
And for the slave core needing to participate in the calculation, sequentially fetching data needed by the calculation according to the quantum state first address of the master core and the first address of another master core quantum state data copy locally stored by the master core, performing calculation updating of two quantum states in the slave core, and writing the two updated quantum state values back to the same position of the master core after the calculation.
(4) And when the slave core calculation parameter is a fifth slave core calculation parameter, performing calculation for each time according to the fifth slave core calculation parameter, updating an internal single quantum state value by calculation once, and correspondingly writing the calculated quantum state update value back to the master core.
It should be noted that, in the case that the single-quantum logic gate operation or the dual-quantum logic gate operation is in a controlled state, before performing each computation, according to a primary core identifier (primary core number) to which a current quantum state belongs and a current quantum state position, determining a true subscript value of the current quantum state (subscript true value being an array subscript value storing the current quantum state in a primary core + current primary core number + total number of each primary core quantum state), determining whether values of a controlled control bit (the controlled control bit is a controlled quantum bit, the same below) corresponding to the true subscript value are all 1, if all are 1, continuing to perform the step of performing each computation, otherwise, not completing the computation, determining the next quantum state, performing the computation if all are 1, and if not, performing the computation.
For example, 4 quantum ratios have 16 quantum states 0000-. Each main core is provided with an array for storing 4 quantum states in turn (the sequence of the subscript values of the quantum states from small to large), and the length of the array is 4. Since the arrays in the computer will also have subscripts (the number of subscripts in an array is an array length value) and the subscript value of each array starts from 0(0, 1,2 … … in order), that is, each stored quantum state will have an array subscript, and the array subscript values of the first to fourth quantum states of any one of the above-mentioned primary cores are 0,1, 2, and 3, respectively. In order to verify the quantum state index value in the controlled state, it is necessary to calculate the current true index value, for example, the first quantum state 0000 of the primary core No. 0 (the theoretical index value is 0), where the current true index value is the array index value 0+ the primary core number 0 ×, the total quantum state 4 of each primary core is 0; the second quantum state 0101 of the primary core No. 1 (theoretical subscript value 5), where the current real subscript value is the array subscript value 1+ the number of the primary core 1 — the total number of quantum states of the primary core 4 is 5; the third quantum state 1010 of the primary core No. 2, the current true subscript value 2+2 × 4 ═ 10, the fourth quantum state 1111 of the primary core No. 3, the current true subscript value 3+3 × 4 ═ 15.
And then judging whether the control bits controlled by the subscript real value are all 1. When the quantum logic gate operation is in a controlled state, the number of controlled control bits (one or more bits are preset as controlled quantum bits) can be set to be more than one but not more than the total quantum bit number, and cannot beBits operated on by the quantum logic gates (distinguished from target bits operated on by single quantum logic gates, control bit bits and operation bit bits of double quantum logic gates). Such as q3q2q1q0With single quantum logic gate operating as q0The controlled control bit may be q3、q2、q1One or more of (a); operating with double quantum logic gates as q1、q0Then the controlled control bit may be q3、q2One or two. If the operation of a single quantum logic gate corresponds to a controlled control bit of q2、q1For a true subscript value of 15, the corresponding binary value is 1111,1111 corresponding to the controlled control bit q2、q1If the value of (1) is all 1, the steps of each calculation are continued. E.g. dual quantum logic gate operation corresponding to controlled control bit q3、q2For a true subscript value of 10, the corresponding binary value is 1010,1010 corresponds to the controlled control bit q3、q2Are 1,0, respectively, then the current quantum state 1010 with a true subscript value of 10 is not calculated.
In the calculation process of the dual-quantum logic gate operation, four quantum state information are needed in one calculation, if the four quantum states are distributed in different main cores, the values of the four quantum states are separately calculated, the calculation may be performed by two main cores, each main core and the slave core thereof are responsible for calculation, two quantum states are updated simultaneously in one calculation, or the calculation may be performed by four main cores, each main core and the slave core thereof are responsible for calculation, one quantum state is updated in one calculation, but the correctness of the result is not affected.
Exemplarily, with q4q3q2q1q0For example, configuring 4 master cores and 8 slave cores, the storage distribution of 32 quantum states is shown in table 2:
TABLE 2 storage distribution of quantum states in 8 host cores
Figure BDA0002025720940000181
When a double-bit quantum logic gate is usedFor use in the first bit (q)0,n10) and on the second bit (q)1,n2On condition 1, corresponding 00000(0), 00001(1), 00010(2), 00011(3) are a group, 00100(4), 00101(5), 00110(6), 00111(7) are a group, 01000(8), 01001(9), 01010(10), 01011(11) are a group, 01100(12), 01101(13), 01110(14), 01111(15) are a group, 10000(16), 10001(17), 10010(18), 10011(19) are a group, 10100(20), 10101(21), 10110(22), 10111(23) are a group, 11000(24), 11001(25), 11010(26), 11011(27) are a group, 11100(28), (29), 11110(30), 11111) are a group, and four quantum states including quantum state (0) (i.e., 0) and possibly quantum state (0)>Sum of states |1>Superposition of states) of the first bit (q) satisfied by each group0,n10) is |0>Or |1>On the second bit (q)1,n21) is |0>Or |1>And the quantum states of other qubits are identical.
Control bit qubit (q)0,n10) is 1, and is smaller than the total number of quantum states of a single master core, 8, a group of quantum states are in the same slave core, a third slave core computing parameter is configured, and the master core calls a slave core computing task. When the slave core is called by the master core, the calculation parameters of the third slave core are obtained, the slave core of the subordinate 2 divides the total calculation times 2 (the quotient of the quantum state number 8 of the master core and the quantum state number 4 calculated once), calculates the quantum state values (calculated by the times) of 00000(0), 00001(1), 00010(2), 00011(3) by one slave core 1 time, and calculates the quantum state values of 00100(4), 00101(5), 00110(6), 00111(7) by another slave core another time.
When a two-bit qubit quantum logic gate is applied to the second (q1, n1 ═ 1) and third (q2, n2 ═ 2) bits, a set of quantum states is located in a master core, and the corresponding set of quantum states obtained from the quantum state head address is: 00000(0), 00010(2), 00100(4), 00110(6), defining 4 complex numbers:
Complex s00=state[0];
Complex s01=state[2];
Complex s10=state[4];
Complex s11=state[6];
the values for the set of quantum states are calculated:
state[real00_idx]=s00*U00+s01*U01+s10*U02+s11*U03;
state[real01_idx]=s00*U10+s01*U11+s10*U12+s11*U13;
state[real10_idx]=s00*U20+s01*U21+s10*U22+s11*U23;
state[real11_idx]=s00*U30+s01*U31+s10*U32+s11*U33;
wherein the content of the first and second substances,
Figure BDA0002025720940000191
and representing the unitary matrix corresponding to the double-quantum logic gate. And the calculation of other groups of quantum states is updated similarly. When a group of 4 quantum states are distributed in 2 main cores and 4 main cores, the calculation principle is similar to the operation of a single quantum logic gate, and the calculation process is described above, and is not described herein again.
Thirdly, when the type of the quantum operation instruction of the current node is a measurement operation, the main core executes the steps of:
(1) configuring a slave core to measure an operating parameter; wherein measuring the operating parameter from the core comprises: the quantum state total number, the quantum state initial address, the probability result array initial address and the measurement quantum bit of the main core.
(2) And calling the slave core to execute the quantum state probability calculation task, and waiting until the slave core task is completed. The quantum state probability calculated by the slave core is written into the probability result array of the master core to be stored.
(3) And summarizing the calculation result of the quantum state probability to a main core, calculating a total probability result, transmitting the total probability result to other main cores, acquiring a random value, and comparing the random value with the total probability result to obtain the measurement result of the measurement operation.
And obtaining the probability of each quantum state stored in the probability result array from the initial address of the probability result array, summarizing the probability calculation results of all the main cores to the number 0 main core through a reduction method, calculating a total probability result P, and transmitting the total probability result P to all other main cores in a broadcasting mode. And obtaining a random value through a random number generator program, and comparing the random value with the total probability result P to obtain a measurement result 1 or 0.
(4) Configuring a normalization operation parameter from a nuclear quantum state; wherein the normalizing the operating parameters from the nuclear quantum state comprises: the total probability result, the measurement result, the quantum state total number of the single main core, the quantum state initial address and the measurement quantum bit.
(5) And invoking a computing task of executing the quantum state normalization operation from the core.
The slave core executing step includes: executing the computation task of quantum state probability and executing the computation task of quantum state normalization operation; the execution step of the calculation task of the quantum state probability comprises the following steps:
(1) and obtaining the secondary nuclear measurement operation parameters corresponding to the quantum state probability calculation task.
(2) And when the quantum states with the measured quantum bit values of 0 are all in the main core, the quantum state probability is calculated in the main core according to the operation parameters measured by the auxiliary core, and the calculated quantum state probability value is written back to the corresponding position of the main core probability result array.
(3) When the quantum states with the value of 0 and 1 of the measured quantum bit in the main core respectively account for half, each slave core judges whether the number of the quantum states equally divided from the main core is more than or equal to the calculation period of the quantum state probability of the measured quantum bit; if the quantum state probability value is larger than or equal to the preset quantum state probability value, each slave core calculates the quantum state probability value in the slave core according to the slave core measurement operation parameters, and writes the calculated quantum state probability value back to the master core; otherwise, each slave core judges whether the slave core participates in calculation according to the measured quantum bit, the slave cores participating in calculation calculate the quantum state probability in the slave cores according to the measured operation parameters of the slave cores, and the calculated quantum state probability value is written back to the corresponding position of the master core probability result array.
And when the quantum states with the measured quantum bit values of 1 are all in the master core, the slave core under the master core does not participate in calculation.
The execution step of the computing task of the quantum state normalization operation comprises the following steps:
(1) and acquiring the operation parameters normalized from the quantum state of the core.
(2) Each slave core calculates the quantum state which is divided by the slave core according to the quantum state normalization operation parameters of the slave core, correspondingly updates the amplitude of the quantum state according to the total probability result, the measurement result value and the measurement quantum bit, and writes the updated quantum state (amplitude) back to the master core.
For quantum state probability computation for a measurement operation, the objective is to compute the probability of measuring a quantum state with a qubit value of 0, typically only 1 qubit is measured. E.g. 4 qubits q3q2q1q0The quantum states are 0000(0) to 1111(15), the distribution of 4 master cores is shown in table 3, and each master core belongs to 2 slave cores. E.g. measuring qubits as q1Then q is determined1The distribution of the quantum states with bit 0 in the host core. Within each master core q1The quantum states of 0 and 1 each account for half, and the number 2 of quantum states divided from the core each is smaller than the calculation period 2 of the quantum state1+1If the number of the slave cores is 4, half of the slave cores participate in the calculation, the other half of the slave cores do not calculate, the number 0 master core only needs one slave core to calculate the quantum state probabilities of 0000(0), 0001(1), the number 1 master core only needs to be subordinate to one slave core to calculate the quantum state probabilities of 0100(4), 0101(5), the number 2 master core only needs to be subordinate to one slave core to calculate the quantum state probabilities of 1000(8), 1001(9), and the number 3 master core only needs to be subordinate to one slave core to calculate the quantum state probabilities of 1100(12), 1101 (13). The square of the real part and the square of the imaginary part of the quantum state amplitude value (complex) are added to obtain the sum, namely the quantum state probability. All q are put together1And summarizing the probability conventions of the quantum states with the bit of 0 to the number 0 main core and adding to obtain a total probability result P.
TABLE 3 storage distribution of quantum states in 4 principal cores
Figure BDA0002025720940000211
At the moment, a random value range (value range 0-1) is generated by a random number generator and compared with the total probability result P, if the random value range is greater than P, a measurement result 1 is generated, and if not, a measurement result 0 is generated.
The quantum state normalization means that when the measurement result is 1, the random is larger than P, and q is normalized1Updating the amplitude of each quantum state with bit 1 to the current amplitude and coefficient d1Product of (a), the rest q1The amplitude of the quantum states with bit 0 are all zeroed out, wherein,
Figure BDA0002025720940000212
when random is less than or equal to P, then q is paired1Updating the amplitude of each quantum state with 0 as the current amplitude and coefficient d2Product of (a), the rest q1The amplitude of the 1-bit quantum states is all zeroed out, wherein,
Figure BDA0002025720940000213
and writing the updated quantum state (amplitude) back to the original position of the main core to realize the quantum state normalization.
Fourthly, when the type of the quantum operation instruction is probability measurement operation, the main core executes the steps of:
(1) configuring a slave core probability measurement operating parameter; wherein the measuring operational parameters from the kernel probability comprises: the total number of quantum states of the main core, the initial address of the quantum state and the quantum bit number of probability measurement.
(2) And invoking a computing task of executing the quantum state probability from the core.
(3) And determining a result set to which each quantum state in the core belongs, wherein the result set is used for storing the quantum states in the quantum state groups divided according to the quantum bits of the probability measurement, and each main core stores the result sets of all categories.
(4) And writing the probability of the current quantum state into the affiliated result set.
(5) And each main core sends the respective result set to a specific main core for protocol summarization to obtain a probability measurement result.
The method comprises the steps of firstly calling a secondary kernel to calculate the probability corresponding to each quantum state, and calculating the sum of the square of a real part and the square of an imaginary part of the amplitude of each quantum state, namely the probability of the quantum state. After the slave core computing task is completed, each internal quantum state is traversed, a result set of which probability measurement operation the current quantum state belongs to is determined, and the probability of the current quantum state is written into the result set of the master core to which the quantum state belongs. Summarizing the result set conventions of other main cores into a process of the No. 0 main core, summarizing the a result set of each main core into the a result set of the No. 0 main core, summarizing the b result set of the No. 0 main core into the b result set of the No. 0 main core, corresponding one to one, finally adding the quantum state probabilities in the a result set of the No. 0 main core, adding the probabilities in the b result set of the No. 0 main core, and so on to obtain a total probability measurement operation result, namely each result set of the No. 0 main core has a probability value.
For example, for 4 qubits q3q2q1q0The quantum states are 0000(0) to 1111(15), and the distribution among 4 main cores is shown in Table 3. The qubit of the probability measure is q0And q is1(first and second bits) for measuring q1q0Probabilities of 00, 01, 10, 11, respectively, dividing q3q2q1q0The quantum states 0000, 0100, 1000 and 1100 are a groups, 0001, 0101, 1001 and 1101 are b groups, 0010, 0110, 1010 and 1110 are c groups, and 0011, 0111, 1011 and 1111 are d groups. Each main core is provided with four groups of a, b, c and d, four result sets a, b, c and d are in one-to-one correspondence, when one quantum state is one of a certain group, namely, the quantum state belongs to the corresponding result set of the group, and the probability of the current quantum state is written into the corresponding result set. For master core number 0, the quantum states of 0000(0) are assigned to group a, i.e. belonging to the a result set, and the probabilities of 0000(0) are written into the a result set of master core number 0. By analogy, the following can be obtained:
number 0 primary core: a result set stores the probability of 0000, b result set stores the probability of 0001, c result set stores the probability of 0010, and d result set stores the probability of 0011;
number 1 primary core: a, storing the probability of 0100 in a result set, storing the probability of 0101 in a result set, storing the probability of 0110 in a result set, and storing the probability of 0111 in a result set;
number 2 primary core: a probability of result set storage 1000, b probability of result set storage 1001, c probability of result set storage 1010, d probability of result set storage 1011;
number 3 primary core: a probability of result set storage 1100, b probability of result set storage 1101, c probability of result set storage 1110, and d probability of result set storage 1111.
Summarizing the result set conventions of the No. 1, No. 2 and No. 3 main cores to the No. 0 main core to obtain: the a result set of master core number 0 stores 4 quantum state probabilities of 0000, 0100, 1000, 1100, the b result set stores 4 quantum state probabilities of 0001, 0101, 1001, 1101, the c result set stores 4 quantum state probabilities of 0010, 0110, 1010, 1110, and the d result set stores 4 quantum state probabilities of 0011, 0111, 1011, 1111. Adding 4 quantum state probability values in each result set, finally, storing a total probability value in each result set a, b, c and d of the No. 0 primary core as a probability measurement result, and representing a quantum bit q of the probability measurement1q0Probabilities of 00, 01, 10, and 11, respectively. It should be noted that the number of qubits for probability measurement may be 1 (e.g., q)0Measuring q0Quantum state probabilities of 0 and 1, respectively), 2 (e.g., q)1q0) Or 3 (e.g. q)2q1q0Measuring q2q1q0Quantum state probabilities of 000, 001, 010, 011, 100, 101, 110, 111, respectively), and so forth.
TABLE 3 storage distribution of quantum states in 4 principal cores
Figure BDA0002025720940000231
The slave core executing step includes:
(1) obtaining a secondary nuclear probability measurement operating parameter.
(2) And calculating the quantum state probability of each quantum state allocated to the slave core according to the slave core probability measurement operation parameters, and correspondingly writing the calculated quantum state probability value back to the master core.
The master core is configured with a slave core parameter structure for calculating quantum state probabilities, the slave core parameter structure including slave core probability measurement operating parameters. When the slave core is called by the master core, the slave core probability measurement operation parameters are obtained, the quantum state data are sequentially obtained from the quantum state initial address of the master core, the quantum state data are calculated one by one, the quantum state probability is calculated in the slave core, the sum of the square of the real part and the square of the imaginary part of each quantum state amplitude is calculated to be the probability of the quantum state, and the calculated quantum state probability is written back to the corresponding position of the master core for storing the quantum state probability array.
The invention can be seen that the simulation efficiency of the full-amplitude quantum computation can be improved compared with the serial computation and the primary parallel computation mode by configuring the parallel distributed computation nodes, configuring the quantum program to be computed to the primary core of each computation node, configuring and initializing the quantum state stored by each primary core, traversing the nodes of the linked list in each primary core, then matching the primary core and the corresponding secondary core to execute the quantum operation instruction stored in the current node, realizing the full-amplitude quantum computation simulation on the distributed computation nodes based on the supercomputing platform, and simultaneously matching the subordinate secondary cores to perform the parallel computation on the basis of the parallel computation of the primary core in the working process.
The construction, features and functions of the present invention are described in detail in the embodiments illustrated in the drawings, which are only preferred embodiments of the present invention, but the present invention is not limited by the drawings, and all equivalent embodiments modified or changed according to the idea of the present invention should fall within the protection scope of the present invention without departing from the spirit of the present invention covered by the description and the drawings.

Claims (9)

1. A full-amplitude quantum computation simulation method is characterized by comprising the following steps:
configuring distributed computing nodes arranged in parallel, wherein the distributed computing nodes comprise a main core and a slave core which are communicated with each other;
configuring quantum programs to be calculated to a main core of each calculation node, wherein the quantum programs to be calculated are stored in a linked list form, and each node of the linked list stores a quantum operation instruction;
configuring and initializing quantum states stored by each main core according to the quantum bit quantity and the main core quantity required by executing the quantum program to be calculated, wherein each main core stores all quantum states of the quantum bits in an equally-divided manner;
and traversing the nodes of the linked list in each main core, and for the traversed current node, the main core and the corresponding slave core execute the quantum operation instruction stored in the current node in a matched manner until all the nodes of the linked list are traversed, so that full-amplitude quantum computation simulation is completed.
2. The full-amplitude quantum computation simulation method of claim 1, characterized in that: the quantum operation instruction stored in the current node is executed by the matching of the master core and the corresponding slave core, and the method comprises the following steps:
determining a type of the quantum operation instruction, the type comprising: single quantum logic gate operation, double quantum logic gate operation, measurement operation and probability measurement operation;
and the main core and the corresponding slave core are matched to execute the calculation corresponding to the type of the quantum operation instruction.
3. The full-amplitude quantum computation simulation method of claim 2, characterized in that: the calculation corresponding to the type of the quantum operation instruction executed by the matching of the main core and the corresponding slave core comprises the following steps: a master core executing step and a slave core executing step;
when the type of the quantum operation instruction is single quantum logic gate operation, the main core executes the steps of:
judging whether a pair of quantum states of the operated target bit qubits are in the same master core;
if the first slave core is in the same master core, configuring a first slave core calculation parameter corresponding to the master core; otherwise, acquiring all quantum state data copies in the master core to which the corresponding quantum state belongs, and configuring second slave core calculation parameters corresponding to the master core; wherein the first slave core calculating parameters comprises: the quantum state total number, the quantum state initial address, the unitary matrix parameter of the single quantum logic gate, the controlled state, the information of the controlled qubit and the operated target bit qubit data of the master core, and the second slave core calculation parameters comprise: the quantum state total number of the main core, the quantum state initial address, the unitary matrix parameter of the single quantum logic gate, the controlled state, the information of the controlled quantum bit, the quantum state initial address in the quantum state data copy and the operated target bit quantum bit data;
the master core calls a slave core to execute a computing task corresponding to the first slave core computing parameter or the second slave core computing parameter;
the slave core executing step includes:
obtaining a slave core calculation parameter corresponding to the calculation task;
when the slave core calculation parameter is a first slave core calculation parameter, judging whether the number of quantum states to be calculated, which are equally divided from the corresponding master core, is more than or equal to a single calculation period of a quantum state value;
if the quantum state value is larger than or equal to the first slave core calculation parameter, each slave core performs each calculation according to the first slave core calculation parameter, and simultaneously updates an internal quantum state value and another corresponding quantum state value located in the same slave core by one calculation, otherwise, each slave core judges whether to participate in the calculation according to the target quantum bit of the operation, and the slave cores participating in the calculation perform each calculation according to the first slave core calculation parameter, and simultaneously updates an internal quantum state value and another corresponding quantum state value located in different slave cores by one calculation;
correspondingly writing the quantum state update value obtained by calculation back to the quantum state corresponding position of the main core;
and when the secondary core calculation parameter is a second secondary core calculation parameter, performing calculation each time according to the second secondary core calculation parameter, updating an internal single quantum state value by calculation once, and correspondingly writing the calculated quantum state update value back to the primary core quantum state corresponding position.
4. The full-amplitude quantum computation simulation method of claim 3, characterized in that: the determining whether a pair of quantum states of the operated target bit qubit are in the same primary core comprises:
judging whether the quantum state calculation offset of the target bit quantum bit is smaller than the total number of quantum states in a single main core; if the number of the cores is smaller than the preset number, the cores are in the same main core, otherwise, the cores are in two main cores.
5. The full-amplitude quantum computation simulation method of claim 2, characterized in that: the calculation corresponding to the type of the quantum operation instruction executed by the matching of the main core and the corresponding slave core comprises the following steps: a master core executing step and a slave core executing step;
when the type of the quantum operation instruction is a double quantum logic gate operation, the main core executes the steps of:
judging whether a group of four quantum states corresponding to the control bit qubit and the target bit qubit are in the same main core;
if the core is in the same main core, configuring a third slave core calculation parameter corresponding to the main core; if the two master cores are positioned, acquiring a quantum state data copy in the other master core, and configuring a fourth slave core calculation parameter corresponding to the master core; if the current core is located in the four main cores, obtaining quantum state data copies in the other three main cores, and configuring a fifth slave core calculation parameter corresponding to the main core;
the master core calls a slave core to execute a computing task corresponding to the third slave core computing parameter, the fourth slave core computing parameter or the fifth slave core computing parameter;
the slave core executing step includes:
obtaining a slave core calculation parameter corresponding to the calculation task, when the slave core calculation parameter is a third slave core calculation parameter, obtaining four quantum state subscripts corresponding to each other by each slave core according to a control bit qubit, a target bit qubit and an insertion algorithm, performing each calculation according to the obtained quantum state subscript and the third slave core calculation parameter, and updating the four quantum state values corresponding to each other simultaneously by one calculation, wherein the calculation frequency of each slave core is determined by averaging the total frequency required by the master core to calculate the four quantum states corresponding to each other at a time; correspondingly writing the quantum state update value obtained by calculation back to the main core;
when the slave core calculation parameter is a fourth slave core calculation parameter, judging whether the quantum state number equally divided from the corresponding master core is larger than the single calculation period of the quantum state value of the target bit quantum bit;
if the quantum state value is larger than the first quantum state value, each slave core performs each calculation according to the respective fourth slave core calculation parameter, and updates the two quantum state values which are positioned in the same slave core and correspond to each other simultaneously through one calculation, otherwise, each slave core judges whether to participate in the calculation according to the target quantum bit of the operation, and the slave cores participating in the calculation perform each calculation according to the fourth slave core calculation parameter, and simultaneously update one internal quantum state value and the other corresponding quantum state value positioned in different slave cores through one calculation; correspondingly writing the quantum state update value obtained by calculation back to the main core;
and when the slave core calculation parameter is a fifth slave core calculation parameter, performing calculation for each time according to the fifth slave core calculation parameter, updating an internal single quantum state value by calculation once, and correspondingly writing the calculated quantum state update value back to the master core.
6. The full-amplitude quantum computation simulation method of claim 5, characterized in that: the determining whether a group of four quantum states corresponding to the control bit qubit and the target bit qubit are in the same primary core includes:
judging whether the quantum state calculation offset of the control bit qubit is smaller than the quantum state total number of the single main core;
if the number of the cores is less than the preset number, the cores are in the same main core;
otherwise, judging whether the calculation offset of the target bit qubit is smaller than the quantum state total number of the single main core;
and if the calculated offset of the target bit qubit is less than the total number of quantum states of a single master core, the target bit qubit is in two master cores, otherwise, the target bit qubit is in four master cores.
7. The full-amplitude quantum computation simulation method of claim 4 or 6, characterized in that: the method further comprises the following steps:
and under the condition that the single-quantum logic gate operation or the double-quantum logic gate operation is in a controlled state, before each calculation, determining the real index value of the current quantum state according to the main core identifier to which the current quantum state belongs and the current quantum state position, judging whether the controlled control bit corresponding to the real index value is 1, if so, executing the step of each calculation, and otherwise, ending the step.
8. The full-amplitude quantum computation simulation method of claim 2, characterized in that: the calculation corresponding to the type of the quantum operation instruction executed by the matching of the main core and the corresponding slave core comprises the following steps: a master core executing step and a slave core executing step;
when the type of the quantum operation instruction is a measurement operation, the main core executes the steps of:
configuring a slave core to measure an operating parameter; wherein measuring the operating parameter from the core comprises: the quantum state total number, the quantum state initial address, the probability result array initial address and the measurement quantum bit of the main core;
invoking a computing task of executing quantum state probability from the core;
summarizing the calculation result of the quantum state probability to a main core, calculating a total probability result, transmitting the total probability result to other main cores, and acquiring a random value to be compared with the total probability result to obtain the measurement result of the measurement operation;
configuring a normalization operation parameter from a nuclear quantum state; wherein the normalizing the operating parameters from the nuclear quantum state comprises: the total probability result, the measurement result, the quantum state total number of the single main core, the quantum state initial address and the measurement quantum bit;
invoking a computational task of performing quantum state normalization operations from the cores;
the slave core executing step includes: executing the computation task of quantum state probability and executing the computation task of quantum state normalization operation;
the execution step of the calculation task of the quantum state probability comprises the following steps:
obtaining a secondary nuclear measurement operation parameter corresponding to a quantum state probability calculation task;
when quantum states with the quantum bit value of 0 are measured in the main core, the quantum state probability is calculated in the main core according to the operation parameters measured by the auxiliary core, and the calculated quantum state probability value is written back to the main core;
when the quantum states with the value of 0 and 1 of the measured quantum bit in the main core respectively account for half, each slave core judges whether the number of the quantum states equally divided from the main core is more than or equal to the calculation period of the quantum state probability of the measured quantum bit;
if the quantum state probability value is larger than or equal to the preset quantum state probability value, each slave core calculates the quantum state probability in the slave core according to the slave core measurement operation parameters, and writes the calculated quantum state probability value back to the corresponding position of the master core probability result array; otherwise, each slave core judges whether the slave core participates in calculation according to the measured quantum bit, the slave cores participating in calculation calculate the quantum state probability in the slave cores according to the measured operation parameters of the slave cores, and write the calculated quantum state probability value back to the corresponding position of the master core probability result array;
the execution step of the computing task of the quantum state normalization operation comprises the following steps:
obtaining a secondary nuclear quantum state normalization operation parameter;
each slave core calculates the quantum state which is uniformly divided by the slave core according to the slave core quantum state normalization operation parameters, correspondingly updates the quantum state amplitude according to the total probability result, the measurement result value and the measurement quantum bit, and writes the updated quantum state back to the master core.
9. The full-amplitude quantum computation simulation method of claim 2, characterized in that: the calculation corresponding to the type of the quantum operation instruction executed by the matching of the main core and the corresponding slave core comprises the following steps: a master core executing step and a slave core executing step;
when the type of the quantum operation instruction is a probability measurement operation, the main core executes the steps of:
configuring a slave core probability measurement operating parameter; wherein the measuring operational parameters from the kernel probability comprises: the quantum state total number, the quantum state initial address and the quantum bit number of probability measurement of the main core;
invoking a computing task of executing quantum state probability from the core;
determining a result set to which each quantum state in the core belongs, wherein the result set is used for storing quantum states in quantum state groups divided according to probability measurement quantum bits, and each main core stores result sets of all categories;
writing the probability of the current quantum state into the corresponding result set;
each main core sends the respective result set to a specific main core for protocol summarization to obtain a probability measurement result;
the slave core executing step includes:
obtaining a secondary nuclear probability measurement operating parameter;
and calculating the quantum state probability of each quantum state allocated to the slave core according to the slave core probability measurement operation parameters, and correspondingly writing the calculated quantum state probability value back to the master core.
CN201910293555.2A 2019-04-12 2019-04-12 Full-amplitude quantum computing simulation method Active CN111832144B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910293555.2A CN111832144B (en) 2019-04-12 2019-04-12 Full-amplitude quantum computing simulation method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910293555.2A CN111832144B (en) 2019-04-12 2019-04-12 Full-amplitude quantum computing simulation method

Publications (2)

Publication Number Publication Date
CN111832144A true CN111832144A (en) 2020-10-27
CN111832144B CN111832144B (en) 2024-04-09

Family

ID=72915277

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910293555.2A Active CN111832144B (en) 2019-04-12 2019-04-12 Full-amplitude quantum computing simulation method

Country Status (1)

Country Link
CN (1) CN111832144B (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022247710A1 (en) * 2021-05-28 2022-12-01 合肥本源量子计算科技有限责任公司 Quantum computer architecture system
CN117291273A (en) * 2023-11-24 2023-12-26 合肥微观纪元数字科技有限公司 Quantum Computing Blockchain System

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005056084A (en) * 2003-08-01 2005-03-03 Japan Science & Technology Agency Semiconductor arithmetic unit
WO2005122052A1 (en) * 2004-06-05 2005-12-22 D-Wave Systems, Inc. Hybrid classical-quantum computer architecture for molecular modeling
WO2007049282A2 (en) * 2005-10-26 2007-05-03 Cortica Ltd. A computing device, a system and a method for parallel processing of data streams
US20110219208A1 (en) * 2010-01-08 2011-09-08 International Business Machines Corporation Multi-petascale highly efficient parallel supercomputer
WO2014146162A1 (en) * 2013-03-20 2014-09-25 Newsouth Innovations Pry Limited Quantum computing with acceptor-based qubits
WO2017000035A1 (en) * 2015-06-30 2017-01-05 The University Of Melbourne Determining a spatial configuration of multiple nuclei
WO2017214320A1 (en) * 2016-06-07 2017-12-14 Edico Genome, Corp. Bioinformatics systems, apparatus, and methods for performing secondary and/or tertiary processing
US20190108087A1 (en) * 2017-10-10 2019-04-11 International Business Machines Corporation Proactive voltage droop reduction and/or mitigation in a processor core

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005056084A (en) * 2003-08-01 2005-03-03 Japan Science & Technology Agency Semiconductor arithmetic unit
WO2005122052A1 (en) * 2004-06-05 2005-12-22 D-Wave Systems, Inc. Hybrid classical-quantum computer architecture for molecular modeling
WO2007049282A2 (en) * 2005-10-26 2007-05-03 Cortica Ltd. A computing device, a system and a method for parallel processing of data streams
US20110219208A1 (en) * 2010-01-08 2011-09-08 International Business Machines Corporation Multi-petascale highly efficient parallel supercomputer
WO2014146162A1 (en) * 2013-03-20 2014-09-25 Newsouth Innovations Pry Limited Quantum computing with acceptor-based qubits
WO2017000035A1 (en) * 2015-06-30 2017-01-05 The University Of Melbourne Determining a spatial configuration of multiple nuclei
WO2017214320A1 (en) * 2016-06-07 2017-12-14 Edico Genome, Corp. Bioinformatics systems, apparatus, and methods for performing secondary and/or tertiary processing
US20190108087A1 (en) * 2017-10-10 2019-04-11 International Business Machines Corporation Proactive voltage droop reduction and/or mitigation in a processor core

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
刘晓楠;荆丽娜;王立新;王美玲;: "基于申威26010处理器的大规模量子傅里叶变换模拟", 计算机科学, no. 08 *
周正威;陈巍;孙方稳;项国勇;李传锋;: "量子信息技术纵览", 科学通报, no. 17 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022247710A1 (en) * 2021-05-28 2022-12-01 合肥本源量子计算科技有限责任公司 Quantum computer architecture system
CN117291273A (en) * 2023-11-24 2023-12-26 合肥微观纪元数字科技有限公司 Quantum Computing Blockchain System
CN117291273B (en) * 2023-11-24 2024-02-13 合肥微观纪元数字科技有限公司 Quantum Computing Blockchain System

Also Published As

Publication number Publication date
CN111832144B (en) 2024-04-09

Similar Documents

Publication Publication Date Title
CN110569979A (en) Logical-physical bit remapping method for noisy medium-sized quantum equipment
CN111027702B (en) Method and device for realizing quantum circuit replacement, storage medium and electronic device
Rios et al. Exploring parallel multi-GPU local search strategies in a metaheuristic framework
CN111915011B (en) Single-amplitude quantum computing simulation method
Liu Parallel and scalable sparse basic linear algebra subprograms
CN111832144B (en) Full-amplitude quantum computing simulation method
Yin et al. Strategies to deploy and scale deep learning on the summit supercomputer
Lin et al. Accelerating large sparse neural network inference using GPU task graph parallelism
CN109993309B (en) MPI multi-process based dual-quantum logic gate implementation method
CN110264392B (en) Strong connection graph detection method based on multiple GPUs
CN106484532B (en) GPGPU parallel calculating method towards SPH fluid simulation
Imamura et al. mpiqulacs: a distributed quantum computer simulator for A64FX-based cluster systems
Gayatri et al. Rapid exploration of optimization strategies on advanced architectures using testsnap and lammps
CN111931939A (en) Single-amplitude quantum computation simulation method
Jiang et al. GLARE: Accelerating Sparse DNN Inference Kernels with Global Memory Access Reduction
Gosmann et al. Automatic optimization of the computation graph in the Nengo neural network simulator
CN116227615A (en) Quantum search simulation method and system for super computing
CN113836174B (en) Asynchronous SQL (structured query language) connection query optimization method based on reinforcement learning DQN (direct-to-inverse) algorithm
Charlton et al. Two-dimensional batch linear programming on the GPU
Jiao et al. Communication Optimizations for State-vector Quantum Simulator on CPU+ GPU Clusters
CN115409187A (en) Quantum machine learning simulation method and system based on OpenMP parallel model
Mizera et al. GPU-accelerated steady-state computation of large probabilistic Boolean networks
Lotrič et al. Parallel implementations of recurrent neural network learning
Duan et al. Cell-list based molecular dynamics on many-core processors: a case study on sunway TaihuLight supercomputer
Zou et al. Meta-meshing and triangulating lattice structures at a large scale

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information

Address after: 230008 6th floor, building E2, phase II, venture industrial park, high tech Zone, Hefei City, Anhui Province

Applicant after: Benyuan Quantum Computing Technology (Hefei) Co.,Ltd.

Address before: 230008 6th floor, building E2, phase II, venture industrial park, high tech Zone, Hefei City, Anhui Province

Applicant before: ORIGIN QUANTUM COMPUTING COMPANY, LIMITED, HEFEI

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant