Synchronised distributed quantum control system

The quantum control system with an event synchronisation unit and dedicated communication channels addresses the challenge of synchronising operations across multiple qubits, ensuring deterministic and low-latency branching, thereby improving quantum computing efficiency and reducing error rates.

GB2638969APending Publication Date: 2025-09-10RIVERLANE LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
GB2024003021
Authority / Receiving Office
GB · GB
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-03-01
Publication Date
2025-09-10

Smart Images

  • Figure 00000000_0000_ABST
    Figure 00000000_0000_ABST
Patent Text Reader

Abstract

A quantum control system for controlling a plurality of quantum devices in a quantum computing system, the quantum control system comprising: an event synchronisation unit 104; and, a plurality of quantum control units, each quantum control unit communicatively couplable to a respective subset of the plurality of quantum devices. A first quantum control unit 106a of the plurality of quantum control units is configured to transmit, responsive to an event trigger, a first event message to the event synchronisation unit; the synchronisation unit receives the first event message, determines a subset of the quantum control units associated with the first event message; the subset comprises at least the first quantum control unit and a second quantum control unit 106b. Next, the synchronisation unit transmits a respective second event message to each respective quantum control unit in the subset such that the quantum control units receive the messages concurrently. In another embodiment, the message receipt does not have to be concurrent; instead respective latencies or time delays between the synchronisation unit and quantum control units are allowed for before each control unit performs an operation. Optionally, each respective control unit may determine the respective delay.
Need to check novelty before this filing date? Find Prior Art

Description

