Vectorized quantum controller

The vectorized quantum controller addresses the inefficiencies in conventional quantum processors by enabling scalable simultaneous execution of quantum operations through a vectorized quantum assembly process, enhancing computational performance.

JP7848233B2Active Publication Date: 2026-04-20ALIBABA (CHINA) CO LTD
View PDF 3 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
ALIBABA (CHINA) CO LTD
Filing Date
2022-04-19
Publication Date
2026-04-20

AI Technical Summary

Technical Problem

Conventional quantum processors face challenges in efficiently executing quantum operations due to limitations in instruction rate and scalability when applying quantum gates to multiple qubits, particularly when simultaneous application is required, which can hinder performance even with superscalar processors.

Method used

A vectorized quantum controller is introduced to support scalable simultaneous execution of quantum operations by using a vectorized quantum processor that includes a vector controller configured to execute quantum vector instructions, allowing for the simultaneous application of quantum gates to multiple qubits through a vectorized quantum assembly process.

Benefits of technology

The vectorized quantum controller enables efficient and scalable execution of quantum operations, enhancing the performance of quantum processors by enabling simultaneous application of quantum gates to multiple qubits, thereby improving computational speed and efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007848233000002
    Figure 0007848233000002
  • Figure 0007848233000003
    Figure 0007848233000003
  • Figure 0007848233000004
    Figure 0007848233000004
Patent Text Reader

Abstract

Systems and methods are provided for performing quantum operations. A system consisting of a vectorized quantum controller can receive commands from a computing device, the commands indicating application of quantum gates to qubits of a quantum processor. The vectorized quantum controller can convert the commands into one or more quantum assembly instructions, the one or more quantum assembly instructions including vector instructions for creating a register of qubits, the register including an indication of the qubits. The vectorized quantum controller can execute the one or more quantum assembly instructions to cause the qubit controller to apply quantum gates to the qubits and provide an output to the computing device.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] Cross - Reference to Related Applications

[0001] This disclosure claims the benefit of priority of U.S. Patent Application No. 17235155, entitled "VECTORIZED QUANTUM CONTROLLER", filed on April 20, 2021, the entire disclosure of which is hereby incorporated by reference herein.

[0002]

[0002] This disclosure generally relates to quantum computing, and more particularly to vectorized quantum controllers.

Background Art

[0003]

[0003] A computing device can include a quantum computing accelerator, a coprocessor, or a processor (e.g., a quantum processor) for performing quantum computing operations. Quantum computing operations can be performed using qubits that are manipulated through the application of quantum gates. Quantum gates can be implemented as pulses of electromagnetic radiation (e.g., microwave pulses, etc.). Thus, a processor can be implemented to provide instructions to a waveform generator. And the waveform generator generates quantum gates to be applied to qubits (e.g., superconducting circuits or another suitable qubit implementation). An analog - to - digital converter (ADC) can be used with the waveform generator to read out the state of the qubits.

Summary of the Invention

[0004]

[0004] The disclosed systems and methods relate to a processor configured to communicate with a computing device. The processor can provide instructions to a qubit controller based on instructions received from the computing device. In some cases, the instructions provided to the qubit controller can configure a waveform generator to trigger the application of pulses of electromagnetic radiation to the qubits. In various cases, the instructions can configure an ADC and a waveform generator to read the state of the qubits.

[0005]

[0005] The disclosed embodiments include a system for performing quantum operations. The system may comprise a qubit, a qubit controller, and a vectorized quantum controller. The qubit controller may include circuitry configured to provide control signals to the qubit. The vectorized quantum controller may include circuitry configured to perform operations. Operations may include receiving a command from a computing device, the command indicating the application of a quantum gate to the qubit. Operations may further include translating the command into one or more quantum assembly instructions, the one or more quantum assembly instructions including vector instructions for creating registers for the qubit, the registers including indications for the qubit. Operations may further include executing one or more quantum assembly instructions to cause the qubit controller to apply a quantum gate to the qubit. Operations may further include providing an output to a computing device.

[0006]

[0006] The disclosed embodiments include a method for performing quantum operations. The method may include receiving a command from a computing device by a vectorized quantum controller of a quantum processor, the command indicating the application of a quantum gate to a qubit of the quantum processor. The method may further include translating the command into one or more quantum assembly instructions by the vectorized quantum controller, the one or more quantum assembly instructions including a vector instruction for creating registers for the qubit, the registers including indications for the qubit. The method may also include executing one or more quantum assembly instructions to cause the qubit controller of the quantum processor to apply a quantum gate to a qubit. The method may further include providing an output to a computing device.

[0007]

[0007] The disclosed embodiments include a non-temporal computer-readable medium containing instructions. When executed by a vectorized quantum computer of a quantum processor, the instructions cause a vectorized quantum controller to perform an operation. An operation may include receiving a command from a computing device, the command indicating the application of a quantum gate to a qubit of the quantum processor. An operation may include translating the command into one or more quantum assembly instructions, the one or more quantum assembly instructions including a vector instruction for creating registers for the qubit, the registers including indications for the qubit. An operation may further include executing one or more quantum assembly instructions to cause the qubit controller of the quantum processor to apply a quantum gate to a qubit. An operation may include providing an output to a computing device.

[0008]

[0008] The disclosed embodiments include a vectorized quantum controller for performing quantum operations. The vectorized quantum controller may include a communication controller, a command processor, and an output control unit. The communication controller may include a circuit configured to receive commands from a computing device, where the commands indicate the application of quantum gates to qubits. The command processor may include a circuit configured to translate commands into one or more quantum assembly instructions, where the one or more quantum assembly instructions include vector instructions for creating registers for qubits, where the registers include indications for qubits, and to execute one or more quantum assembly instructions to generate configuration information and trigger information. The output control unit may include a circuit configured to provide the configuration information and trigger information to the qubit controller.

[0009]

[0009] It will be understood that both the above general description and the following detailed description are illustrative and descriptive only and do not limit the claimed disclosed embodiments.

[0010]

[0010] The accompanying drawings, which constitute part of this specification, illustrate several embodiments and, together with the specification, serve to illustrate the principles and features of the disclosed embodiments. [Brief explanation of the drawing]

[0011] [Figure 1]

[0011] This is a schematic diagram of an exemplary system comprising a computing device and a quantum processor according to the disclosed embodiments. [Figure 2A]

[0012] This is a schematic diagram of a first implementation of an exemplary vectorized quantum controller according to the disclosed embodiments. [Figure 2B]

[0013] This is a schematic diagram of a second implementation of an exemplary vectorized quantum controller according to the disclosed embodiments. [Figure 3A]

[0014] This is a flowchart illustrating an exemplary method for performing quantum operations using the exemplary vectorized quantum controller shown in Figure 2A, according to the disclosed embodiments. [Figure 3B]

[0015] This is a flowchart illustrating an exemplary method for performing quantum operations using the exemplary vectorized quantum controller shown in Figure 2B, according to the disclosed embodiments. [Modes for carrying out the invention]

[0012]

