Systems and methods for distributed quantum computing
A distributed quantum computing system is provided that performs distributed quantum computing with time synchronization. The distributed quantum computing system includes a computer processing unit configured to instruct one or more quantum processing units to perform one or more operations associated with a quantum algorithm. The one or more QPUs include a plurality of qubits and the one or more QPUs are in communication with each other via a quantum channel. Each of the plurality of qubits may include local qubits, global qubits, and/or synchronization qubits. The local qubits and global qubits of each QPU may be configured to perform the one or more operations associated with the quantum algorithm. The synchronization qubits of each QPU may be configured to determine if the one or more operations associated with the quantum algorithm performed by each of the one or more QPUs are in sync.
1 . An apparatus comprising:
a first quantum processing unit (QPU) configured to continuously perform one or more operations associated with a quantum algorithm,
wherein the first QPU comprises a first plurality of qubits, and
wherein at least a portion of the first plurality of qubits are synchronization qubits, wherein the apparatus is configured to determine if the one or more operations continuously performed by the first QPU are in sync with operations continuously performed by one or more other QPUs coupled with the first QPU,
wherein, responsive to a determination associated with synchronization of the first QPU, the apparatus is configured to selectively store or discard data generated by the continuous performance of the one or more operations associated with the quantum algorithm.
2 . The apparatus of claim 1 , wherein at least a portion of the first plurality of qubits are local qubits configured to perform the one or more operations associated with the quantum algorithm on the first QPU.
3 . The apparatus of claim 2 , wherein the synchronization qubits are independent of the local qubits performing the one or more operations associated with the quantum algorithm.
4 . The apparatus of claim 1 , further comprising:
a second QPU in communication with the first QPU via a quantum channel and configured to perform the one or more operations associated with the quantum algorithm,
wherein the second QPU comprises a second plurality of qubits, and
wherein at least a portion of the second plurality of qubits are synchronization qubits configured to determine if the one or more operations performed by the second QPU associated with the quantum algorithm are in sync.
5 . The apparatus of claim 4 , wherein the synchronization qubits of the first QPU and the synchronization qubits of the second QPU are further configured to determine if the one or more operations associated with the quantum algorithm performed by the first QPU and the second QPU are in sync.
6 . The apparatus of claim 5 , wherein determining if the one or more operations associated with the quantum algorithm are in sync comprises:
transmitting the synchronization qubits of the first QPU to the second QPU via a quantum channel;
performing a quantum operation on the synchronization qubits of the first QPU to generate updated synchronization qubits of the first QPU;
transmitting the updated synchronization qubits of the first QPU from the second QPU to the first QPU via the quantum channel; and
determining whether the one or more operations associated with the quantum algorithm performed by the first QPU and the one or more operations associated with the quantum algorithm performed by the second QPU are in sync based on the updated synchronization qubits of the first QPU.
7 . The apparatus of claim 5 , wherein the first QPU and the second QPU operate in parallel to perform the one or more operations associated with the quantum algorithm.
8 . The apparatus of claim 7 , wherein at least a portion of the first plurality of qubits of the first QPU comprise global qubits and wherein at least a portion of the second plurality of qubits of the second QPU comprise global qubits, wherein the global qubits of the first QPU are configured to perform the one or more operations associated with the quantum algorithm in conjunction with the global qubits of the second QPU.
9 . The apparatus of claim 8 , wherein the global qubits of the first QPU and the global qubits of the second QPU are entangled.
10 . The apparatus of claim 4 , further comprising a computer processing device in communication with the first QPU and the second QPU, wherein the computer processing device is configured to receive data generated by the one or more operations associated with the quantum algorithm performed by the first QPU and the second QPU.
11 . The apparatus of claim 1 , wherein determining that the one or more operations continuously performed by the first QPU associated with the quantum algorithm are in sync is based at least in part on a handshake-based quantum operation on the synchronization qubits of the first QPU.
12 . The apparatus of claim 1 , wherein determining that the one or more operations continuously performed by the first QPU associated with the quantum algorithm are in sync is based on a measurement of the synchronization qubits of the first QPU.
13 . The apparatus of claim 12 , wherein the measurement comprises at least a measurement of the phase of the synchronization qubits.
14 . A method comprising:
transmitting a first synchronization qubit associated with a first quantum processing unit (QPU) to a second QPU via a quantum channel, wherein the first QPU and the second QPU are configured to perform one or more operations associated with a quantum algorithm;
performing a handshake-based quantum operation on the first synchronization qubit to generate an updated first synchronization qubit;
transmitting the updated first synchronization qubit from the second QPU to the first QPU via the quantum channel; and
determining whether the one or more operations associated with the quantum algorithm performed by the first QPU and the one or more operations associated with the quantum algorithm performed by the second QPU are in sync based on the updated first synchronization qubit.
15 . The method of claim 14 , in an instance in which the one or more operations associated with the quantum algorithm performed on the first QPU and the one or more operations associated with the quantum algorithm performed on the second QPU are in sync, further comprising:
instructing the first QPU and the second QPU to terminate the one or more operations associated with the quantum algorithm.
16 . The method of claim 14 , in an instance in which the one or more operations associated with the quantum algorithm performed on the first QPU and the one or more operations associated with the quantum algorithm performed on the second QPU are not in sync, further comprising:
discarding data generated by the one or more operations associated with the quantum algorithm performed by the first QPU and the second QPU.
17 . The method of claim 14 , wherein the first QPU further comprises local qubits and global qubits, wherein the second QPU further comprises local qubits and global qubits.
18 . The method of claim 17 , wherein local qubits of the first QPU are configured to perform the one or more operations associated with the quantum algorithm on the first QPU, wherein the local qubits of the second QPU are configured to perform the one or more operations associated with the quantum algorithm on the second QPU.
19 . The method of claim 18 , wherein the first synchronization qubit and the second synchronization qubit are independent of the local qubits of the first QPU and the local qubits of the second QPU performing the quantum algorithm.
20 . The method of claim 17 , wherein the global qubits of the first QPU are configured to perform the one or more operations associated with the quantum algorithm in conjunction with the global qubits of the second QPU.
21 . The method of claim 17 , wherein the global qubits of the first QPU and the global qubits of the second QPU are entangled.
22 . A method comprising:
transmitting a first instruction to perform one or more operations associated with a quantum algorithm on a first quantum processing unit (QPU) and a second QPU, wherein the first QPU comprises synchronization qubits and the second QPU comprises synchronization qubits, wherein the synchronization qubits of the first QPU and the synchronization qubits of the second QPU are configured to determine if the one or more operations associated with the quantum algorithm performed by the first QPU and the second QPU are in sync, wherein determining if the one or more operations associated with the quantum algorithm are in sync comprises:
transmitting the synchronization qubits of the first QPU to the second QPU via a quantum channel;
performing a handshake-based quantum operation on the synchronization qubits of the first QPU to generate updated synchronization qubits of the first QPU;
transmitting the updated synchronization qubits of the first QPU from the second QPU to the first QPU via the quantum channel; and
determining whether the one or more operations associated with the quantum algorithm performed by the first QPU and the one or more operations associated with the quantum algorithm performed by the second QPU are in sync based on the updated synchronization qubits of the first QPU.
23 . The method of claim 22 , wherein in an instance in which the one or more operations associated with the quantum algorithm performed on the first QPU and the one or more operations associated with the quantum algorithm performed on the second QPU are in sync:
receiving data generated by the one or more operations associated with the quantum algorithm performed by the first QPU and the second QPU.
24 . The method of claim 22 , wherein the first QPU further comprises local qubits and global qubits, wherein the second QPU further comprises local qubits and global qubits.
25 . The method of claim 24 , wherein the local qubits of the first QPU are configured to perform the one or more operations associated with the quantum algorithm on the first QPU, wherein the local qubits of the second QPU are configured to perform the one or more operations associated with the quantum algorithm on the second QPU.
26 . The method of claim 25 , wherein the synchronization qubits of the first QPU and the synchronization qubits of the second QPU are independent of the local qubits of the first QPU and the local qubits of the second QPU performing the quantum algorithm.
27 . The method of claim 24 , wherein the global qubits of the first QPU are configured to perform the one or more operations associated with the quantum algorithm in conjunction with the global qubits of the second QPU.
28 . The method of claim 24 , wherein the global qubits of the first QPU and the global qubits of the second QPU are entangled.