Field of the invention The invention relates to quantum computing. Background Quantum computers have the potential to perform computations that would be intractable on even the most powerful classical computers. Instead of representing information using classical bits, quantum computers generally use qubits that can be in a simultaneous superposition of multiple quantum states. Qubits are prone to error, and achieving quantum advantage will require the use of quantum error correction codes to identify and correct qubit errors. Even with quantum error correction, qubits must be controlled with extraordinary precision in order to reduce error rates below threshold levels required for quantum error correction. Existing control systems are generally only capable of controlling relatively small numbers of qubits. Scaling to larger numbers of qubits requires distributed control systems with separate processing units responsible for controlling different groups of qubits. However, difficulty arises in distributed control systems when performing simultaneous operations between qubits that are connected to different parts of the control system. This problem is particularly acute when implementing conditional branching. For example, two qubits connected to different parts of the control system may require simultaneous operations based on a readout value associated with one of them. There is a need for distributed control system architectures that support fast low-latency branching between qubits coupled to different processing elements of the control system. Summary of the invention According to a first aspect of the invention, there is provided a quantum control system for controlling a plurality of quantum devices in a quantum computing system, the quantum control system comprising: an event synchronisation unit; and, a plurality of quantum control units, each quantum control unit communicatively couplable to a respective subset of the plurality of quantum devices, wherein a first quantum control unit of the plurality of quantum control units is configured to: transmit, responsive to an event trigger at the first quantum control unit, a first event message to the event synchronisation unit, and wherein the event synchronisation unit is configured to: receive the first event message from the first quantum control unit; determine, responsive to receiving the first event message, a subset of the plurality of quantum control units associated with the first event message, the subset of the plurality of quantum control units comprising at least the first quantum control unit and a second quantum control unit; and transmit a respective second event message to each respective quantum control unit of the subset of the plurality of quantum control units for concurrent receipt by the subset of the plurality of quantum control units. Certain quantum computing operations, such as repeat until success operations, are intrinsically non-deterministic. For example, active reset operations generally require the state of a qubit to be measured so that the qubit can be returned to a |0) state. The qubit is subsequently measured to check that it has been correctly reset, and if it is not in a 10> state the operation is repeated. Whilst each individual quantum gate can be performed deterministically, the overall runtime of the operation is non-deterministic. This creates challenges when synchronising operations on different quantum devices, especially when the quantum devices are controlled by different quantum control units in a distributed quantum control system. The event synchronisation unit of the first aspect ensures synchronisation between the first and second quantum control units by transmitting the respective second event messages for concurrent receipt by the first and second quantum control units. The behaviour of the first and second quantum control units subsequent to receipt of the respective second event messages is deterministic, so any following operations performed by the quantum control units can be performed with the high degree of synchronisation required by quantum systems. Quantum devices are devices that exploit quantum mechanical phenomena to encode information using quantum mechanical states. The quantum devices may include registers of quantum information carriers (e.g. registers of qubits, qutrits and / or qudits with more than three basis states) and other associated devices such as coupling devices (e.g. resonators etc.). A quantum computing system (also referred to herein as a quantum computer) is a computing system that exploits quantum mechanical phenomena (i.e. using quantum devices). A quantum control system is a classical processing system for controlling quantum devices in a quantum computing system. The event synchronisation unit is a classical processing system in the quantum control system that is responsible for orchestrating events within the quantum control system and maintaining synchronisation between operations performed by the quantum control units. Quantum control units are subsystems of the quantum control system that transmit control and readout operations to the quantum devices. Each quantum control unit is communicatively couplable to (i.e. adapted to be communicatively coupled to) a subset of the quantum devices. The quantum control units may be further coupled to devices (referred to herein as peripherals) such as signal generation and readout modules for performing control and readout operations on the quantum devices. Coupled or communicatively coupled means connected using a data link / data connection (e.g. a wireless / wired connection) for the transfer of digital information. The event trigger (also referred to herein as a first event trigger) may be any event that affects runtime operation of the second quantum control unit. For example, the first event trigger may be a qubit measurement result from a readout operation performed by the first quantum control unit (for example, a measurement result that is required for a decision at the second quantum control unit), or the first event trigger may indicate that an operation (e.g. part of a quantum computation being performed on the quantum computing system, such as a quantum gate or series of quantum gates) being performed by the first quantum control unit is complete or nearing completion (the second quantum control unit may need to delay its own operations so that future operations can be synchronised with those of the first quantum control unit). The first event trigger is preferably defined during compilation of the quantum computation ahead of runtime. The event message may any electronic message (e.g. a data packet) containing information associated with the relevant event, such as an event identifier and / or data values. As one skilled in the art will appreciate, the subset of the plurality of quantum control units may be determined in various ways based on the first event message or information contained therein. For example, the subset of the plurality of quantum control units may be determined using an identifier of the first event message in a lookup table at the event synchronisation unit. Concurrent receipt means that the respective second event messages are received within the same clock cycle at each of the plurality of quantum control units. A typical clock cycle of a quantum control unit implemented using an FPGA is 2-10 ns (FPGAs typically operate at frequencies of 100-500 MHz), with the clock cycles of different distributed quantum control units being synchronised to within 1 ns or closer (e.g. within 100 ps). Concurrent receipt therefore requires that the respective second event messages are received at each quantum control unit within 10 ns or less of each other. Optionally, the first quantum control unit may be further configured to: receive the respective second event message from the event synchronisation unit; determine, responsive to receiving the respective second event message, a first operation associated with at least one quantum device coupled to the first quantum control unit; and initiate the first operation at a first deterministic time after receiving the respective second event message, and wherein the second quantum control unit is further configured to: receive the respective second event message from the event synchronisation unit; determine, responsive to receiving the respective second event message, a second operation associated with at least one quantum device coupled to the second quantum control unit; and initiate the second operation at a second deterministic time after receiving the respective second event message. Performing the first and second operations at deterministic times after receiving the respective second event messages ensures that the first and second operations are correctly synchronised. One skilled in the art will recognise that deterministic behaviour can be ensured by implementing the first and second quantum control units using dedicate processing elements (i.e. a dedicated processing element in an FPGA or ASIC rather than a standard CPU). Deterministic means the time required by the computation or operation is always the same and can be determined ahead of runtime (i.e. during compilation). In other words, a deterministic operation is one that is always performed in the same fixed number of clock cycles. Performing an operation at a deterministic time after receiving the respective second event message means to perform the operation within a predetermined fixed time period (i.e. a fixed time period determined ahead of runtime, e.g. during compilation), or equivalently, to perform the operation in a fixed (and predetermined) number of clock cycles. The deterministic time period (i.e. the number of clock cycles) does not necessarily need to be calculated by the quantum control systems: the deterministic time period may be a consequence of the fact that each individual operation performed by the quantum control systems (including wait operations) is deterministic / has a known execution time (i.e. a known number of clock cycles); the deterministic time periods can therefore be achieved by executing a predetermined sequence of operations (i.e. determined during compilation) immediately upon receipt (i.e. without waiting, e.g. for another process to complete) of the respective second event message. The first deterministic time may optionally be the same as the second deterministic time (i.e. the first and second operations may be performed simultaneously). Alternatively, the first and second deterministic times may be different (i.e. the first and second operations may be performed by a predetermined offset equal to the difference between the first and second deterministic times). Transmitting the respective second event message for concurrent receipt by the subset of the plurality of quantum control units may comprise staggering transmission of the respective second event message to each respective quantum control unit of the subset of the of the plurality of quantum control units according to a respective communication latency between the event synchronisation unit and the respective quantum control unit. For example, if the latency between the event synchronisation unit and the second quantum control unit is longer than the latency between the event synchronisation unit and the first quantum control unit (e.g. because the connection between the event synchronisation unit and the second quantum control unit is physically longer) then the event synchronisation unit may delay transmission of the respective second event message to the first quantum control unit to account for the additional time taken for the second quantum control unit to receive the respective second event message (e.g. by the difference between the two latencies). Staggering transmission of the respective second event messages in this manner advantageously allows for synchronisation between the quantum control units even when they have different communication latencies. Alternatively, transmitting the respective second event message for concurrent receipt by the subset of the plurality of quantum control units may comprise transmitting the respective second event message to each respective quantum control unit of the subset of the plurality of quantum control units simultaneously along respective communication links (also referred to herein as event communication channels) having equal latency. As discussed above, concurrent receipt requires that the respective second event messages be received at the respective quantum control units during the same clock cycle (i.e. within 10 ns or less of each other depending upon the clock frequency of the quantum control unit). Equal latency therefore requires latencies that are within 10 ns of each other to ensure concurrent receipt. The first quantum control unit may be further configured to, subsequent to transmitting the first event message, transition to a wait state until receipt of the respective second event message. A wait state is a state in which the quantum control unit is ready to receive and immediately process event messages (i.e. without having to wait for an existing process to complete). Transitioning to a wait state until receipt of the respective second event message ensures that the first quantum control unit can immediately process the second event message and take appropriate action, thereby ensuring that subsequent operation of the first quantum control unit is deterministic and synchronised with the second quantum control unit. The second quantum control unit may be configured to, prior to receipt of the respective second event message, transition to a wait state until receipt of the respective second event message. Transitioning to a wait state until receipt of the respective second event message ensures that the second quantum control unit can immediately process the second event message and take appropriate action, thereby ensuring that subsequent operation of the second quantum control unit is deterministic and synchronised with the first quantum control unit. The second quantum control unit may be configured to transmit, responsive to another event trigger at the second quantum control unit, a third event message to the event synchronisation unit, wherein the event synchronisation unit is further configured to receive the third event message from the second quantum control unit, and wherein the subset of the plurality of quantum control units is further associated with the third event message. The other event trigger (which may also be referred to as a second event trigger) may be any event that affects runtime operation of the first quantum control unit. For example, the second event trigger may be a qubit measurement result from a readout operation performed by the second quantum control unit (for example, a measurement result that is required for a decision at the first quantum control unit), or the second event trigger may indicate that an operation (e.g. part of a quantum computation being performed on the quantum computing system, such as a quantum gate or series of quantum gates) being performed by the second quantum control unit is complete or nearing completion (the first quantum control unit may need to delay its own operations so that future operations can be synchronised with those of the second quantum control unit). The second event trigger is preferably defined during compilation of the quantum computation ahead of runtime. Sending event messages from both the first and the second quantum control units is useful in scenarios such as resynchronising the first and second quantum control units after they have been performing independent operations. The event trigger may have an associated data value. The data value may be one or more integers, fixed point numbers and / or floating point number, or it may be of another data type such as a character, character string, Boolean value, an array etc. The first and / or respective second event messages may optionally comprise the data value, or the data value may optionally be transmitted separately from the first and second event messages. The event trigger may be a measurement operation on a quantum device coupled to the first quantum control unit; wherein the associated data value is a measurement value associated with the measurement operation, and wherein the first quantum control unit is configured to initiate the measurement operation to obtain the measurement value. A measurement operation may also be referred to as a readout operation, and a measurement value may also be referred to as a readout value. Initiating the measurement operation may comprise the first quantum control unit instructing a readout module to perform the measurement operation. The first quantum control unit may be further configured to transmit the data value to the second quantum control unit, preferably wherein the second quantum control unit is further configured to receive the data value from the first quantum control unit. Transmitting the data value to the second quantum control unit may comprise transmitting the data value to the event synchronisation unit, wherein the event synchronisation unit is further configured to: receive the data value from the first quantum control unit; and transmit the first data value to the second quantum control unit. The quantum control system may further comprise dedicated event communication channels for communication of event messages. The use of dedicated event communication channels (i.e. channels that are used only for event messages) avoids contention issues and ensures deterministic communication latency between devices. The event synchronisation unit may be communicatively coupled to each of the first and the second quantum control units by a respective dedicated event communication channel. The first event message may comprise a first event identifier and each respective second event message may comprise a respective second event identifier. Identifiers are preferably defined during compilation and distributed to the event synchronisation unit and quantum control units ahead of runtime. The first event identifier and the respective second event identifiers may the same, or they may be different (e.g. all identifiers may be different, or the first identifier may be different and the respective second identifiers may all be the same as each other). According to a second aspect of the invention, there is provided a quantum control system for controlling a plurality of quantum devices in a quantum computing system, the quantum control system comprising: an event synchronisation unit; and, a plurality of quantum control units, each quantum control unit communicatively couplable to a respective subset of the plurality of quantum devices, wherein a first quantum control unit of the plurality of quantum control units is configured to: transmit, responsive to an event trigger at the first quantum control unit, a first event message to the event synchronisation unit, and wherein the event synchronisation unit is configured to: receive the first event message from the first quantum control unit; determine, responsive to receiving the first event message, a subset of the plurality of quantum control units associated with the first event message, the subset of the plurality of quantum control units comprising at least the first quantum control unit and a second quantum control unit; and transmit a respective second event message to each respective quantum control unit the subset of the plurality of quantum control units, wherein each respective quantum control unit of the subset of the plurality of quantum control units is configured to: receive the respective second event message; and perform a respective operation after a respective delay corresponding to a respective latency between the respective quantum control unit and the event synchronisation unit. The second aspect of the invention provides the same synchronisation functionality as the first aspect of the invention, except that synchronisation is ensured through the use of respective delays applied by the quantum control units instead of imposing synchronised receipt of the respective second event messages. The second aspect of the invention therefore provides an alternative solution to the same synchronisation problem solved by the first aspect of the invention. For example, if the latency between the event synchronisation unit and the second quantum control unit is longer than the latency between the event synchronisation unit and the first quantum control unit (e.g. because the connection between the event synchronisation unit and the second quantum control unit is physically longer) then the first quantum control unit may use a longer delay to account for the additional time taken for the second quantum control unit to receive the respective second event message. The respective second event messages may optionally be transmitted simultaneously. The respective delay can be determined during compilation time using known values of the respective latencies between the quantum control units and the event synchronisation unit (e.g. by measuring these, or by using known values associated with the connections / cables used to connect the devices). One or more of the respective delays can be zero. For example, the control system with the largest respective latency will preferably apply zero delay because it will be the last control system to receive the respective second message. At least one delay value is preferably non-zero (i.e. unless all latencies are equal). The second aspect of the invention provides the same benefits as the first aspect of the invention. Except for sending the respective second event messages for concurrent receipt and initiating the first and second operations at deterministic times after receiving the respective second event messages, any feature described in combination with the first aspect of the invention may also be combined with the second aspect of the invention. Each respective quantum control unit of the subset of the plurality of quantum control units may optionally be configured to determine the respective delay. Determining the delay may comprise retrieving a delay value from memory, or it may comprise receiving a delay value from the event synchronisation unit. The respective second event message may comprise the respective delay, or alternatively the respective delay may be stored on the respective quantum control unit (e.g. it may be determined during compilation and distributed to the quantum control unit to be stored in memory on the quantum control unit). According to a third aspect of the invention, there is provided an event synchronisation unit of a quantum control system for controlling a plurality of quantum devices in a quantum computing system, wherein the event synchronisation unit is configured to: receive, from a first quantum control unit of a plurality of quantum control units in the control system, a first event message in response to an event trigger at the first quantum control unit; determine, responsive to receiving the first event message, a subset of the plurality of quantum control units associated with the first event message, the subset of the plurality of quantum control units comprising the first quantum control unit and a second quantum control unit; and transmit a respective second event message to each respective quantum control unit of the subset of the plurality of quantum control units for concurrent receipt by the subset of the plurality of quantum control unit. The third aspect of the invention corresponds to the event synchronisation unit of the quantum control system of the first aspect of the invention (i.e. the first and third aspects are interrelated devices) and provides the same benefits as the first aspect of the invention. Any feature described in combination with the first aspect of the invention may also be combined with the third aspect of the invention. According to a fourth aspect of the invention, there is provided a (computer-implemented) method for controlling a plurality of quantum devices in a quantum computing system comprising an event synchronisation unit and a plurality of quantum control units, each quantum control unit communicatively coupled to a respective subset of the plurality of quantum devices, wherein the method comprises: transmitting, responsive to an event trigger at a first quantum control unit of the plurality of quantum control units, a first event message from the first quantum control to the event synchronisation unit; receiving, at the event synchronisation unit, the first event message from the first quantum control unit; determining, at the event synchronisation unit and responsive to receiving the first event message, a subset of the plurality of quantum control units associated with the first event message, the subset of the plurality of quantum control units comprising at least the first quantum control unit and a second quantum control unit; and transmitting, from the event synchronisation unit, a respective second event message to each respective quantum control unit of the subset of the plurality of quantum control units for concurrent receipt by the subset of the plurality of quantum control units. The fourth aspect of the invention corresponds to the method performed by the quantum control system of the first aspect of the invention and provides the same benefits as the first aspect of the invention. Any feature described in combination with the first aspect of the invention may also be combined with the fourth aspect of the invention. According to a fifth aspect of the invention, there is provided another (computer-implemented) method for controlling a plurality of quantum devices in a quantum computing system comprising an event synchronisation unit and a plurality of quantum control units, each quantum control unit communicatively coupled to a respective subset of the plurality of quantum devices, wherein the method comprises: transmitting, responsive to an event trigger at a first quantum control unit of the plurality of quantum control units, a first event message from the first quantum control to the event synchronisation unit; receiving, at the event synchronisation unit, the first event message from the first quantum control unit; determining, at the event synchronisation unit and responsive to receiving the first event message, a subset of the plurality of quantum control units associated with the first event message, the subset of the plurality of quantum control units comprising at least the first 9 quantum control unit and a second quantum control unit; transmitting, from the event synchronisation unit, a respective second event message to each respective quantum control unit of the subset of the plurality of quantum control units; and at each respective control unit of the subset of the plurality of quantum control units: receiving the respective second event message; and performing a respective operation a respective delay corresponding to a respective latency between the respective quantum control unit and the event synchronisation unit. The fifth aspect of the invention corresponds to the method performed by the quantum control system of the second aspect of the invention provides the same benefits as the second aspect of the invention. Any feature described in combination with the second aspect of the invention may also be combined with the fifth aspect of the invention. According to a sixth aspect of the invention, there is provided yet another (computer-implemented) method for controlling a plurality of quantum devices in a quantum computing system, the method comprising: receiving, at an event synchronisation unit of the quantum computing system, from a first quantum control unit of a plurality of quantum control units communicatively coupled to the event synchronisation unit, a first event message in response to an event trigger at the first quantum control unit; determining, at the event synchronisation unit and responsive to receiving the first event message, a subset of the plurality of quantum control units associated with the first event message, the subset of the plurality of quantum control units comprising the first quantum control unit and a second quantum control unit; and transmitting, by the event synchronisation unit, a respective second event message to each respective quantum control unit of the subset of the plurality of quantum control units for concurrent receipt by the subset of the plurality of quantum control units. The sixth aspect of the invention corresponds to the method performed by the event synchronisation unit of the third aspect of the invention provides the same benefits as the third aspect of the invention. Any feature described in combination with the third aspect of the invention may also be combined with the sixth aspect of the invention. According to a seventh aspect of the invention, there is provided a (non-transitory) computer readable medium comprising instructions which, when executed by a quantum control system comprising an event synchronisation unit and a plurality of quantum control units, cause the quantum computing system to perform the method of the fourth or fifth aspects of the invention. The seventh aspect of the invention provides the same benefits as the fourth and fifth aspects of the invention. Any feature described in combination with the fourth or fifth aspects of the invention may also be combined the seventh aspect of the invention. According to an eighth aspect of the invention, there is provided another (non-transitory) computer readable medium comprising instructions which, when executed by an event synchronisation unit of a quantum control system, cause the event synchronisation unit to perform the method of the sixth aspect. The eighth aspect of the invention provides the same benefits as the sixth aspect of the invention. Any feature described in combination with the sixth aspect of the invention may also be combined the eighth aspect of the invention. Brief description of the drawings Examples of the present invention will now be described in detail with reference to the accompanying drawings, in which: Fig. 1 is a schematic of a quantum computing system; Fig. 2 is a schematic of an event synchronisation unit and two quantum control units from the quantum computing system of Fig. 1; Fig. 3 is a schematic of a method for controlling quantum devices in the quantum computing system of Fig. 1; and Fig. 4 is another schematic of a method for controlling quantum devices in the quantum computing system of Fig. 1. Detailed description The Quantum Instrumentation Control Kit (QICK) (arXiv:2110.00557v2 [quant-ph]) is a quantum control system architecture that utilise a microprocessor to distribute timestamped instructions to first-in, first-out (FIFO) driven peripherals. Such an architecture cannot guarantee time determinism, which consequently imposes limitations for fast branching. Fast branching is the ability to perform low-latency operations that are dependent upon runtime events (for example, reading qubit states and branching based upon the outcomes in a short timeframe), and it is a critical aspect of quantum computing that is essential for quantum computing operations such as active reset, quantum error correction, and some quantum algorithms including certain implementations Shor’s algorithm. Certain qubit types, such as superconducting qubits, have very short coherence times, which makes it extremely important to minimise the latency of such branching operations. In a FIFO architecture, the processor enqueues instructions in the FIFO with future timestamps, with the FIFO only dispatching each instruction to its corresponding peripheral once the current time matches the instruction’s timestamp. Consequently, if an instruction is not inserted into the FIFO before its timestamp (e.g. due to operations in other parts of the quantum computer taking longer than expected), the operation fails. To prevent this issue, it becomes necessary to introduce substantial delays into the program sequence. However, these added delays have an adverse impact upon latency, which ultimately leads to increased qubit error rates due to the short coherence times exhibited by many types of qubits. The present invention overcomes the drawbacks of a FIFO architecture through the use of an event synchronisation unit that ensures deterministic behaviour without the need to introduce substantial delays into the program sequence. A schematic of a quantum computing system 100 is shown in Fig. 1. The quantum computing system 100 comprises an application processing unit (APU) 102 connected to an event synchronisation unit 104 (also referred to herein as an event distribution unit) and first and second quantum control units 106a, 106b (also referred to herein as control units) by a bus 114. The APU 102 is a classical processing device responsible for tasks such as compiling and / or distributing runtime instructions to the quantum control units 106a, 106b and event synchronisation unit 104 ahead of (and potentially during) runtime, and system management such as status reporting and updating. The event synchronisation unit 104 and quantum control units 106a, 106b are likewise classical processing devices. One or more of the APU 102, event synchronisation unit 104 and quantum control units 106a, 106b may be provided on the same hardware (e.g. on the same FPGA or ASIC), or one of more of these components may be distributed across different hardware devices (e.g. on separate FPGAs and / or ASICs). The bus may use any suitable communications protocol, for example the Advanced extensible Interface (AXI) protocol or an ethernet based protocol. As described in more detail below, the event synchronisation unit 104 is responsible for orchestrating runtime events to ensure runtime synchronicity between the quantum control units 106a, 106b. The event synchronisation unit 104 may optionally be integrated into a quantum control unit such as one of the illustrated quantum control units 106a, 106b. Alternatively, the event synchronisation unit may be integrated into a different part of the quantum computing system 100, or it may be a dedicated component. The event synchronisation unit 104 may also be responsible for starting a quantum computation, for example by distributing synchronised start event messages to the first and second quantum control units 106a, 106b, e.g. in response to a start trigger received from the APU 102. The first and second quantum control units 106a, 106b may be, or may comprise, micro sequencer devices (also referred to herein as sequencers). The first quantum control unit 106a is connected to the event synchronisation unit 104 by a bidirectional event channel 116a that carries event messages between the event synchronisation unit 104 and the first quantum control unit 106a. The second quantum control unit 106b is connected to the event synchronisation unit 104 by a downstream event channel 116b that carries event messages from the event synchronisation unit 104 to the second quantum control unit 106b. The event channels are preferably dedicated communication links used only for event messages; this avoids contention issues and ensures deterministic communication latency between devices. The communication channels between the event synchronisation unit 104 and the first and second quantum control units 106a, 106b (e.g. the bidirectional event channel 116a and the downstream event channel 116b) may be referred to herein as event channels or event communication channels. The first and second quantum control units 106a, 106b comprise respective buffers 128a, 128b (e.g. instruction buffers). Runtime instructions are pre-compiled ahead of runtime (e.g. by the APU 102) and distributed (e.g. via the bus 114) to the first and second quantum control units 106a, 106b for storage in the buffers 128a, 128b. The runtime instructions contain information required for the first and second quantum control units 106a, 106b to distribute instructions to its peripherals at the correct times during runtime. The event synchronisation unit 104 may similarly comprise a buffer (not shown) for storing runtime instructions, and devices may have additional unillustrated buffers, such as communication buffers (e.g. transmission and reception buffers for transmitting and receiving event packets). The first and second quantum control unit 106a, 106b are each connected to respective signal generation modules 108 by respective downstream signal generation channels 118a, 118b. The first quantum control unit 106a is additionally coupled to a readout module 110 by a downstream readout channel 120 and an upstream readout channel 122. The signal generation modules 108 and readout module 110 are peripherals of the first and second quantum control units 106a, 106b. The first and second quantum control units 106a, 106b can send commands to these peripherals using commands to request a readout or send specific pulses through the qubit control lines. Additionally, the first and second quantum control units 106a, 106b can wait for a fixed periods using the wait delay instructions. The first and second quantum control units 106a, 106b may also support conditional and unconditional jump instructions to incorporate if-else and while logic in the program flow. These instructions have fixed latencies and as such have deterministic runtimes that can be calculated precisely at compilation time. The signal generation modules 108 (which are responsible for controlling the qubits) transmit control signals to quantum devices (e.g. qubits) in the quantum hardware 112 via control lines 130. The signal generation modules 108 may receive digital instructions (e.g. digital pulse instructions and / or instructions defining quantum gates / operations) and may use a digital-to-analogue converter (DAC) to generate analogue control pulses for transmission to the quantum hardware 112. The control lines 130 may be waveguides or any other connection suitable for transmitting control signals to the quantum hardware 112. The readout module 110 (which is responsible for reading qubit states) transmits readout signals to the quantum hardware 112 via readout drive lines 124 and receives readout information via readout acquisition lines 126 (the readout drive lines 124 and readout acquisition lines 126 are collectively referred to herein as readout lines 124, 126). The readout module 110 may receive digital readout instructions (e.g. digital pulse instructions and / or instructions defining quantum measurement operations) and may use a DAC to generate analogue readout pulses for transmission to the quantum hardware 112. The readout module 110 may receive analogue readout signals from the quantum hardware via the readout acquisition lines 126 and may convert the analogue readout signals into digital form, e.g. using an analogue-to-digital converter (ADC). In use, the first quantum control unit 106a may send a request to the readout module 110 to measure one or more qubit states. Once measured, the readout information is fed back from the readout module 110 to the first quantum control unit 106a. The quantum hardware 112 may comprise quantum devices such as qubits, qutrits, qudits, resonators, coupling devices etc. For example, each control or readout line 124, 126, 128 may be connected to one or more qubits or couplers. A single qubit may be controlled by different quantum control units: for example, one of the quantum control units may be responsible for controlling couplings between qubits, and another may be responsible for control pulses that act on the coupled qubits. Such arrangements require extreme timing precision to ensure that all operations are perfectly synchronised. The quantum hardware 112 may comprise any type of quantum devices capable of storing quantum information (i.e. any devices suitable for encoding information using quantum computational states). Such quantum devices may be qubits or they may be other devices capable of storing quantum information, such as qudits or qutrits. While the description herein will primarily refer to qubits, any reference herein to qubits should be understood to also encompass other types of quantum devices unless explicitly stated otherwise. The first and second quantum control units 106a, 106b and the event synchronisation unit 104 form part of the quantum control system (also referred to herein as the control system) of the quantum computing system 100. The APU 102, signal generation modules 108 and / or readout module 110 may also form part of the quantum control system, or they may be treated as separate components (for example, the APU 102 may be considered to be part of the quantum control system or part of a compilation system or of a higher-level algorithmic or user-interface system etc.). The illustrated quantum computing system 100 features two quantum control units. However, alternative examples may include additional quantum control units coupled to the event synchronisation unit 104. Similarly, while the illustrated quantum computing system features a single readout module 110 and two signal generation modules 108, alternative 14 examples may comprise additional readout and / or signal generation modules. For example, the second quantum control unit 106b may be connected to a second readout module (not shown); in such an arrangement the downstream event channel 116b may be replaced by a second bidirectional event channel or supplemented by an additional upstream event channel. Any illustrated bidirectional channel may be replaced by two unidirectional channels and vice-versa. Alternative examples are also envisaged in which multiple event synchronisation units 104 are used, each connected to a subset of quantum control units. In such an arrangement, an additional master event synchronisation unit (not shown) may be used in a hierarchical structure to coordinate events between different quantum control units connected to different event synchronisation units. One of the event synchronisation units may optionally perform the functions of such a master event synchronisation unit (i.e. the master event synchronisation unit may not require a dedicated hardware device). Fig. 2 shows a simplified schematic of the connectivity between the event synchronisation unit 104 and the first and second quantum control units 106a, 106b. The components shown in Fig. 2 may implement the method for controlling quantum devices depicted in Fig. 3. In a first step S301, a first event trigger occurs at the first quantum control unit 106a. The first event trigger may be any event that affects runtime operation of the second quantum control unit 106b. For example, the first event trigger may be a qubit measurement result from a readout operation performed by the first quantum control unit 106a (for example, a measurement result that is required for a decision at the second quantum control unit 106b), or the first event trigger may indicate that an operation (e.g. part of a quantum computation being performed on the quantum computing system 100, such as a quantum gate or series of quantum gates) being performed by the first quantum control unit 106a is complete or nearing completion (the second quantum control unit 106b may need to delay its own operations so that future operations can be synchronised with those of the first quantum control unit 106a). The first event trigger is preferably defined during compilation of the quantum computation ahead of runtime. In step S302, the first quantum control unit 106a transmits a first event message to the event synchronisation unit 104 in response to the first event trigger. The first event message may comprise one or more data packets. The first event message preferably has an associated identifier (for example, a numerical identifier or a character string) that allows the event to be identified by the event synchronisation unit 104 at runtime. The identifier is preferably defined during compilation (e.g. by the APU 102) and distributed to the first quantum control unit 106a and the event synchronisation unit 104 ahead of runtime. The first event message may optionally comprise additional information such as a data value, for example a measurement value associated with a measurement operation performed on 15 a quantum device coupled to the first control unit 106a. Alternatively, measurement data may be encoded in the identifier (for example, a different identifier may be used dependent upon the measurement outcome). Subsequent to transmission of the first event message to the event synchronisation unit 104, the first quantum control unit 106a preferably transitions to a wait state, e.g. by using Wait for Event (WFE) instruction or similar. The first quantum control unit 106a may transition to a wait state immediately following transmission of the first event message, or it may alternatively transition into the wait state within some predetermined time period that is shorter than the fastest time in which a response can be received from the event synchronisation unit 104 (in other words, the first quantum control unit 106a may transition to the wait state at any time between sending the first event message and receiving the respective second event message from the event synchronisation unit 104 as described below - the minimum time for a response will depend upon the latency of the bidirectional event channel 116a and the time required for the event synchronisation unit 104 to receive, process and reply to the first event message). The first event message is received by the event synchronisation unit 104 in step S303. If the event synchronisation unit 104 is ready to process the first event message then the method may proceed immediately to step S304. However, if the event synchronisation unit 104 is busy then the first event message may be added to a buffer or queue on the event synchronisation unit 104 for processing once the event synchronisation unit 104 is no longer busy (queueing event messages in this manner will cause far smaller delays than those required to ensure synchronicity in a FIFO architecture). In step S304 the event synchronisation unit 104 determines which control units are associated with the first event message (i.e. which control units need to be informed that the first event trigger occurred and / or need data / measurement information associated with the first event trigger). This determination may be performed is various ways, for example by using the event identifier in combination with a lookup table; such a lookup table may be generated by the APU 102 and distributed to the event synchronisation unit 104 ahead of runtime. Alternatively, the first event message may comprise a data field indicating which quantum control units are associated with the first event message. In the illustrated example, the control units associated with the first event message are the first and second quantum control units 106a, 106b. The event synchronisation unit 104 then proceeds to transmit a respective second event message to each of the first and second quantum control units 106a, 106b in step S305 for concurrent receipt by the first and second quantum control units 106a, 106b. Transmitting the second event messages for concurrent receipt may involve transmitting the second event messages simultaneously along event channels (e.g. bidirectional event channel 16 116a and downstream event channel 116b) having equal communication latencies, or it may involve staggering transmission according to a communication latency (i.e. delay time) associated with each event channel (for example, by measuring the time required for an event message to be transmitted from the event synchronisation unit 104 to each quantum control unit ahead of runtime and determining appropriate relative delays to apply such that an event message sent to each quantum control unit will be received simultaneously). The respective second event messages send to each quantum control system may all be the same, or they may be different (e.g. they may have different identifiers / payloads). The respective second event messages may be the same as (i.e. may be) the first event message (for example, the event synchronisation unit 104 may simply forward the first event message to the first and second quantum control units 106a, 106b). Alternatively, the second event messages may be different to the first event message, for example each respective second event message may include additional data (such as data from another event message received by the event synchronisation unit 104) and / or a different identifier. The event synchronisation unit 104 may determine the respective second event messages using any suitable method, for example by using a lookup table compiled by the APU 102 and transmitted to the event synchronisation unit 104 ahead of runtime. The method then proceeds to steps S306a and S306b, in which the first and second quantum control units 106a, 106b simultaneously receive the respective second event messages. At this stage the first and second quantum control units 106a, 106b are preferably both in a wait state ready to receive and process the respective second event messages. This ensures that operations performed subsequent to receipt of the respective second event messages occur deterministically (i.e. neither control system has to complete another task before processing the respective second event messages and performing subsequent tasks) such that the first and second quantum control units 106a, 106b become synchronised with each other. Following steps S306a and S306b, the first and second quantum control units determine respective first and second operations in respective steps S307 and S308. In particular, the first quantum control unit 106a determines the first operation in response to receiving the respective second event message. The first operation may be a control or readout operation associated with at least one quantum device coupled to the first quantum control unit 106a. The first quantum control unit 106a may determine the first operation based on the respective second event message (e.g. by using an identifier of the respective second event message to identify the first operation in a lookup table generated by the APU during compilation and distributed to the first quantum control unit 106a ahead of runtime). Likewise, the second quantum control unit 106b determines the second operation in response to receiving the respective second event message. The second operation may be 17 a control or readout operation associated with at least one quantum device coupled to the second quantum control unit 106b. The second quantum control unit 106b may determine the second operation based on the respective second event message (e.g. by using an identifier of the respective second event message to identify the second operation in a lookup table generated by the APU during compilation and distributed to the second quantum control unit 106b ahead of runtime). The first quantum control unit 106a proceeds to perform the first operation in step S308, and the second quantum control unit 106b proceeds to perform the second operation in step S309. The first and second operations may optionally be performed simultaneously, or they may be performed at different times with a predetermined offset. What is important is that the respective time periods between transmission of the respective second event messages (i.e. step S305) and the first and second operations being performed are deterministic. In other words, the time between steps S305 and S308 is a first fixed value that can be determined during compilation, and the time between steps S305 and S309 is a second fixed value (possibly different to the first fixed value) that can be determined during compilation. This determinism is guaranteed by the concurrent receipt of the respective second event messages by the first and second quantum control units 106a, 106b while the first and second quantum control units 106a, 106b are both in wait states. In an alternative example, instead of transmitting the respective second event messages to the first and second quantum control units 106a, 106b in step S305 for concurrent receipt by the first and second quantum control units 106a, 106b, the event synchronisation unit 104 may transmit the respective second event messages to the first and second control units 106a, 106b for asynchronous receipt (e.g. preferably by transmitting the respective second event message to both quantum control units at the same time regardless of potential differences in latency between the devices, although they could alternatively be transmitted with known delays that need not be directly correlated to latencies), and the first and second quantum control units 106a, 106b may delay performing the first and second quantum operations in steps S308 and S309 respectively by introducing a delay based on the known latency between each respective control unit and the event synchronisation unit. This ensures that the first and second quantum control units 106a, 106b are synchronised, but transmission delays are corrected upon receipt of the respective second event message rather than when they are transmitted. Relevant delay values could be determined by the APU 102 during compilation and may either be appended to the respective second event message sent to each quantum control unit or may be pre-stored in memory on each quantum control unit. This alternative approach provides the same guarantee of determinism between steps S305 and S308 and steps S305 and S308, which is achieved by each quantum control system being in a wait state and using the delay value to correct any relative difference in receipt time of the respective second event message. While this alternative example requires additional memory footprint on the quantum control unit for explicit instructions to insert delays after each event, it nonetheless ensures synchronisation between distributed control systems as in the example in which the respective second event message is transmitted for simultaneous receipt. An alternative method for controlling quantum devices in the quantum computing system 100 of Fig. 1 is shown in Fig. 4. The method of Fig. 4 is similar to that of Fig. 3, except that both the firstand second quantum control systems 106a, 106b send event messages to the event synchronisation unit in response to event triggers. The method of Fig. 4 requires an upstream data link (not illustrated) between the second quantum control unit 106b and the event synchronisation unit 104. Steps S401-S403 of Fig. 4 correspond to steps S301-S303 respectively of Fig. 3 as described above. A second event trigger occurs at the second quantum control unit 106b in step S404, and the second quantum control unit 106b transmits a third event message to the event synchronisation unit in step S405 in response to the second event trigger. Steps S404 and S405 are analogous to steps S301 and S302 previously described. The second quantum control unit 106b subsequently enters a wait state ready to receive an event message in response from the event synchronisation unit 104. As previously described in relation to first quantum control unit 106a, the second quantum control unit 106b may transition to a wait state immediately following transmission of the third event message, or it may alternatively transition into the wait state within some predetermined time period that is shorter than the fastest time in which a response can be received from the event synchronisation unit 104. Unlike the method of Fig. 3 (in which the event synchronisation unit 104 can transmit the respective second event messages once it has received the first event message), in the method of Fig. 4 the event synchronisation unit 104 waits to receive the third event message in step S406 before transmitting the respective second event messages. The first and / or third event messages may be stored in memory on the event synchronisation unit 104 (e.g. in a receipt buffer), or the event synchronisation unit 104 may in some way register that these messages have been received without storing the actual messages. The respective second event messages may optionally be the same as the first and / or third event messages, or they may alternatively have different identifiers and / or data / payloads. The respective second event messages may be based on a combination of the first and third event messages (e.g. they may contain the same identifier as one / both messages, they may contain both identifiers, and / or they may contain data from both messages). In step S407, the event synchronisation unit 104 determines control units that are associated with the first and third event messages (e.g. by using a lookup table as described 19 above in relation to step S304), and transmits the respective second event messages to the first and second quantum control units 106a, 106b in step S407. Steps S408-S413 then proceed in the same manner as steps S405-S309 respectively described above in relation to Fig. 3. The method of Fig. 4 may be used in various scenarios, such as when the first and second quantum control units 106a, 106b have been performing independent operations (i.e. operations that do not need to be synchronised) and need to synchronise upcoming operations. While the examples shown in Figs. 3 and 4 involve two quantum control units, one skilled in the art will appreciate that these methods can be extended to scenarios with additional quantum control units. Any method described herein may be computer-implemented and may be provided as a computer program product and / or on a computer readable medium such as a non-transitory computer readable medium. It should be understood that any method of the present disclosure could include additional steps, and any device could include additional components. In addition, unless indicated otherwise or technically infeasible, the method steps disclosed herein may be performed in alternative orders, and any order described herein should be considered as exemplary rather than limiting. Furthermore, one skilled in the art will appreciate that any computation that can be performed by a classical processing device can also be performed by a quantum computing device. Accordingly, any methods or described herein that is performed on a classical computing device (such as a CPU) can also be performed by a quantum processing device, such as a quantum processing unit (QPU) comprising a plurality of qubits or other quantum information devices. Numbered clauses Features of the invention are described in the following numbered clauses. The features described in these numbered clauses may be combined with features described above. Clause 1. A quantum control system for controlling a plurality of quantum devices in a quantum computing system, the quantum control system comprising: an event synchronisation unit; and, a plurality of quantum control units, each quantum control unit communicatively couplable to a respective subset of the plurality of quantum devices, wherein a first quantum control unit of the plurality of quantum control units is configured to: transmit, responsive to an event trigger at the first quantum control unit, a first event message to the event synchronisation unit, and wherein the event synchronisation unit is configured to: receive the first event message from the first quantum control unit; determine, responsive to receiving the first event message, a subset of the plurality of quantum control units associated with the first event message, the subset of the plurality of quantum control units comprising at least the first quantum control unit and a second quantum control unit; and transmit a respective second event message to each respective quantum control unit of the subset of the plurality of quantum control units for concurrent receipt by the subset of the plurality of quantum control units. Clause 2. The quantum control system of clause 1, wherein the first quantum control unit is further configured to: receive the respective second event message from the event synchronisation unit; determine, responsive to receiving the respective second event message, a first operation associated with at least one quantum device coupled to the first quantum control unit; and initiate the first operation at a first deterministic time after receiving the respective second event message, and wherein the second quantum control unit is further configured to: receive the respective second event message from the event synchronisation unit; determine, responsive to receiving the respective second event message, a second operation associated with at least one quantum device coupled to the second quantum control unit; and initiate the second operation at a second deterministic time after receiving the respective second event message. Clause 3. The quantum control system of clause 2, wherein the first deterministic time is the same as the second deterministic time. Clause 4. The quantum computing system of any preceding clause, wherein transmitting the respective second event message for concurrent receipt by the subset of the plurality of quantum control units comprises staggering transmission of the respective second event message to each respective quantum control unit of the subset of the of the plurality of quantum control units according to a respective communication latency between the event synchronisation unit and the respective quantum control unit. Clause 5. The quantum control system of any preceding clause, wherein transmitting the respective second event message for concurrent receipt by the subset of the plurality of quantum control units comprises transmitting the respective second event message to each respective quantum control unit of the subset of the plurality of quantum control units simultaneously along respective communication links having equal latency. Clause 6. A quantum control system for controlling a plurality of quantum devices in a quantum computing system, the quantum control system comprising: an event synchronisation unit; and, a plurality of quantum control units, each quantum control unit communicatively couplable to a respective subset of the plurality of quantum devices, wherein a first quantum control unit of the plurality of quantum control units is configured to: transmit, responsive to an event trigger at the first quantum control unit, a first event message to the event synchronisation unit, and wherein the event synchronisation unit is configured to: receive the first event message from the first quantum control unit; determine, responsive to receiving the first event message, a subset of the plurality of quantum control units associated with the first event message, the subset of the plurality of quantum control units comprising at least the first quantum control unit and a second quantum control unit; and transmit a respective second event message to each respective quantum control unit of the subset of the plurality of quantum control units, wherein each respective quantum control unit of the subset of the plurality of quantum control units is configured to: receive the respective second event message; and perform a respective operation after a respective delay corresponding to a respective latency between the respective quantum control unit and the event synchronisation unit. Clause 7. The quantum computing system of clause 6, wherein each respective quantum control unit of the subset of the plurality of quantum control units is configured to determine the respective delay. Clause 8. The quantum computing system of clause 6 or clause 7, wherein the respective second event message comprises the respective delay. Clause 9. The quantum computing system of clause 6 or clause 7, wherein the respective delay is stored on the respective quantum control unit. Clause 10. The quantum control system of any preceding clause, wherein the first quantum control unit is further configured to, subsequent to transmitting the first event message, transition to a wait state until receipt of the respective second event message. Clause 11. The quantum control system of any preceding clause, wherein the second quantum control unit is configured to, prior to receipt of the respective second event message, transition to a wait state until receipt of the respective second event message. Clause 12. The quantum control system of any preceding clause, wherein the second quantum control unit is configured to transmit, responsive to another event trigger at the second quantum control unit, a third event message to the event synchronisation unit, wherein the event synchronisation unit is further configured to receive the third event message from the second quantum control unit, and wherein the subset of the plurality of quantum control units is further associated with the third event message. Clause 13. The quantum control system of any preceding clause, wherein the event trigger has an associated data value. Clause 14. The quantum control system of clause 13, wherein the first event message and / or the respective second event messages comprise the data value. Clause 15. The quantum control system of clause 13 or clause 14, wherein the event trigger is a measurement operation on a quantum device coupled to the first quantum control unit; wherein the associated data value is a measurement value associated with the measurement operation, and wherein the first quantum control unit is configured to initiate the measurement operation to obtain the measurement value. Clause 16. The quantum control system of any of clauses 13 to 15, wherein the first quantum control unit is further configured to transmit the data value to the second quantum control unit, preferably wherein the second quantum control unit is further configured to receive the data value from the first quantum control unit. Clause 17. The quantum control system of clause 16, wherein transmitting the data value to the second quantum control unit comprises transmitting the data value to the event synchronisation unit, wherein the event synchronisation unit is further configured to: receive the data value from the first quantum control unit; and transmit the first data value to the second quantum control unit. Clause 18. The quantum control system of any preceding clause, further comprising dedicated event communication channels for communication of event messages. Clause 19. An event synchronisation unit of a quantum control system for controlling a plurality of quantum devices in a quantum computing system, wherein the event synchronisation unit is configured to: receive, from a first quantum control unit of a plurality of quantum control units in the quantum control system, a first event message in response to an event trigger at the first quantum control unit; determine, responsive to receiving the first event message, a subset of the plurality of quantum control units associated with the first event message, the subset of the plurality of quantum control units comprising the first quantum control unit and a second quantum control unit; and transmit a respective second event message to each respective quantum control unit of the subset of the plurality of quantum control units for concurrent receipt by the subset of the plurality of quantum control units. Clause 20. The event synchronisation unit of clause 19, further configured to receive, from the second quantum control unit, a third event message in response to another event trigger at the second quantum control unit, wherein the subset of the plurality of quantum control units is further associated with the third event message. Clause 21. The event synchronisation unit of clause 19 or clause 20, wherein the event trigger has an associated data value. Clause 22. The event synchronisation unit of clause 21, wherein the first event message and / or the respective second event messages comprise the data value. Clause 23. The event synchronisation unit of clause 21 or clause 22, wherein the event trigger is a measurement operation on a quantum device coupled to the first quantum control unit; and wherein the associated data value is a measurement value associated with the measurement operation. Clause 24. The event synchronisation unit of any of clauses 21 to 23, further configured to: receive the data value from the first quantum control unit; and transmit the first data value to the second quantum control unit. Clause 25. The event synchronisation unit of any of clauses 19 to 24, wherein transmitting the respective second event message for concurrent receipt by the subset of the plurality of quantum control units comprises staggering transmission of the respective second event message to each respective quantum control unit of the subset of the plurality of quantum control units according to a respective communication latency between the event synchronisation unit and the respective quantum control unit. Clause 26. The event synchronisation unit of any of clauses 19 to 24, wherein transmitting the respective second event message for concurrent receipt by the subset of the plurality of quantum control units comprises simultaneously transmitting the respective second event message to each respective quantum control unit of the subset of the plurality of quantum control units along respective communication links having equal latency. Clause 27. A (computer-implemented) method for controlling a plurality of quantum devices in a quantum computing system comprising an event synchronisation unit and a plurality of quantum control units, each quantum control unit communicatively coupled to a respective subset of the plurality of quantum devices, wherein the method comprises: transmitting, responsive to an event trigger at a first quantum control unit of the plurality of quantum control units, a first event message from the first quantum control to the event synchronisation unit; receiving, at the event synchronisation unit, the first event message from the first quantum control unit; determining, at the event synchronisation unit and responsive to receiving the first event message, a subset of the plurality of quantum control units associated with the first event message, the subset of the plurality of quantum control units comprising at least the first quantum control unit and a second quantum control unit; and transmitting, from the event synchronisation unit, a respective second event message to each respective quantum control unit of the subset of the plurality of quantum control units for concurrent receipt by the subset of the plurality of quantum control units. Clause 28. The method of clause 27, further comprising: receiving, at the first quantum control unit, the respective second event message from the event synchronisation unit; determining, at the first quantum control unit and responsive to receiving the respective second event message, a first operation associated with at least one quantum device coupled to the first quantum control unit; initiating, at the first quantum control unit, the first operation at a first deterministic time after receiving the respective second event message; receiving, at the second quantum control unit, the respective second event message from the event synchronisation unit; determining, at the second quantum control unit and responsive to receiving the respective second event message, a second operation associated with at least one quantum device coupled to the second quantum control unit; initiating, at the second quantum control unit, the second operation at a second deterministic time after receiving the respective second event message. Clause 29. The method of clause 28, wherein the first deterministic time is the same as the second deterministic time. Clause 30. The method of any of clauses 27 to 29, wherein transmitting the respective second event message for concurrent receipt by the subset of the plurality of quantum control units comprises staggering transmission of the respective second event message to each respective quantum control unit of the subset of the of the plurality of quantum control units according to a respective communication latency between the event synchronisation unit and the respective quantum control unit. Clause 31. The method of any of clause 27 to 29, wherein transmitting the respective second event message for concurrent receipt by the subset of the plurality of quantum control units comprises transmitting the respective second event message to each respective quantum control unit of the subset of the plurality of quantum control units simultaneously along respective communication links having equal latency. Clause 32. A (computer-implemented) method for controlling a plurality of quantum devices in a quantum computing system comprising an event synchronisation unit and a plurality of quantum control units, each quantum control unit communicatively coupled to a respective subset of the plurality of quantum devices, wherein the method comprises: transmitting, responsive to an event trigger at a first quantum control unit of the plurality of quantum control units, a first event message from the first quantum control to the event synchronisation unit; receiving, at the event synchronisation unit, the first event message from the first quantum control unit; determining, at the event synchronisation unit and responsive to receiving the first event message, a subset of the plurality of quantum control units associated with the first event message, the subset of the plurality of quantum control units comprising at least the first quantum control unit and a second quantum control unit; transmitting, from the event synchronisation unit, a respective second event message to each respective quantum control unit of the subset of the plurality of quantum control units; and at each respective control unit of the subset of the plurality of quantum control units: receiving the respective second event message; and performing a respective operation a respective delay corresponding to a respective latency between the respective quantum control unit and the event synchronisation unit. Clause 33. The method of clause 32, further comprising, at each respective quantum control unit of the subset of the plurality of quantum control units, determining the respective delay. Clause 34. The method of clause 32 or clause 33, wherein the respective second event message comprises the respective delay. Clause 35. The method of clause 32 or clause 33, wherein the respective delay is stored on the respective quantum control unit. Clause 36. The method of any of clauses 27 to 35 further comprising, subsequent to transmitting the first event message, transitioning the first quantum control unit to a wait state until receipt of the respective second event message. Clause 37. The method of any of clauses 27 to 36, further comprising, prior to receipt of the respective second event message at the second quantum control unit, transitioning the second quantum control unit to a wait state until receipt of the respective second event message. Clause 38. The method of any of clauses 27 to 37, further comprising: transmitting, responsive to another event trigger at the second quantum control unit, a third event message from the second quantum control to the event synchronisation unit; and receiving, at the event synchronisation unit, the third event message from the second quantum control unit, wherein the subset of the plurality of quantum control units is further associated with the third event message. Clause 39. The method of any of clauses 27 to 38, wherein the event trigger has an associated data value. Clause 40. The method of clause 39, wherein the first event message and / or the respective second event messages comprise the data value. Clause 41. The method of clause 39 or 40, wherein the event trigger is a measurement operation on a quantum device coupled to the first quantum control unit; wherein the associated data value is a measurement value associated with the measurement operation, and wherein the method further comprises initiating, at the first quantum control unit, the measurement operation to obtain the measurement value. Clause 42. The method of any of clauses 39 to 41, further comprising transmitting the data value from the first quantum control unit to the second quantum control unit. Clause 43. The method of clause 42, wherein transmitting the data value from the first quantum control unit to the second quantum control unit comprises: transmitting the data value from the first quantum control unit to the event synchronisation unit; and transmitting the first data value from the event synchronisation unit to the second quantum control unit. Clause 44. The method of any of clauses 27 to 43, wherein the first event message comprises a first event identifier and each respective second event message comprises a respective second event identifier. Clause 45. The method of any of clauses 27 to 44, wherein the first event identifier and the respective second event identifiers are the same. Clause 46. The method of any of clauses 27 to 45, wherein the quantum computing system further comprises dedicated event communication channels for communication of event messages, wherein event messages are transmitted using the dedicated communication channels. Clause 47. A (computer-implemented) method for controlling a plurality of quantum devices in a quantum computing system, the method comprising: receiving, at an event synchronisation unit of the quantum computing system, from a first quantum control unit of a plurality of quantum control units communicatively coupled to the event synchronisation unit, a first event message in response to an event trigger at the first quantum control unit; determining, at the event synchronisation unit and responsive to receiving the first event message, a subset of the plurality of quantum control units associated with the first event message, the subset of the plurality of quantum control units comprising the first quantum control unit and a second quantum control unit; and transmitting, by the event synchronisation unit, a respective second event message to each respective quantum control unit of the subset of the plurality of quantum control units for concurrent receipt by the subset of the plurality of quantum control units. Clause 48. The method of clause 47, further comprising receiving, at the event synchronisation unit from the second quantum control unit, a third event message in response to another event trigger at the second quantum control unit, wherein the subset of the plurality of quantum control units is further associated with the third event message. Clause 49. The method of clause 47 or clause 48, wherein the event trigger has an associated data value. Clause 50. The method of clause 49, wherein the first event message and / or the respective second event messages comprise the data value. Clause 51. The method of clause 49 or clause 50, wherein the event trigger is a measurement operation on a quantum device coupled to the first quantum control unit; and wherein the associated data value is a measurement value associated with the measurement operation Clause 52. The method of any of clauses 49 to 51, further comprising: receiving, at the event synchronisation unit, the data value from the first quantum control unit; and transmit, by the event synchronisation unit, the first data value to the second quantum control unit. Clause 53. The method of any of clauses 47 to 52, wherein transmitting the respective second event message for concurrent receipt by the subset of the plurality of quantum control units comprises staggering transmission of the respective second event message to each respective quantum control unit of the subset of the plurality of quantum control units according to a respective communication latency between the event synchronisation unit and the respective quantum control unit. Clause 54. The method of any of clauses 47 to 52, wherein transmitting the respective second event message for concurrent receipt by the subset of the plurality of quantum control units comprises simultaneously transmitting the respective second event message to each respective quantum control unit of the subset of the plurality of quantum control 5 units along respective communication links having equal latency. Clause 55. The quantum control system, event synchronisation system or method of any preceding clause, wherein the first event message comprises a first event identifier and each respective second event message comprises a respective second event identifier. Clause 56. The quantum control system, event synchronisation system or method of 10 clause 55, wherein the first event identifier and the respective second event identifiers are the same. Clause 57. A (non-transitory) computer readable comprising instructions medium which, when executed by a quantum control system comprising an event synchronisation unit and a plurality of quantum control units, cause the quantum computing system to perform the 15 method of any of clauses 27 to 46 or any clause dependent thereon. Clause 58. A (non-transitory) computer readable comprising instructions medium which, when executed by an event synchronisation unit of a quantum control system, cause the event synchronisation unit to perform the method of any of clauses 47 to 54 or any clause dependent thereon.