[0016] Next, we will refer in detail to exemplary embodiments discussed with respect to the accompanying drawings. In some cases, the same reference numerals are used to refer to the same or similar parts throughout the drawings and the following description. Unless otherwise defined, technical or scientific terms have the meanings generally understood by those skilled in the art. The disclosed embodiments are described in sufficient detail to enable those skilled in the art to carry out the disclosed embodiments. It will be understood that other embodiments may be available and that modifications may be made without departing from the scope of the disclosed embodiments. For this reason, materials, methods and examples are illustrative and not necessarily intended to be limiting.

[0013]

[0017] Quantum processors can be constructed using quantum assembly language to perform quantum operations. Quantum assembly language can include quantum instructions that specify the application of quantum gates to one or more qubits. For example, a quantum instruction can specify the application of a single qubit gate to a single qubit, or the application of a double qubit gate to a pair of qubits. Unlike conventional computing, quantum operations may inevitably involve the simultaneous application of quantum gates to multiple qubits. Furthermore, some quantum operations may require the application of precisely timed gates to qubits.

[0014]

[0018] Configuring a conventional quantum processor to perform quantum operations involving multiple qubits or gates may require multiple quantum instructions. As a non-restrictive example, a quantum operation may require the application of a single qubit gate X to five qubits. In this example, the quantum instruction "Xqubit_identifier" can cause the quantum processor to apply the single qubit gate X to the qubit indicated by qubit_identifier. In response to instructions to perform quantum operations on qubits 1, 2, 3, 7, and 10, the quantum processor's controller can execute the following quantum assembly language: X1 X2 X3 X7 X10

[0015]

[0019] However, quantum operations may require the simultaneous application of a single qubit gate X to qubits 1, 2, 3, 7, and 10. Therefore, in this example, the controller's instruction rate can determine whether the quantum processor can perform quantum operations. When quantum operations do not impose timing requirements (e.g., simultaneous application) on the application of gates to qubits, the controller's instruction rate can be a limiting factor in the performance of the quantum processor, even when the controller is implemented using a superscalar processor.

[0016]

[0020] A quantum processor can be configured to support quantum instructions that apply gates to qubits identified by the contents of a target register. As a non-restrictive example, the following two quantum instructions can store the indices of qubits 1, 2, 3, 7, and 10 in a target register TM, and then apply quantum gate X to the qubits identified by the contents of the target register TM. TARGET TM 1 2 3 7 10 X TM

[0017]

[0021] As described herein, applying the quantum gate X to an identified qubit can include providing an electromagnetic pulse to the qubit. To this end, configuring a quantum processor to support such quantum instructions can include configuring a controller of the quantum processor to provide appropriate instructions for simultaneously applying a specified quantum gate to a specified qubit to other components of the quantum processor (e.g., waveform generators, bias sources, etc.).

[0018]

[0022] Quantum instructions that associate qubits with a target register can be difficult to scale for a quantum processor having a large number of qubits. For example, if a quantum processor includes 256 qubits, each qubit may require an 8-bit integer identifier. Thus, the quantum instruction TARGET TM 1 2 3 7 10 may require, in addition to 40 bits, any bits necessary to identify the instruction and the register. Further, the number of bits required can depend on the number of qubits assigned to the target register.

[0019]

[0023] According to the disclosed embodiments, a vector quantum processor can support scalable simultaneous execution of quantum operations. Such a processor can include a vector controller configured to support quantum vector instructions. For example, execution of the following quantum vector instructions can cause the vector controller to load a 10-qubit index at memory location A and then execute gate X on the indicated qubits. TARGET TM A 10 X TM

[0020]

[0024] In this way, the quantum processor can be configured to support quantum operations including the execution of gates (or multiple gates) on multiple qubits (or multiple pairs of qubits, multiple triplets of qubits, etc.).

[0021]

[0025] FIG. 1 shows a schematic diagram of an exemplary system 100 including a computing device and a quantum processor according to the disclosed embodiments. The computing device 101 can be configured to provide instructions to the quantum processor 102, and the quantum processor 102 can implement these instructions using quantum operations that affect qubit states. In some cases, the instructions can be read instructions. The quantum processor 102 can be configured to read one or more qubit states in response to receiving such read instructions. In this way, the system 100 can perform quantum calculations using the quantum processor 102 that cannot be performed or cannot be effectively performed using a conventional computing device.

[0022]

[0026] According to the disclosed embodiments, the computing device 101 can be a conventional digital computing device (e.g., a mobile device, laptop, desktop, workstation, computing cluster, or a cloud computing instance implemented in a cloud computing platform), or a conventional portion of a computing device that combines digital and quantum processors. The disclosed embodiments are not limited to any particular implementation of communication between the computing device 101 and the quantum processor 102. According to the disclosed embodiments, the computing device 101 can be configured to communicate with the quantum processor 102 using a bus (e.g., a PCI Express bus, RapidIO, HyperTransport, QuickPath Interconnect, or other suitable standard), or using a network (e.g., using an Ethernet connection, etc.).

[0023]

[0027] According to the disclosed embodiments, the quantum processor 102 may include a vectorized quantum controller 103, one or more qubit controllers (e.g., qubit controller 105A and qubit controller 105B), and one or more qubits (e.g., qubits 107A and qubit 107B). The specific configurations of the qubit controllers and qubits shown in Figure 1 are not intended to limit. In some cases, for example, a qubit controller may be configured to control multiple qubits. The quantum processor 102 may include a cryogenic system for maintaining the qubits at a temperature suitable for quantum computation. The quantum processor 102 may further include a noise reduction filter disposed between the qubit controller output and the qubit, and a low-noise amplifier disposed between the qubit readout and the qubit controller input.

[0024]

[0028] According to the disclosed embodiments, the vectorized quantum controller 103 can be configured to communicate with a computing device 101. In some cases, the vectorized quantum controller 103 can receive instructions from the computing device 101. Such instructions may include instructions to execute a quantum gate on a qubit or to read the state of a qubit. The vectorized quantum controller 103 can be configured to translate such instructions into commands for a qubit controller. In some cases, as described herein, such commands may specify which waveform to generate, when to generate the waveform, or trigger the generation of the waveform. In various cases, such commands may specify that the qubit controller read the state of a qubit. The commands can then be provided to the qubit controllers 105A and 105B, as shown. In some cases, for example in response to a command to read the state of a qubit, the vectorized quantum controller 103 can receive data from the qubit controller. In some cases, the state data may describe the measured state of the qubit (e.g., whether the qubit was in a state corresponding to "0" or a state corresponding to "1"). In some embodiments, state data can describe the population of equistates of qubits.

[0025]

[0029] According to the disclosed embodiments, a qubit controller (e.g., qubit controller 105A or qubit controller 105B) can be configured to communicate with one or more qubits. The qubit controller may be one or more digital computing devices or may include them. In some embodiments, the qubit controller may include a waveform generator, a bias source, a microwave source, and the like.

[0026]

[0030] In some embodiments, the qubit controller may include a waveform generator output multiplexed with a microwave source and connected to the qubit's XY control lines. In some examples, the XY control lines can be used to excite the qubit's state.

[0027]

[0031] In some embodiments, the qubit controller may include a waveform generator output connected to the qubit's Z control line. A bias source may also be connected to the qubit's Z control line. The waveform generator output and bias source can provide signals to the Z control line to adjust the qubit frequency.

[0028]

[0032] In some embodiments, the qubit controller may include a waveform generator multiplexed with a microwave source and connected to the qubit's readout line. The waveform generator may be configured to provide a probe signal to the qubit's readout line. An analog-to-digital converter (ADC) may be connected to the readout line (e.g., the other end of the readout line). The ADC may be configured to measure the signal output by the readout line in response to the provision of the probe signal. The qubit controller may include an ADC. The qubit controller (or another component of a quantum processor, such as a vectorized quantum controller) may determine the amplitude and phase from the output signal. The amplitude and phase of the output signal may be used to determine the state of the probed qubit. The disclosed embodiments are not limited to any particular method of measuring the state of a qubit.

[0029]

[0033] As described herein, the qubit controller can be configured to communicate with the vectorized quantum controller 103. In some embodiments, the waveform generator of the qubit controller can be configured to store a plurality of different pulse envelopes. These pulse envelopes can correspond to different quantum gates. The vectorized quantum controller 103 can provide the qubit controller with a selection of gates (or pulse envelopes) to provide to the qubit. In some embodiments, the waveform generator can be configured to provide a selected gate (or one or more selected pulse envelopes) at a particular time point. The disclosed embodiments are not limited to any particular way of indicating a time point. In some embodiments, a time point can be indicated by a vector of timestamps. The timestamps can indicate a number of units (e.g., microseconds, clock ticks, or another appropriate unit of time) from the start of the stimulus to the provision of the pulse. In various embodiments, the waveform generator can be configured to initiate a stimulus in response to a trigger command.

[0030]

[0034] As a non-limiting example of communication between the vectorized quantum controller 103 and the qubit controller, the vectorized quantum controller 103 may indicate that the qubit controller provides the qubit with a pulse corresponding to an Hadamard gate, beginning 10 microseconds after the start of the stimulus. The vectorized quantum controller 103 may also provide a trigger signal to initiate the stimulus. In some embodiments, the qubit controller may provide the vectorized quantum controller 103 with an affirmative response signal to indicate that the qubit controller is configured to provide a stimulus. In such embodiments, the vectorized quantum controller 103 may provide a trigger signal in response to the affirmative response signal.

[0031]

[0035] According to the disclosed embodiments, qubits (e.g., qubit 107A and qubit 107B) can be implemented using superconducting quantum circuits. Such qubits can be based on current (e.g., flux qubits), charge (e.g., charge qubits), or energy (e.g., phase qubits). Different implementations can have different characteristics, such as sensitivity to external noise, coherence time, or anharmonicity. For example, a trasmon qubit, a type of charge qubit including a capacitively shorted Josephson junction, may exhibit reduced sensitivity to charge noise. As a further example, a fluxnium qubit, a type of flux qubit including a Josephson junction shorted by a capacitor and an inductor (the latter being achievable using an array of additional Josephson junctions), may exhibit a long coherence time and high anharmonicity. The disclosed embodiments are not limited to any particular qubit implementation. In some embodiments, multiple qubits can be implemented using a single superconducting circuit.

[0032]

[0036] In some embodiments, a qubit can be configured to receive control signals from a qubit controller and provide a readout output signal to the qubit controller. The control signals may include in-phase and quadrature pulse envelopes or DC bias waveforms. In some embodiments, the waveform may be a microwave signal provided to the qubit, or it may be modulated. The readout output signal may be generated in response to a probe signal provided by the qubit controller. For example, the readout signal may be distributed readout signal coding information regarding the state of the qubit.

[0033]

[0037] As described herein, the qubit controller can be provisioned with stored waveforms. In some embodiments, the qubit controller can communicate with the vectorized quantum controller 103 to receive waveforms. In various embodiments, the qubit controller can communicate with the computing device 101 (or another computing device) to receive waveforms. As a non-limiting example, the waveform generator of the qubit controller can be connected to the computing device 101 (or another computing device) via a bus or network. Using this separate connection, waveforms can be loaded into the memory of the waveform generator.

[0034]

[0038] Figure 2A shows a schematic diagram of a first implementation of an exemplary vectorized quantum controller 103 according to a disclosed embodiment. As shown in Figure 1, the vectorized quantum controller 103 can be configured to receive instructions from a computing device 101, provide commands to a qubit controller, and receive output data (or qubit state data) from the qubit controller. In some embodiments, the vectorized quantum controller 103 can be implemented using a field-programmable gate array (FPGA), an application-specific integrated circuit (ASIC), or a microprocessor. In some embodiments, the vectorized quantum controller 103 can be configured to implement a RISC-V processor using an extended instruction set. In some embodiments, the extended instruction set may include standard RISC-V extensions for vector operation. In various embodiments, the extended instruction set may be configured to handle variable-length instruction word (VLIW) coding. In some embodiments, the behavior of the vectorized quantum controller 103 can be specified by a hardware description language (e.g., Verilog or VHDL), which can then be synthesized and routed to an FPGA implementing the vectorized quantum controller 103.

[0035]

[0039] According to the disclosed embodiments, the communication controller 201 can enable the vectorized quantum controller 103 to communicate with the computing device 101. In some embodiments, the communication controller 201 may be a PCIe controller or a similar controller conforming to a similar communication standard. The communication controller 201 can provide instructions received from the computing device 101 to the command parser 203.

[0036]

[0040] According to the disclosed embodiments, the command parser 203 can be configured to convert commands received from the communication controller 201 into quantum assembly instructions.

[0037]

[0041] In some embodiments, the vectorized quantum controller 103 can omit the command parser 203. In such embodiments, the assembler of the computing device 101 can convert pseudo-instructions into quantum assembly instructions. The quantum assembly instructions can then be provided to the vectorized quantum controller 103 as commands. In such embodiments, the quantum assembly instructions can be provided to the command processor 205 by the communication controller 201.

[0038]

[0042] The command processor 205 can be configured to process quantum assembly instructions. In some cases, the quantum assembly instructions may include instructions corresponding to the application of quantum gates to qubits. For example, as described above, the execution of the instruction X register can cause the quantum processor to apply gate X to a qubit indicated by an index stored in the register. According to the disclosed embodiments, the command processor 205 can be configured to translate instructions received from the command parser 203 into commands for the qubit controller.

[0039]

[0043] As a non-limiting example, the command processor 205 can process the instruction CNOT registerA registerB, which applies a CNOT gate to a pair of qubits specified by registerA and registerB (for example, the first qubit in registerA is paired with the first qubit in registerB, then the second qubit in registerA is paired with the second qubit in registerB, and so on). The command processor 205 can decompose this instruction into commands for the specified qubits. For example, such commands may include configuration commands to a waveform generator or bias source in a qubit controller. Such configuration commands may include commands to change the z-bias on the qubits to adjust both qubits in the pair to the same frequency. Such configuration commands may include commands to provide an electromagnetic stimulus to one of the qubits in the pair. The electromagnetic stimulus may be specified in terms of a specific pulse envelope (which may have a specific shape, amplitude, and duration) and a specific start time (relative to the start of gate application).

[0040]