Claims

1. A quantum control system for controlling a plurality of quantum devices in a quantum computing system, the quantum control system comprising:an event synchronisation unit; and,a plurality of quantum control units, each quantum control unit communicatively couplable to a respective subset of the plurality of quantum devices,wherein a first quantum control unit of the plurality of quantum control units is configured to:transmit, responsive to an event trigger at the first quantum control unit, a first event message to the event synchronisation unit, andwherein the event synchronisation unit is configured to:receive the first event message from the first quantum control unit;determine, responsive to receiving the first event message, a subset of the plurality of quantum control units associated with the first event message, the subset of the plurality of quantum control units comprising at least the first quantum control unit and a second quantum control unit; andtransmit a respective second event message to each respective quantum control unit of the subset of the plurality of quantum control units for concurrent receipt by the subset of the plurality of quantum control units.

2. The quantum control system of claim 1, wherein the first quantum control unit is further configured to:receive the respective second event message from the event synchronisation unit;determine, responsive to receiving the respective second event message, a first operation associated with at least one quantum device coupled to the first quantum control unit; andinitiate the first operation at a first deterministic time after receiving the respective second event message, andwherein the second quantum control unit is further configured to:receive the respective second event message from the event synchronisation unit;determine, responsive to receiving the respective second event message, a second operation associated with at least one quantum device coupled to the second quantum control unit; andinitiate the second operation at a second deterministic time after receiving the respective second event message.