[0044] In some embodiments, commands for specific qubits can be sequentially provided to the output stage 207 by the command processor 205. For example, the command processor 205 can communicate with the output stage 207 using a serial interface (e.g., a serial peripheral interface or another suitable interface). The order in which the commands are provided is not intended to be limiting. For example, the command processor 205 may provide waveform selection commands for all qubits, and then provide timing commands for all qubits. As an alternative example, the command processor 205 may provide waveform and timing commands for a first qubit, and then provide waveform and timing commands for a second qubit, and so on. In various embodiments, commands for specified qubits can be provided to the output stage 207 in parallel by the command processor 205.

[0041]

[0045] The output stage 207 can be configured to route commands to the appropriate qubits. In some embodiments, each qubit controller can be associated with a communication channel (e.g., one or more PCIe lanes). The output stage 207 can be configured to communicate with each qubit controller using the communication channel associated with its controller. The command processor 205 can provide an indication of the command's destination (e.g., an indication of a specific qubit controller, a specific qubit, a combination thereof, or another appropriate indication). The output stage 207 can then route the command to the appropriate qubit controller. In various embodiments, the output stage 207 can broadcast the command, along with the indication of the destination qubit controller (or destination qubit), on a communication channel shared by all qubit controllers. In some embodiments, the output stage 207 can be configured to provide clocking, retiming, or jitter cleaning functions.

[0042]

[0046] According to the disclosed embodiments, the command parser 203 can be configured to provide instructions to the trigger control unit 209. The command processor 205 can provide configuration instructions to the qubit controller (through the output stage 207), while the trigger control unit 209 can provide trigger signals to the qubit controller to initiate the application of quantum gates. In some embodiments, the trigger control unit 209 can wait for acknowledgment signals from the qubit controllers before providing such trigger signals. For example, when a command specifies the application of quantum gates to qubits 1 and 2 (controlled by qubit controller A) and qubit 5 (controlled by qubit controller B), the trigger control unit 209 can be configured to wait for acknowledgment signals from qubit controllers A and B before providing trigger signals. In some embodiments, trigger signals can be provided only to the qubit controller configured to apply the gates. In some embodiments, trigger signals can be provided on the same communication channel as the configuration instructions. In various embodiments, trigger signals can be provided on a separate communication channel. As a non-limiting example, the communication channel can be specific to the waveform generator. The trigger signal can be a transistor-to-transistor logic (TTL) signal provided in a single-wire system ground reference connection to the TTL trigger input in each waveform generator.

[0043]

[0047] Figure 2B shows a schematic diagram of a second implementation of an exemplary vectorized quantum controller 103 according to a disclosed embodiment. As shown in Figure 1, the vectorized quantum controller 103 can be configured to receive instructions from a computing device 101, provide commands to a qubit controller, and receive output data (or qubit state data) from the qubit controller. In some embodiments, the vectorized quantum controller 103 can be implemented using a field-programmable gate array (FPGA), an application-specific integrated circuit (ASIC), or a microprocessor. In some embodiments, the vectorized quantum controller 103 can be configured to implement a RISC-V processor using an extended instruction set. In some embodiments, the extended instruction set may include standard RISC-V extensions for vector operation. In various embodiments, the extended instruction set may be configured to handle variable-length instruction word (VLIW) coding. In some embodiments, the behavior of the vectorized quantum controller 103 can be specified by a hardware description language (e.g., Verilog or VHDL), which can then be synthesized and routed to an FPGA implementing the vectorized quantum controller 103.

[0044]

[0048] According to the disclosed embodiments, the communication controller 211 can enable the vectorized quantum controller 103 to communicate with the computing device 101. In some embodiments, the communication controller 211 may be a PCIe controller or a similar controller conforming to a similar communication standard. The communication controller 211 can provide instructions received from the computing device 101 to the command processor 215.

[0045]

[0049] According to the disclosed embodiments, the command processor 215 can be configured to process quantum assembly instructions. In some embodiments, the command processor 215 can be configured to convert pseudo-instructions received from the computing device 101 (e.g., through a communication controller 211, etc.) into quantum assembly instructions (and then process these instructions). As described herein, the command processor 215 can be configured to write instructions for a qubit controller (e.g., instructions to apply waveforms or readout states) to the output memory 216 using quantum assembly instructions.

[0046]

[0050] According to the disclosed embodiments, the output memory 216 can be a memory accessible from the command processor 215 and the output control unit 217. In some embodiments, the output memory 216 can be implemented using the same FPGA as other components of the vectorized quantum controller 103 (e.g., the command processor 215, the output control unit 217, etc.). In some embodiments, the output memory 216 can be part of the output control unit 217. The command processor 215 can be configured to write to the output memory 216 using an AXI (Advanced eXtensible Interface) or a similar interface. In various embodiments, the output memory 216 can be implemented using a different component (e.g., a discrete memory component, etc.).

[0047]

[0051] The output memory 216 can implement memory-mapped I / O according to the disclosed embodiments. Memory addresses in the output memory 216 can be mapped to "channels" of a qubit. A channel may be an abstraction of the physical connection between the qubit controller and the qubit. For example, the XY control lines of a qubit can be represented by input channels. As an additional example, the z control line (or the z control line and bias source) can be represented by input channels. As yet another example, probe inputs, outputs and an ADC (and, in some embodiments, a circuit for determining the state of the qubit from the signal obtained using the ADC) can be represented by output channels.

[0048]

[0052] According to the disclosed embodiments, the output control unit 217 can be configured to provide instructions to be written to appropriate qubits in the output memory 216. The output control unit 217 can be connected to a qubit controller using a communication network. In some embodiments, this communication network can be separate from the communication network connecting the vectorized quantum controller 103 to the computing device 101. In some embodiments, the output control unit 217 can be configured to manage communication between the vectorized quantum controller 103 and the qubit controller. For example, the output control unit 217 can translate instructions into a protocol suitable for communication over the network and provide these instructions to the qubit controller according to the protocol.

[0049] [Table 1]

[0050]

[0053] Table 1 provides a non-restrictive example of instructions that can be written to or read from addresses corresponding to the memory or registers of a channel. In this example, bold parameters are determined by memory mapping (for example, a “play” instruction written to a memory address mapped to channel 1 is provided to the qubit implementing channel 1). Italicized parameters are retained for the next command at the same time written to the same address in memory 216. In some cases, italicized parameter values ​​can be overwritten by new values.

[0051]

[0054] In some embodiments, the command processor 215 can be configured to write configuration instructions (for example, "wait", "play", or "get" instructions, or similar instructions that affect the timing of the waveforms provided and the waveform provisioning) to the output memory 216.

[0052]

[0055] According to the disclosed embodiments, a “wait” instruction can instruct a channel to delay processing the next instruction by a certain amount of time. In some embodiments, a wait instruction can specify a time from the last instruction in a set of stored instructions (for example, by repeating wait 100 three times, actions at times 100, 200, and 300 can be specified). In various embodiments, the output control unit 217 can be configured to convert wait instructions to trigger-referenced timing (for example, wait 100, wait 100, and wait 100 with relative wait timing can be converted to trigger-referenced wait 100, wait 200, and wait 300). In some embodiments, a fixed memory address in the output memory 216 can be assigned to a wait instruction.

[0053]