3. The quantum control system of claim 2, wherein the first deterministic time is the same as the second deterministic time.

4. The quantum computing system of any preceding claim, wherein transmitting the respective second event message for concurrent receipt by the subset of the plurality of quantum control units comprises staggering transmission of the respective second event message to each respective quantum control unit of the subset of the of the plurality of quantum control units according to a respective communication latency between the event synchronisation unit and the respective quantum control unit.

5. The quantum control system of any preceding claim, wherein transmitting the respective second event message for concurrent receipt by the subset of the plurality of quantum control units comprises transmitting the respective second event message to each respective quantum control unit of the subset of the plurality of quantum control units simultaneously along respective communication links having equal latency.

6. A quantum control system for controlling a plurality of quantum devices in a quantum computing system, the quantum control system comprising:an event synchronisation unit; and,a plurality of quantum control units, each quantum control unit communicatively couplable to a respective subset of the plurality of quantum devices,wherein a first quantum control unit of the plurality of quantum control units is configured to:transmit, responsive to an event trigger at the first quantum control unit, a first event message to the event synchronisation unit, andwherein the event synchronisation unit is configured to:receive the first event message from the first quantum control unit;determine, responsive to receiving the first event message, a subset of the plurality of quantum control units associated with the first event message, the subset of the plurality of quantum control units comprising at least the first quantum control unit and a second quantum control unit; andtransmit a respective second event message to each respective quantum control unit of the subset of the plurality of quantum control units,wherein each respective quantum control unit of the subset of the plurality of quantum control units is configured to:receive the respective second event message; andperform a respective operation after a respective delay corresponding to a respective latency between the respective quantum control unit and the event synchronisation unit.