[0056] According to the disclosed embodiments, a “play” instruction can instruct a channel to play a waveform having a specified index. In some embodiments, the computing device 101 can determine the index when it provides the waveform to the qubit controller. In various embodiments, the index can be predetermined, and the computing device 101 can configure the qubit controller to store waveforms according to the predetermined index. In some embodiments, a channel can be specified by the memory address to which the waveform index is written, rather than by specifying the channel and the waveform index. In some embodiments, a “play” instruction may include a memory area for storing a waveform index for each channel. Each play instruction can then specify a waveform index for each channel (this can be a default or zero output index for channels not intended to provide a waveform in response to that particular “play” instruction).

[0054]

[0057] According to the disclosed embodiments, the “acquire” command causes the output control unit 217 to provide a command to the qubit controller implementing the channel to acquire data from the qubit. In some embodiments, the qubit controller may be configured to provide a probe waveform to the qubit and acquire the measurement using an ADC. Measurement configuration parameters may specify details of the measurement (e.g., the number of samples acquired, the sampling frequency, etc.). The acquire command may include a destination address for the qubit controller to provide the output. In some embodiments, the qubit controller may be configured to convert the measurement into a binary value output measurement (or, when multiple measurements are provided, the sum of the measurements).

[0055]

[0058] In some embodiments, similar to the "play" instruction, the memory address (or destination address) to which the measurement configuration is written can specify the channel. In some embodiments, the "get" instruction may include a memory area for storing the measurement configuration (or destination address) for each channel. Each "get" instruction can then specify the measurement configuration (or destination address) for each channel (this may be a default or zero read index for channels not intended to obtain a measurement in response to that particular "get" instruction).

[0056]

[0059] The command processor 215 can be configured to write trigger instructions to output memory 216. The trigger instruction can specify the channel to which the trigger should be sent (for example, the parameter "channel" may be a bitmask of the channel to which the trigger instruction should be sent). In some embodiments, in response to a trigger signal specifying that the trigger should be sent to a channel, the output control unit 217 can provide stored configuration instructions for that channel (e.g., "wait", "play", and "get" instructions) to the qubit controller implementing that channel. After the configuration instructions have been provided to the channel, the output control unit 217 can then provide a trigger signal to the channel. In some embodiments, the qubit controller can process the instructions in the order they are received. Thus, the qubit controller can be configured and then triggered. The trigger instruction can further provide the number of times the trigger should be repeated (e.g., the parameter "repeat count"). Stored configuration instructions for the triggered channel can again be provided to the channel at each repetition. The trigger instruction can further provide the time interval between each repetition of the trigger (e.g., the parameter "repeat interval"). The trigger instruction may further provide the earliest time to send the trigger (relative to the time the last trigger was sent on that channel). If the earliest time has already passed, the output control unit 217 can quickly provide the trigger. In some embodiments, after all repeated triggers have been provided on the channel, the configuration information stored for that channel can be cleared.

[0057]

[0060] In some embodiments, configuration instructions can be vectorized. As a non-limiting example, the command processor 215 can process a vectorized "play" instruction. A vectorized "play" instruction can retrieve an input parameter specifying a register or memory location of the command processor 215. The register or memory location can store a vector of waveform indices. The vectorized "play" instruction can write the contents of the vector to a vector of addresses in output memory 216. Each address in the vector of addresses can correspond to an input channel of a qubit. As an additional example, the command processor 215 can process a vectorized "get" instruction. A vectorized "get" instruction can retrieve an input parameter specifying a register or memory location of the command processor 215. The register or memory location can store a vector of measured configuration information. The vectorized "play" instruction can write the contents of the vector to a vector of addresses in output memory 216. Each address in the vector of addresses can correspond to an output channel of a qubit.

[0058]

[0061] According to the disclosed embodiments, the command processor 215 can be configured to process instructions corresponding to the application of a quantum gate to a qubit. For example, as described above, the execution of the instruction X register can cause the quantum processor to apply gate X to the qubit indicated by the index stored in the register. In some embodiments, the assembler of the computing device 101 (or the command processor 205) can be configured to translate the instruction X register into a set of “play,” “wait,” “get,” and “trigger” instructions that implement the application of gate X to the qubit indicated by the index stored in the register. As described herein, the command processor 215 can be configured to execute a set of implement instructions, thereby writing appropriate values ​​to appropriate locations in the output memory 216. In some embodiments, the instruction set of the command processor 215 can be extended to include an assembly instruction for applying gate X to the qubit indicated by the index stored in the register. In such embodiments, the command processor 215 can write appropriate waveform index, delay, trigger, and measurement configuration information to appropriate memory addresses in the output memory 216 in order to apply gate X to the qubit indicated by the index stored in the register.

[0059]

[0062] As an additional, non-limiting example, command processor 215 can process the instruction CNOT registerAregisterB, which applies a CNOT gate to a pair of qubits specified by registers A and B (for example, the first qubit in registerA is paired with the first qubit in registerB, then the second qubit in registerA is paired with the second qubit in registerB, and so on). Command processor 205 can decompose this instruction into a suitable set of "play," "wait," "get," and "trigger" instructions for the specified qubits. For example, a "play" instruction can be provided to a channel corresponding to the z-bias of the qubits in each pair of qubits, causing the qubits in each pair to be tuned to the same frequency. Additional "play" instructions can cause the qubit controller to provide an electromagnetic stimulus to one of the qubits in the pair of qubits. The electromagnetic stimulus can be specified with respect to a specific pulse envelope (which may have a specific shape, amplitude, and duration) and a specific start time (relative to the start of gate application). A "trigger" instruction can cause the qubit controller to begin applying a CNOT gate to a pair of qubits. In various embodiments, the instruction CNOT registerA registerB can be a quantum assembly instruction supported by the command processor 215. In such embodiments, the command processor 215 can write suitable waveform index, delay, trigger, and measurement configuration information to a suitable memory address in the output memory 216 in order to apply the CNOT gate to the pair of qubits indicated by the indices stored in regosterA and registerB.

[0060]

[0063] Figure 3A shows a flowchart of an exemplary method 300 for performing quantum operations using the vectorized quantum controller shown in Figure 2A, according to a disclosed embodiment. Method 300 may include the steps of: providing a command to a vectorized quantum controller (e.g., vectorized quantum controller 103) of a quantum processor (e.g., quantum processor 102); executing a vectorized quantum instruction; applying a quantum gate to a selected qubit; and providing output data. According to the disclosed embodiment, support for vectorized quantum instructions can enable scalable simultaneous execution of quantum operations.

[0061]

[0064] According to the disclosed embodiments, in step 301, the vectorized quantum controller may be configured to receive commands from a computing device (e.g., computing device 101). Commands may specify the execution of one or more quantum operations on a particular qubit. According to the disclosed embodiments, computing device 101 may provide commands during program execution. In some cases, computing device 101 may determine that results can be obtained more quickly using the quantum processor 102 than using computing device 101 (e.g., encrypted messages can be decrypted more quickly using the quantum processor 102 than using computing device 101).

[0062]

[0065] According to the disclosed embodiments, in step 303, the vectorized quantum controller may be configured to execute a vectorized quantum instruction corresponding to a command received from a computing device. In some embodiments, the vectorized quantum controller may translate a command into one or more quantum assembly instructions (e.g., using a command parser). The quantum assembly instructions may be part of an instruction set that can be based on the RISC-V instruction set (e.g., extended to include vector instructions). In some cases, the command may be a high-level command specifying a general purpose of a quantum operation without specifying the specific quantum operation involved. For example, the command may request a private key given a public key and an encrypted message. In various cases, the command may be a low-level command specifying a specific quantum operation. For example, the command may specify the application of a Hadamard gate to all qubits of a quantum processor.

[0063]

[0066] Quantum assembly instructions can be vectorized assembly instructions. For example, an instruction can load a qubit index into a qubit register using vector operations. The instruction can then apply a gate to the qubit (or pair of qubits) indicated by the qubit register. The application of a gate to the indicated qubit (or pair of qubits) may include the automatic generation of construct instructions. These construct instructions may include waveform selection and timing. A vectorized quantum controller may be configured to provide waveform selection and timing to a qubit controller controlling a given qubit.

[0064]

[0067] In some embodiments, the qubit controller may be configured to acknowledge receipt of a configuration command. The qubit controller may also, or alternatively, acknowledge the success of the configuration.

[0065]

[0068] A vectorized quantum controller can be configured to provide a trigger signal. In some embodiments, the trigger signal may be provided in response to the reception of an acknowledgment signal. For example, the vectorized quantum controller may determine that the qubit controllers for all designated qubits have indicated a successful configuration. In response, the vectorized quantum controller may provide trigger signals to these qubit controllers, causing them to begin applying quantum gates to the designated qubits.

[0066]

[0069] According to the disclosed embodiments, in step 305, the quantum processor may apply a quantum gate to a selected qubit. The qubit controller may, in response to receiving a trigger signal, provide the qubit with a specified waveform having a specified timing. In this way, the quantum gate can be applied to the specified qubit (or pair of qubits).

[0067]

[0070] In step 307, the quantum processor can provide output data to a computing device. In some cases, the output data can be provided in response to a command received from the computing device (for example, the computing device requests a secret key, and the quantum processor provides the secret key in response). In various cases, the output data can be provided in response to a command sequence, including a command received in step 301. For example, step 301 can instruct the initialization of a specified qubit. Subsequent commands can then specify the application of various gates to various qubits. After the application of these various gates, a read command can request the state of one or more qubits. Depending on the read method, a measured value of the state (e.g., corresponding to a binary value) can be provided, or the state data can describe a population of eigenstates of the specified qubit.

[0068]

[0071] Figure 3B shows a flowchart of an exemplary method 310 for performing quantum operations using the vectorized quantum controller of Figure 2B, according to an embodiment of the disclosed embodiment. Method 310 may include the steps of providing a command to a vectorized quantum controller (e.g., vectorized quantum controller 103) of a quantum processor (e.g., quantum processor 102), executing a vectorized quantum instruction, applying a quantum gate to a selected qubit, and providing output data. According to the disclosed embodiment, support for vectorized quantum instructions can enable scalable simultaneous execution of quantum operations.

[0069]

[0072] According to the disclosed embodiments, in step 311, the vectorized quantum controller may be configured to receive commands from a computing device (e.g., computing device 101). Commands may specify the execution of one or more quantum operations on a particular qubit. According to the disclosed embodiments, computing device 101 may provide commands during program execution. In some cases, computing device 101 may determine that results can be obtained more quickly using the quantum processor 102 than using computing device 101.

[0070]

[0073] According to the disclosed embodiments, in step 313, the vectorized quantum controller may be configured to execute a vectorized quantum instruction corresponding to a command received from a computing device. In some embodiments, the vectorized quantum controller may translate a command into one or more quantum assembly instructions (e.g., using a command processor). The quantum assembly instructions may be low-level instructions (e.g., “play”, “wait”, “get”, or “trigger” instructions as described herein) or gate-level instructions (e.g., applying gate X to a qubit having an index stored in register rs, as described herein). The quantum assembly instructions may be part of an instruction set that can be based on the RISC-V instruction set (e.g., extended to include vector instructions). In some cases, the command may be a high-level command specifying a general purpose of a quantum operation without specifying the specific quantum operation involved. For example, the command may request a private key given a public key and an encrypted message. In various cases, the command may be a low-level command specifying a specific quantum operation. For example, the command may specify the application of an Hadamard gate to all qubits of a quantum processor.

[0071]

[0074] Quantum assembly instructions can be vectorized assembly instructions. For example, an instruction can load qubit indices into a qubit register using vector operations. The instruction can then apply gates to the qubits (or pairs of qubits) indicated by the qubit register. The application of gates to the indicated qubits (or pairs of qubits) may include the automatic generation of construct and trigger instructions.

[0072]

[0075] According to the disclosed embodiments, the configuration instructions may include waveform selection and timing. The command processor of the vectorized quantum controller (e.g., command processor 215) may write the configuration instructions to a memory (e.g., output memory 216) accessible by the command processor and the output control unit of the vectorized quantum controller (e.g., output control unit 217). The command processor may write trigger instructions to the memory. In response to the writing of trigger instructions, the output control unit may provide the configuration instructions and triggers to the appropriate qubit controller.

[0073]

[0076] According to the disclosed embodiments, in step 315, the quantum processor can apply a quantum gate to a selected qubit. The qubit controller can trigger an instruction in response to the receipt of a configuration instruction, and can provide a specified waveform having a specified timing to the qubit. In this way, the quantum gate can be applied to the specified qubit (or pair of qubits).

[0074]

[0077] In step 317, the quantum processor can provide output data to a computing device. In some cases, the output data can be provided in response to a command received from the computing device (for example, the computing device requests a secret key, and the quantum processor provides the secret key in response). In various cases, the output data can be provided in response to a command sequence, including a command received in step 311. For example, step 311 can instruct the initialization of a specified qubit. Subsequent commands can then specify the application of various gates to various qubits. After the application of these various gates, a read command can request the state of one or more qubits. Depending on the read method, a measured value of the state (e.g., corresponding to a binary value) can be provided, or the state data can describe a population of eigenstates of the specified qubit.

[0075]

[0078] In some embodiments, non-temporary computer-readable storage media containing instructions are also provided, which can be executed by a device (such as the disclosed encoder and decoder) to perform the methods described above. Common forms of non-temporary media include, for example, floppy disks, flexible disks, hard disks, solid-state drives, magnetic tapes, or any other magnetic data storage media, CD-ROMs, any other optical data storage media, any physical media having a perforated pattern, RAM, PROMs and EPROMs, FLASH®-EPROMs or any other flash memory, NVRAMs, caches, registers, any other memory chips or cartridges, and networked versions thereof. A device may include one or more processors (CPUs), input / output interfaces, network interfaces, and / or memory.

[0076]

[0079] The above description is provided for illustrative purposes only. It is not exhaustive and is not limited to the exact form or embodiment disclosed. By examining this specification and practicing the disclosed embodiments, variations and adaptations of the embodiments will become apparent. For example, while the described implementations include hardware, the systems and methods according to this disclosure may be implemented using hardware and software. In some embodiments, a vectorized quantum controller and its components (e.g., a communication controller, command parser, and command processor) may be implemented using circuitry configured to perform the disclosed functions / operations (e.g., using an FPGA configured to implement an instruction set extended to support vector processing and quantum gate operations). In various embodiments, the disclosed functions may be implemented in software using a high-level programming language (e.g., Python) and a central processing unit-based control stack. In such embodiments, software modules may implement the disclosed components (e.g., a communication controller, command parser, and command processor). In addition, while certain components have been described as coupled together, such components may be integrated together or distributed in an appropriate form.