7. The quantum computing system of claim 6, wherein each respective quantum control unit of the subset of the plurality of quantum control units is configured to determine the respective delay.

8. The quantum computing system of claim 6 or claim 7, wherein the respective secondevent message comprises the respective delay.

9. The quantum computing system of claim 6 or claim 7, wherein the respective delay is stored on the respective quantum control unit.

10. The quantum control system of any preceding claim, wherein the first quantum control unit is further configured to, subsequent to transmitting the first event message, transition to a wait state until receipt of the respective second event message.

11. The quantum control system of any preceding claim, wherein the second quantum control unit is configured to, prior to receipt of the respective second event message, transition to a wait state until receipt of the respective second event message.

12. The quantum control system of any preceding claim,wherein the second quantum control unit is configured to transmit, responsive to another event trigger at the second quantum control unit, a third event message to the event synchronisation unit,wherein the event synchronisation unit is further configured to receive the third event message from the second quantum control unit, andwherein the subset of the plurality of quantum control units is further associated with the third event message.

13. The quantum control system of any preceding claim, wherein the event trigger has an associated data value, optionally wherein the first event message and / or the respective second event messages comprise the data value.

14. The quantum control system of claim 13,wherein the event trigger is a measurement operation on a quantum device coupled to the first quantum control unit;wherein the associated data value is a measurement value associated with the measurement operation, andwherein the first quantum control unit is configured to initiate the measurement operation to obtain the measurement value.