[0077]

[0080] Furthermore, while exemplary embodiments are described herein, the scope includes all embodiments having equivalent elements, modifications, omissions, combinations (e.g., aspects across various embodiments), adaptations, or variations based on this disclosure. The elements in the claims should be interpreted broadly and non-exclusively based on the language used in the claims, and should not be limited to the embodiments described herein or the embodiments described in the application procedure. Furthermore, the steps of the disclosed methods can be modified in any way, including rearranging the steps or inserting or deleting steps.

[0078]

[0081] It should be noted that relational terms such as “first” and “second” in this specification are used solely to distinguish one entity or action from another, and do not require or imply any actual relationship or order between these entities or actions. Furthermore, “include,” “have,” “contain,” and “incorporate,” as well as other similar forms of terms, are intended to be equivalent in meaning and are intended to be non-restrictive in that the items following any of these terms are not intended to be an exhaustive list of such items, nor are they intended to be limited to only the items listed.

[0079]

[0082] Since the features and advantages of this disclosure are evident from the detailed specification, the appended claims are intended to cover all systems and methods that fall within the true intent and scope of this disclosure. Where used herein, the indefinite articles "a" and "an" mean "one or more." Similarly, the use of the plural does not necessarily imply a plural unless explicitly stated in the given context. Furthermore, since numerous modifications and alterations will readily be made from the study of this disclosure, it is not desirable to limit this disclosure to the exact structures and operations shown and described, and therefore all preferred modifications and equivalents can be reclassified to fall within the scope of this disclosure.

[0080]

[0083] As used herein, unless otherwise specified, the word “or” encompasses all possible combinations, except in impractical cases. For example, if it is stated that a database may contain A or B, then unless otherwise specified or impractical, that database may contain A, B, or A and B. As a second example, if it is stated that a database may contain A, B, or C, then unless otherwise specified or impractical, that database may contain A, B, C, A and B, A and C, B and C, or A and B and C.

[0081]

[0084] It will be understood that the embodiments described above can be implemented by hardware, software (program code), or a combination of hardware and software. When implemented by software, the software can be stored in a computer-readable medium. The computer-readable medium can be a non-temporary computer-readable medium. When the software is executed by a processor, it can perform the methods disclosed. The computing units and other functional units described in this disclosure can be implemented by hardware, software, or a combination of hardware and software. It will also be understood by those skilled in the art that multiple of the above modules / units can be combined into a single module / unit, and each of the above modules / units can be further divided into multiple submodules / subunits.

[0082]

[0085] This specification has described embodiments with respect to numerous specific details that may vary depending on the implementation. Certain adaptations and modifications may be made to the embodiments described. Other embodiments may become apparent to those skilled in the art by examining this specification and practicing the invention disclosed herein. This specification and examples are provided for illustrative purposes only, and the true scope and spirit of the invention are intended to be shown by the appended claims. Furthermore, the sequence of steps shown in the figures is for illustrative purposes only and is not intended to limit the sequence of steps to any particular order. Therefore, those skilled in the art will understand that these steps may be performed in different orders while implementing the same method.

[0083]

[0086] Embodiments can be further described using the following sections. 1. A system for performing quantum operations, comprising a qubit, a qubit controller including a circuit section configured to provide control signals to the qubit, and a vectorized quantum controller, wherein the vectorized quantum controller includes a circuit section configured to receive a command from a computing device, the command indicating the application of a quantum gate to the qubit, and to convert the command into one or more quantum assembly instructions, the one or more quantum assembly instructions including a vector instruction for creating a register for the qubit, the register including an indication of the qubit, and to execute one or more quantum assembly instructions to cause the qubit controller to apply a quantum gate to the qubit and to provide an output to the computing device. 2. Executing one or more quantum assembly instructions to cause the qubit controller to apply a quantum gate to a qubit involves providing the qubit controller with configuration information and providing the qubit controller with a trigger signal. The system described in Section 1, including the system described in Section 1. 3. The configuration information includes the indication of the waveform applied to the qubit, and the indication of the timing of the waveform application. The system described in Section 2, including the system described in Section 2. 4. A vectorized quantum controller system according to either Section 2 or 3, comprising a command processor and an output control unit, which executes one or more quantum assembly instructions to cause the qubit controller to apply a quantum gate to a qubit, and which includes the command processor writing configuration information and trigger signals to the memory of the qubit controller. 5. A vectorized quantum controller is a system of any of the items in Sections 1-4, including an FPGA configured to implement a vectorized command processor. 6. The vectorized command processor supports the RISC-V instruction set extended to include quantum assembly instructions, as described in Section 5. 7. The output of any one of the systems described in Sections 1-6 includes a binary value measurement, a sum of binary value measurements, or state data. 8. A qubit is a system that includes a superconducting quantum circuit and is part of any one of sections 1-7. 9. A method for performing quantum operations using a quantum processor, comprising: receiving a command from a computing device by a vectorized quantum controller of the quantum processor, the command indicating the application of a quantum gate to a qubit of the quantum processor; converting the command by the vectorized quantum controller into one or more quantum assembly instructions, the one or more quantum assembly instructions including a vector instruction for creating a register for the qubit, the register including an indication of the qubit; executing one or more quantum assembly instructions to cause the qubit controller of the quantum processor to apply a quantum gate to the qubit; and providing an output to the computing device. 10. Executing one or more quantum assembly instructions to cause the qubit controller to apply a quantum gate to a qubit involves providing the qubit controller with configuration information and providing the qubit controller with a trigger signal. The method described in Section 9, including the method described in Section 9. 11. The configuration information includes the indication of the waveform applied to the qubit, the indication of the timing of the waveform application, The method described in Section 10, including the method described in Section 10. 12. A vectorized quantum controller comprising a command processor and an output control unit, the method of either Section 10 or 11, wherein the command processor writes configuration information and trigger signals to the memory of the qubit controller, which executes one or more quantum assembly instructions to cause the qubit controller to apply a quantum gate to a qubit. 13. The transformation by a vectorized quantum controller is the method of any one of Sections 9-12, including the transformation by an FPGA configured to implement a vectorized command processor. 14. A vectorized command processor supports the RISC-V instruction set extended to include quantum assembly instructions, as described in Section 13. 15. Providing an output includes any one of the methods in Sections 9 to 14, which includes providing a binary value measurement, a sum of binary value measurements, or state data. 16. Applying a quantum gate to a qubit is any of the methods in any one of sections 9 to 15, including applying a quantum gate to a superconducting circuit. 17. A non-temporary computer-readable medium containing instructions, which, when executed by a vectorized quantum controller of a quantum processor, causes the vectorized quantum controller to perform an operation comprising: receiving a command from a computing device, the command indicating the application of a quantum gate to a qubit of the quantum processor; and converting the command into one or more quantum assembly instructions, the one or more quantum assembly instructions including a vector instruction for creating a register of a qubit, the register including an indication of a qubit; and executing one or more quantum assembly instructions to cause the qubit controller of the quantum processor to apply a quantum gate to a qubit and provide an output to a computing device. 18. Executing one or more quantum assembly instructions to cause a qubit controller to apply a quantum gate to a qubit involves providing the qubit controller with configuration information and providing the qubit controller with a trigger signal. Non-temporary computer-readable media, including those specified in Section 17. 19. Configuration information includes an indication of the waveform to be applied to the qubit and an indication of the timing of the waveform application, in the non-temporary computer-readable medium of Section 18. 20. A vectorized quantum controller includes a command processor and an output control unit, and the command processor executes one or more quantum assembly instructions to cause the qubit controller to apply a quantum gate to a qubit, and the command processor writes configuration information and trigger signals to the memory of the qubit controller, in a non-temporary computer-readable medium as in either Section 18 or 19. 21. A vectorized quantum controller for performing quantum operations, comprising a communication controller, a command processor, and an output control unit, wherein the communication controller includes a circuit section configured to receive commands from a computing device, the commands indicating the application of quantum gates to qubits, the command processor converting the commands into one or more quantum assembly instructions, the one or more quantum assembly instructions including vector instructions for creating registers for qubits, the registers including qubit indications, and the output control unit includes a circuit section configured to perform conversions and execute one or more quantum assembly instructions to generate configuration information and trigger information, and the output control unit includes a circuit section configured to provide the configuration information and trigger information to the qubit controller. 22. The command processor is the vectorized quantum controller from Section 21, implemented using an FPGA. 23. The command processor supports the RISC-V instruction set extended to include quantum assembly instructions, as per Section 22, and is a vectorized quantum controller. 24. A vectorized quantum controller according to any one of sections 21 to 23, wherein the circuit section included in the command processor is further configured to write configuration information and trigger information to the mapped memory of the output control unit. 25. A vectorized quantum controller according to any one of sections 21-24, wherein the configuration information includes an indication of the waveform applied to the qubit by the qubit controller and an indication of the timing of the waveform application.