15. The quantum control system of claim 13 or claim 14, wherein the first quantum control unit is further configured to transmit the data value to the second quantum control unit, preferably wherein the second quantum control unit is further configured to receive the data value from the first quantum control unit,optionally wherein transmitting the data value to the second quantum control unit comprises transmitting the data value to the event synchronisation unit, wherein the event synchronisation unit is further configured to:receive the data value from the first quantum control unit; andtransmit the first data value to the second quantum control unit.

16. The quantum control system of any preceding claim, further comprising dedicated event communication channels for communication of event messages.

17. An event synchronisation unit of a quantum control system for controlling a plurality of quantum devices in a quantum computing system, wherein the event synchronisation unit is configured to:receive, from a first quantum control unit of a plurality of quantum control units in the quantum control system, a first event message in response to an event trigger at the first quantum control unit;determine, responsive to receiving the first event message, a subset of the plurality of quantum control units associated with the first event message, the subset of the plurality of quantum control units comprising the first quantum control unit and a second quantum control unit; andtransmit a respective second event message to each respective quantum control unit of the subset of the plurality of quantum control units for concurrent receipt by the subset of the plurality of quantum control units.

18. The event synchronisation unit of claim 17, further configured to receive, from the second quantum control unit, a third event message in response to another event trigger at the second quantum control unit, wherein the subset of the plurality of quantum control units is further associated with the third event message.

19. The event synchronisation unit of any of claim 17 or claim 18, wherein transmitting the respective second event message for concurrent receipt by the subset of the plurality of quantum control units comprises staggering transmission of the respective second event message to each respective quantum control unit of the subset of the plurality of quantumcontrol units according to a respective communication latency between the event synchronisation unit and the respective quantum control unit, orwherein transmitting the respective second event message for concurrent receipt by the subset of the plurality of quantum control units comprises simultaneously transmitting the respective second event message to each respective quantum control unit of the subset of the plurality of quantum control units along respective communication links having equal latency.

20. A method for controlling a plurality of quantum devices in a quantum computing system comprising an event synchronisation unit and a plurality of quantum control units, each quantum control unit communicatively coupled to a respective subset of the plurality of quantum devices, wherein the method comprises:transmitting, responsive to an event trigger at a first quantum control unit of the plurality of quantum control units, a first event message from the first quantum control to the event synchronisation unit;receiving, at the event synchronisation unit, the first event message from the first quantum control unit;determining, at the event synchronisation unit and responsive to receiving the first event message, a subset of the plurality of quantum control units associated with the first event message, the subset of the plurality of quantum control units comprising at least the first quantum control unit and a second quantum control unit; andtransmitting, from the event synchronisation unit, a respective second event message to each respective quantum control unit of the subset of the plurality of quantum control units for concurrent receipt by the subset of the plurality of quantum control units.