[0084]

[0087] Exemplary embodiments are disclosed in the drawings and specification. However, many variations and modifications can be made to these embodiments. Therefore, although specific terms are used, they are used only in a general and descriptive sense and are not intended to limit or restrict the scope of the embodiments. The scope is defined by the following claims.

Claims

1. A system for performing quantum operations, Qubit and, A qubit controller including a circuit section configured to provide control signals to the qubit, A vectorized quantum controller, Receiving a command from a computing device, wherein the command indicates the application of a quantum gate to the qubit, The conversion involves converting the command into one or more quantum assembly instructions, wherein the one or more quantum assembly instructions include vector instructions for creating registers for qubits, and the registers include indications for the qubits. Executing one or more of the aforementioned quantum assembly instructions to cause the qubit controller to apply the quantum gate to the qubit, To provide output to the aforementioned computing device and A vectorized quantum controller comprising a circuit section configured to perform the following: A system that includes these features.

2. Executing one or more of the above quantum assembly instructions to cause the qubit controller to apply the quantum gate to the qubit is, To provide configuration information to the aforementioned qubit controller, To provide a trigger signal to the aforementioned qubit controller The system according to claim 1, including the following:

3. The aforementioned configuration information is, Indication of the waveform applied to the aforementioned qubit, Indication of the timing of the application of the waveform and The system according to claim 2, including the above.

4. The vectorized quantum controller includes a command processor and an output control unit, The system according to claim 2, wherein executing one or more quantum assembly instructions to cause the qubit controller to apply the quantum gate to the qubit includes the command processor writing the configuration information and the trigger signal to the memory of the qubit controller.

5. The system according to claim 1, wherein the output includes a measured binary value, a sum of measured binary values, or state data.

6. The system according to claim 1, wherein the qubit includes a superconducting circuit.

7. The system according to claim 1, wherein the vectorized quantum controller includes an FPGA configured to implement a vectorized command processor.

8. The system according to claim 7, wherein the vectorized command processor supports a RISC-V instruction set extended to include quantum assembly instructions.

9. A method for performing quantum operations using a quantum processor, The vectorized quantum controller of the quantum processor receives a command from a computing device, the command indicating the application of a quantum gate to a qubit of the quantum processor, and The vectorized quantum controller converts the command into one or more quantum assembly instructions, wherein the one or more quantum assembly instructions include vector instructions for creating registers for qubits, and the registers include indications for the qubits. Executing one or more of the aforementioned quantum assembly instructions to cause the qubit controller of the quantum processor to apply the quantum gate to the qubit, To provide output to the aforementioned computing device and Methods that include...

10. Executing one or more of the above quantum assembly instructions to cause the qubit controller to apply the quantum gate to the qubit is, To provide configuration information to the aforementioned qubit controller, To provide a trigger signal to the aforementioned qubit controller The method according to claim 9, including the method described in claim 9.

11. The aforementioned configuration information is, Indication of the waveform applied to the aforementioned qubit, Indication of the timing of the application of the waveform and The method according to claim 10, including the method described in claim 10.

12. The vectorized quantum controller includes a command processor and an output control unit, The method according to claim 10, wherein executing one or more quantum assembly instructions to cause the qubit controller to apply the quantum gate to the qubit includes writing the configuration information and the trigger signal to the memory of the qubit controller by the command processor.

13. The method according to claim 9, wherein providing the output includes providing a measured binary value, a sum of measured binary values, or state data.

14. The method according to claim 9, wherein applying the quantum gate to the qubit includes applying the quantum gate to a superconducting circuit.

15. The method according to claim 9, wherein the conversion by the vectorized quantum controller is performed by an FPGA configured to implement a vectorized command processor.

16. The method according to claim 15, wherein the vectorized command processor supports a RISC-V instruction set extended to include quantum assembly instructions.

17. A vectorized quantum controller for performing quantum operations, A communication controller including a circuit section configured to receive commands from a computing device, wherein the commands indicate the application of a quantum gate to a qubit, A command processor, The conversion involves converting the command into one or more quantum assembly instructions, wherein the one or more quantum assembly instructions include vector instructions for creating registers for qubits, and the registers include indications for the qubits. Execute one or more quantum assembly instructions to generate configuration information and trigger information. A command processor including a circuit section configured to perform the following: An output control unit including a circuit section configured to provide the configuration information and trigger information to the qubit controller, A vectorized quantum controller equipped with the following features.

18. The command processor is implemented using an FPGA, as described in claim 17, for the vectorized quantum controller.

19. The vectorized quantum controller according to claim 18, wherein the command processor supports a RISC-V instruction set extended to include quantum assembly instructions.

20. The circuit section included in the command processor is The configuration information and trigger information are written to the mapped memory of the output control unit. A vectorized quantum controller according to claim 17, further configured as follows.

21. The aforementioned configuration information is, The waveform indication applied to the qubit by the qubit controller, Indication of the timing of the application of the waveform and A vectorized quantum controller according to claim 17, including the following:

Citation Information

Patent Citations

  • Method, equipment and system for generating quantum instruction and electronic equipment

    CN110889506A

  • Methods and systems for quantum-immediate or quantum-enabled computers

    JP2019521431A

  • Job processing in quantum computing enabled cloud environments

    US20190102220A1