21. A method for controlling a plurality of quantum devices in a quantum computing system comprising an event synchronisation unit and a plurality of quantum control units, each quantum control unit communicatively coupled to a respective subset of the plurality of quantum devices, wherein the method comprises:transmitting, responsive to an event trigger at a first quantum control unit of the plurality of quantum control units, a first event message from the first quantum control to the event synchronisation unit;receiving, at the event synchronisation unit, the first event message from the first quantum control unit;determining, at the event synchronisation unit and responsive to receiving the first event message, a subset of the plurality of quantum control units associated with the first eventmessage, the subset of the plurality of quantum control units comprising at least the first quantum control unit and a second quantum control unit;transmitting, from the event synchronisation unit, a respective second event message to each respective quantum control unit of the subset of the plurality of quantum control units; andat each respective control unit of the subset of the plurality of quantum control units:receiving the respective second event message; andperforming a respective operation a respective delay corresponding to a respective latency between the respective quantum control unit and the event synchronisation unit.

22. A method for controlling a plurality of quantum devices in a quantum computing system, the method comprising:receiving, at an event synchronisation unit of the quantum computing system, from a first quantum control unit of a plurality of quantum control units communicatively coupled to the event synchronisation unit, a first event message in response to an event trigger at the first quantum control unit;determining, at the event synchronisation unit and responsive to receiving the first event message, a subset of the plurality of quantum control units associated with the first event message, the subset of the plurality of quantum control units comprising the first quantum control unit and a second quantum control unit; andtransmitting, by the event synchronisation unit, a respective second event message to each respective quantum control unit of the subset of the plurality of quantum control units for concurrent receipt by the subset of the plurality of quantum control units.

23. The quantum control system, event synchronisation system or method of any preceding claim, wherein the first event message comprises a first event identifier and each respective second event message comprises a respective second event identifier, optionally wherein the first event identifier and the respective second event identifiers are the same.

24. A computer readable comprising instructions medium which, when executed by a quantum control system comprising an event synchronisation unit and a plurality of quantum control units, cause the quantum computing system to perform the method of claim 20 or 21.

25. A computer readable comprising instructions medium which, when executed by an event synchronisation unit of a quantum control system, cause the event synchronisation unit to perform the method claim 22.38

Citation Information

Patent Citations

  • Synchronizing operation of control circuits in a quantum circuit assembly

    US20220383170A1