This disclosure relates to quantum computing and relates more specifically to a computing system for executing hybrid programs, i.e. programs that use both classical computing resources and quantum computing resources.
Quantum computing, i.e. using quantum computers, is gaining more and more interest as it is expected to solve some problems way faster than classical computing, i.e. using classical computers. However, some other problems are also solved more efficiently by classical computing, such that there is a need for hybrid architectures, i.e. architectures which use both classical computing resources and quantum computing resources.
An example of hybrid architecture is given by the patent application EP 3425497 A1, in which a classical computer is configured as a master which controls a quantum computer which is configured as a slave.
There exist different quantum computing resources providers, which allow remote access to quantum computers. However, the quantum computers which can be accessed remotely can be different in terms of e.g. number of qubits, connectivity between qubits, available quantum gates, etc. These quantum computers can also be different in terms of underlying quantum computing model, whether quantum gate-based (aka digital quantum computing) or non-quantum gate based (quantum annealing or adiabatic quantum computation, aka analog quantum computing). Currently, a hybrid program is developed specifically for a specific single quantum computer and cannot be reused for another quantum computer.
There is a need for more efficient computing systems that would enable to execute hybrid programs for different quantum computers, without having to redevelop most of a given hybrid program from scratch when there is a need to execute it with a different quantum computer. There is also a need for a computing system that would allow to use heterogeneous quantum computing resources, i.e. quantum computing resources using different quantum computing models (e.g. digital and analog quantum computers) by any hybrid program.
The present disclosure aims at improving the situation. In particular, the present disclosure aims at overcoming at least some of the limitations of the prior art discussed above, by proposing a solution for enabling to build hybrid programs by reusing prior developments.
In specific embodiments, the present disclosure aims at enabling to easily develop hybrid programs for different types of quantum computers, including quantum computers relying on different quantum computing models.
According to a first aspect, the present disclosure relates to a computing system for executing hybrid programs, said computing system comprising hardware resources comprising quantum computing resources and classical computing resources, said quantum computing resources comprising one or more quantum computers, and software resources to be executed on the hardware resources. The software resources comprise a plurality of processing modules comprising interfaces of two possible types referred to as upstream interface and downstream interface, said upstream interface for receiving a job to be executed and for transmitting a result of the execution of the received job, said downstream interface for transmitting a job to be executed and for receiving a result of the execution of the transmitted job. Also, said plurality of processing modules comprises:
Hence, any upstream interface of a processing module can be connected to any downstream interface of another processing module, provided that said upstream and downstream interfaces support a same data format for the description of a quantum program included in the job.
A processing module can be replaced by another processing module which uses the same data format(s) on its interface(s). Hence, the architecture of the software resources is highly modular, such that previously developed processing modules can be reused for various hybrid programs.
The processing modules can be of two main types:
Hence, a hybrid program can be built by connecting different processing modules, which include at least one quantum processing module and one plugin module. The modularity enables to develop quickly new hybrid programs by reusing existing processing modules, and by developing only a limited number of specific processing modules, which will also be available for future use. A new quantum computer can be easily integrated in the computing system by merely providing the associated quantum processing module, which will also be available for future use for hybrid programs that would need to use this new quantum computer, etc. Also, this modularity makes it easier to use a plurality of hardware resources, since different processing modules can be executed on different hardware resources.
Hence the software resources of the computing system have a service-oriented architecture, wherein each processing module can be seen as a service performing a specific function, that can be reused by different hybrid programs.
In specific embodiments, the computing system can further comprise one or more of the following features, considered either alone or in any technically possible combination.
In specific embodiments, a hybrid program is built at least by connecting a plurality of plugin modules altogether, by connecting the downstream interface of a plugin module with the upstream interface of another plugin module, and by connecting at least one quantum processing module to the plurality of connected plugin modules, by connecting the downstream interface of a plugin module to the upstream interface of the at least one quantum processing module.
In specific embodiments, the quantum computing resources comprise at least two different quantum computers, and the plurality of processing modules comprise:
In specific embodiments, the computing system comprises one or more iterative processing plugin modules, each iterative processing plugin module is configured to iteratively process a result received on the downstream interface to produce an updated job that is output on the downstream interface, until a stop criterion is satisfied, and the result that is output on the upstream interface is determined based on the results received on the downstream interface.
In specific embodiments, at least one iterative processing plugin module is configured to perform a variational quantum eigensolver.
In specific embodiments, the computing system comprises one or more converting plugin modules, and each converting processing plugin module is configured to convert an input job received on the upstream interface into an output job to be output at the downstream interface, and to convert or forward an input result received on the downstream interface into an output result to be output at the upstream interface.
In specific embodiments, the computing system comprises at least one converting plugin module configured to convert an input job received on the upstream interface into a plurality of output jobs to be output at the downstream interface and to convert input results received on the downstream interface into an output result to be output at the upstream interface.
In specific embodiments, at least one converting plugin module is configured to perform error mitigation.
In specific embodiments, the quantum computing resources comprise at least one analog quantum computer configured to execute quantum programs expressed as temporal schedules, and the plurality of processing modules comprises:
In specific embodiments, the quantum computing resources comprise at least one digital quantum computer configured to execute quantum programs expressed as quantum circuits, and the plurality of processing modules comprises a digital quantum processing module configured to receive an input job including a quantum circuit on its upstream interface such that a same job including a same quantum circuit can be input to said digital quantum processing module and to said DAC plugin module.
In specific embodiments, the quantum computing resources comprise at least one digital quantum computer configured to execute quantum programs expressed as quantum circuits, and the plurality of processing modules comprises:
In specific embodiments, the quantum computing resources comprise at least one analog quantum computer configured to execute quantum programs expressed as temporal schedules, and the plurality of processing modules comprises an analog quantum processing module configured to receive an input job including a temporal schedule on its upstream interface such that a same job including a same temporal schedule can be input to said analog quantum processing module and to said ADC plugin module.
In specific embodiments, all or part of the hardware resources are cloud computing resources.
In specific embodiments, all or part of the hardware resources are high performance computing, HPC, resources.
The invention will be better understood upon reading the following description, given as an example that is in no way limiting, and made in reference to the figures which show:
In these figures, references identical from one figure to another designate identical or analogous elements. For reasons of clarity, the elements shown are not to scale, unless explicitly stated otherwise.
As discussed above, the present disclosure relates to a computing system 10 for executing hybrid programs, i.e. programs that use both classical computing resources and quantum computing resources.
As illustrated by
In the example illustrated by
In preferred embodiments, all or part of the hardware resources are cloud computing resources. For instance, all or part of the classical computing resources may be cloud-based. Alternatively, or in combination, all or part of the hardware resources may be high performance computing, HPC, resources. For instance, all or part of the classical computing resources may be HPC-based.
The computing system 10 comprises also software resources to be executed on the hardware resources. In the example illustrated by
The hardware resources and the software resources of the computing system 10 may be accessed, for instance remotely, by a client device 20 used by a user willing to develop and execute a hybrid program.
The software resources, e.g. stored in the database 13 in the example of
These processing modules 32, 33 comprise common interfaces of two possible types. A first type of interface corresponds to an upstream interface 30 configured to receive one or more jobs to be executed and to transmit one or more results of the execution of the received job(s). A second type of interface corresponds to a downstream interface 31 configured to transmit one or more jobs to be executed and to receive one or more results of the execution of the transmitted job(s).
In the present disclosure, a job includes a description of a quantum program to be executed together with a description of the measurements to be performed on the quantum state(s) obtained having executed the quantum program, the outcome of these measurements corresponding to the result(s) of the execution of the job.
The description of the quantum program may use different data formats. A first type of possible data format for describing the quantum program corresponds to quantum circuits, usually used for digital quantum computers. A second type of possible data format for describing the quantum program corresponds to temporal schedules (e.g. time-dependent Hamiltonians), usually used for analog quantum computers. A downstream interface 31 of a processing module can be connected to the upstream interface 30 of another processing module provided that said downstream and upstream interfaces support a same data format for describing the quantum program of the job to be executed.
The description of the measurements to be performed may take the form of a number of shots, indicating how many times the execution of the quantum program should be reproduced, or a more complicated task, such as the sampling of a collection of observables which may result in a collection of samples and statistics, etc.
The plurality of processing modules 32, 33 stored in the database 13 comprise two different types of processing modules 32, 33.
A first type of processing module corresponds to a quantum processing module 32 and is represented in part a) of
A second type of processing module corresponds to a plugin module 33 and is represented in part b) of
Hence, a hybrid program can be built by connecting different processing modules 32, 33, which include at least one quantum processing module 32 and one plugin module 33, as will be discussed hereinafter. For instance, a hybrid program may be built e.g. at least by cascading a plurality of plugin modules 33 altogether, by connecting the downstream interface of a plugin module 33 with the upstream interface of another plugin module 33, and by connecting at least one quantum processing module 32 to the plurality of cascaded plugin modules 33, by connecting the downstream interface of the last plugin module 33 in the cascaded chain to the upstream interface of the quantum processing module 32.
Preferably, the software resources of the computing system 10 comprise at least one quantum processing module 32 for each different quantum computer of the quantum computing resources. Such quantum processing modules 32 are quantum computer-specific in that they are configured to interact with different quantum computers 11.
The software resources may also comprise quantum computer-specific plugin modules 33. For instance, plugin modules 33 which perform a quantum compilation are examples of possible quantum computer-specific plugin modules 33, since such quantum compilers typically convert a high level quantum program into a quantum program that is compatible with predetermined hardware constraints of a target quantum computer. For instance, in case of a digital target quantum computer, a quantum compiler will convert a high level quantum circuit into another quantum circuit which comprises only quantum gates available on the digital target quantum computer and which complies which the connectivity between qubits on the digital target quantum computer.
We now describe specific examples of plugin modules 33 which may be used with at least one quantum processing module 32 to build hybrid programs.
As discussed above, quantum compilation consists in this case in modifying the form of an input quantum circuit into an output quantum circuit that takes into account predetermined hardware constraints of the target quantum computer 11. Quantum compilation may imply rewriting a quantum circuit into another quantum circuit that complies with the quantum gates available on the target quantum computer. For instance, trapped-ion quantum computers typically do not accept standard CNOT gates, which need to be replaced by native trapped-ion gates. Also, quantum compilation may imply rewriting a quantum circuit to fulfill the connectivity constraints of a given quantum computer. For instance, qubits in superconducting quantum computers can only be addressed by two-qubit gates if they are neighbors in the two-dimensional grid layout of the qubits. This means that quantum circuits that contain two-qubit gates that involve non-neighboring qubits need to be rewritten. The plugin module 33-1 represented in
Such a quantum compiler plugin module 33-1 is quantum computer-specific and is an example of a converting plugin module 33 configured to convert an input job received on its upstream interface into an output job to be output at its downstream interface, and to convert or forward an input result received on its downstream interface into an output result to be output at its upstream interface.
Most current quantum computers are designed to perform only very simple measurements on the final quantum state of their qubits, that is usually denoted by its ket notation |Ψ. These measurements are most of the time referred to as “Z-axis measurements”, i.e. they aim at measuring the following average value:
Z
q
=
Ψ|{circumflex over (Z)}
q|Ψ
wherein q denotes the qubit index and Z the z-Pauli observable. The physical way to obtain (Zq) is architecture-dependent. It requires several preparations of the quantum state |Ψ because quantum measurement of any observable Ô projects the quantum state in an eigenvector |ϕα of Ô with a probability pα=|ϕα|Ψ|2. Therefore, for {circumflex over (Z)}, each measurement i=1 . . . Nshots projects to the eigenvectors |0 and |1 of {circumflex over (Z)} and yields a value zi=1 or zi=−1, respectively. The expectation value Zq is estimated by averaging over these repetitions:
with a (squared) statistical standard error:
This description can be extended to a multi-qubit version {circumflex over (Z)}q
Available quantum computers only yield expectations values of observables of the form {circumflex over (Z)}q
Ô=Σk=1Mλk{circumflex over (P)}k
where λk∈ and {circumflex over (P)}k is a product of mk Pauli operators,
with i∈{x, y, z}. By convention, we will denote {circumflex over (X)}={circumflex over (σ)}x and so forth.
Quantum computers should thus be able to compute any expectation value of the form
Hence, products with {circumflex over (X)} or Ŷ operators are a priori excluded because quantum computers only support measurements of products of {circumflex over (Z)} operators. To lift this restriction, one uses the fact that {circumflex over (X)} and Ŷ operators can be rewritten as:
{circumflex over (X)}=UX†{circumflex over (Z)}UX
Ŷ=UY†{circumflex over (Z)}UY
Hence, measuring {circumflex over (X)} on quantum state |Ψ is equivalent to measuring {circumflex over (Z)} on quantum state UX|Ψ. Hence, the quantum computer can be used to measure {circumflex over (X)} by being fed a job with the original quantum circuit appended with a UX quantum gate. One ends up with the following algorithm, for each term {circumflex over (P)}k of the decomposition of the observable Ô to be measured:
Pauli terms contained in {circumflex over (P)} k);
The final average value of the observable is then computed as:
Ô=Σk=1Mλk{circumflex over (P)}k
This algorithmic task can be implemented by the plugin module 33-2 represented in
Hence the combination of the plugin module 33-2 represented in
The proposed modular architecture provides for a clear separation between functions, which can be optimized independently. For instance, the optimization of the measurement may be performed by modifying only the plugin module 33-2 of
Such a generic observable measurement plugin module 33-2 as represented in
The variational quantum eigensolver, VQE, is the main algorithm suited for so-called noisy intermediate-scale quantum, NISQ, computers. Given a quantum circuit ({right arrow over (θ)}) parametrized by a list of parameters {right arrow over (θ)} (usually the angles of rotation quantum gates) and an observable Ô, the VQE algorithm seeks to minimize the expectation value O({right arrow over (θ)})=Ψ({right arrow over (θ)})|Ô|Ψ({right arrow over (θ)}) using a classical minimization algorithm. The NISQ computer is used to compute O({right arrow over (θ)}) for given values of the parameters. This hybrid algorithm/program can be described seamlessly in the present architecture by using two processing modules:
Of course, other VQE-based algorithms can be implemented as plugin modules 33-3, and the choice of a specific VQE-based algorithm corresponds merely to a specific embodiment of the present disclosure. For instance, gradient-based minimizers may be implemented by outputting at each iteration a plurality of jobs which enable to compute at each iteration the local gradient of the function O({right arrow over (θ)}). Also, the ansatz quantum circuit, i.e. ({right arrow over (θ)}), may be iteratively optimized by the VQE plugin module 33-3 (aka adaptive ansatz construction).
As discussed above, the quantum processing module 32 in
Such a VQE plugin module 33-3 as represented in
State-of-the-art NISQ computers have error levels above the thresholds required by quantum error correction theory. Nevertheless, algorithms have been proposed to mitigate the effect of errors of NISQ computers. These error mitigation algorithms are all the most important as NISQ computers have high error rates. Thanks to the architecture of the processing modules 32, 33, error mitigation algorithms can be seamlessly integrated in hybrid programs.
For instance, the zero-noise extrapolation algorithm is a known error mitigation algorithm. If we consider a NISQ computer and call r=1 its current noise level (r is any metric on the noise, normalized to 1 for the noise on the NISQ computer). The goal of this algorithm is to compute the average value O of an observable Ô after execution of a quantum circuit characterized by the unitary operator . In the case of a perfect execution (i.e. r=0), we have:
O(r=0)=Ψ|Ô|Ψ
with |Ψ=U|0237 n. However, we do not have access to the sought-after O(r=0) value because, in the presence of noise, the measured value is:
O(r=0)=Tr[{circumflex over (ρ)}(r=1)Ô]
where {circumflex over (ρ)}(r=1) is the (mixed) final quantum state of the system after a noisy evolution (the observable Ô is also affected by noise in general, but we neglect this dependence for simplicity). The zero-noise extrapolation algorithm proposes a way to extrapolate from O(r=1) to O(r=0) by artificially increasing the noise level to values ri such that r<r1<r2 . . . , measuring the corresponding observables O(ri) and then performing an extrapolation to the r=0 limit. In practice, this artificial increase in the noise can be done in several ways. The most straightforward one consists in adding identity operations with a variable duration in the original quantum circuit so that the additional computational time required by the quantum circuit leads to an increased sensitivity to decoherence. This insertion of identity operations can be easily implemented by adding pairs of involutive quantum gates (U2=I) like pairs of Hadamard or CNOT gates. This method is thus easy to implement with a plugin module 33-4 that receives on its upstream interface a job (, Ô) job as an input, which is converted into a plurality of jobs which are output on its downstream interface:
{((i),Ô), i=0 . . . N}
wherein the quantum circuit (i) corresponds to the original quantum circuit with i pairs of involutive quantum gates added at well-chosen places in the quantum circuit (for instance after each two-qubit quantum gate since they are the most error-prone quantum gates). The plugin module 33-4 receives on its downstream interface the corresponding results {O(ri), i=0 . . . N} which are then used by the plugin module 33-4 to extrapolate to the zero noise limit to O(r=0), which is output on its upstream interface by the plugin module 33-4.
Of course, other error mitigation algorithms can be implemented as plugin modules 33-4, and the choice of a specific error mitigation algorithm corresponds merely to a specific embodiment of the present disclosure.
Another non-limitative example relates to assignment probability error mitigation. NISQ computers are particularly prone to assignment errors during readout, namely there is a nonzero probability that a “0” qubit is confused with a “1” (and conversely). Thus, for the single-qubit case, starting from a distribution (p0, p1) for the probabilities of getting 0 or 1, assignment errors alter this distribution to ({tilde over (p)}0, {tilde over (p)}1), with:
Thus, a noisy quantum computer with assignment errors will return ({tilde over (p)}0, {tilde over (p)}1) instead of (p0, p1). These errors can be mitigated if the so-called assignment error matrix:
can be estimated. Then, the exact distribution may be recovered from the noisy one by using the following expression:
This error mitigation technique can easily be implemented as a plugin module 33-4. The plugin module 33-4 can start by outputting on its downstream interface a plurality of jobs which are used to compute an estimate of the assignment error matrix A. This is done by outputting quantum circuits with X gates only and receiving on the downstream interface the output probability, from which the plugin module 33-4 can determine p(0|1) and p(1|1). By outputting on its downstream interface empty quantum circuits, p(1|0) and p(0|0) can be estimated (this can be replicated for each qubit of the quantum computer). Then, the quantum circuit received on its upstream interface can be output on its downstream interface as a job to be executed, for which the plugin module 33-4 receives the final distribution returned as a result. Using the assignment error matrix A computed, the plugin module 33-4 can compute the distribution corrected for assignment errors and return it as a result on its upstream interface.
The non-limitative examples provided above in reference to
However, many quantum computers do not support such a digital operation mode, i.e. they cannot operate discrete quantum gates on their qubits. Instead, they can be controlled by continuous functions. Such quantum computers can be referred to as analog quantum computers. It should be noted that the distinction between analog quantum computers and digital quantum computers relates mainly here on the way they are controlled. Indeed, in practice even digital quantum computers are driven internally in an analog fashion.
The proposed software architecture, based on plugin modules 33 and quantum processing modules 32, can be also used with analog quantum computers, with the same advantages, by e.g. adapting the data format(s) of the quantum program on the upstream and downstream interfaces.
As discussed above, the software architecture relies on upstream and downstream interfaces used to exchange jobs and results. While jobs and results have been mainly discussed for the digital operation mode, we now describe non-limitative examples of how they can be used in the analog operation mode.
The abstract description of an analog quantum program may be represented with a time-dependent Hamiltonian operator (temporal schedule):
H(t)=Σiλi(t)Pi
with λi(t) real, time-dependent control fields and Pi products of Pauli operators acting on a variable number of qubits (note that the Pi matrices may also be written in a fermionic and bosonic language, which is relevant for some analog quantum computers). This form captures all Hamiltonians as any Hermitian operator can be described this way.
While in a digital operation mode the job contains a quantum program expressed as a quantum circuit that describes the series of quantum gates to be applied to the qubits, in an analog operation mode, the job can therefore contain a quantum program expressed as a temporal schedule that contains the information about the {λi(t), Pi}. Analog quantum computers execute such jobs natively and return a result that is identical to that of digital quantum computers (namely a list of samples or of measurements of observables if the job contains observables to be measured). Hence, the software architecture described can be used with analog quantum computers by e.g. considering jobs comprising quantum programs expressed as temporal schedules. Therefore, all that has been discussed above for digital quantum computers can be applied similarly for analog quantum computers.
Hence in preferred embodiments, the quantum computing resources comprise at least one analog quantum computer 11, associated to a corresponding quantum computer-specific analog quantum processing module 32. Preferably, the quantum computing resources comprise one or more analog quantum computers 11 and one or more digital quantum computers 11.
Also, the proposed software architecture allows to seamlessly connect an analog operation mode to a digital operation mode. Indeed, the proposed software architecture provides a natural way to convert from a digital job (i.e. a job comprising a quantum circuit) to an analog job (i.e. a job containing a temporal schedule), and vice versa.
The DAC plugin module 33-5 represented in
This DAC plugin module 33-5 is quantum computer-specific, since the conversion to be applied depends on the analog quantum computer constraints. For instance, a digital job consisting in two gates U1 (duration t1) and U2 (duration t2) will result in a Hamiltonian H(t)=H1(t)+H2(t) with H1(t)=0 for t1<t<t1+t2 and H2(t)=0 for 0<t<t1 in the absence of any simplification or optimization (if the quantum gates act on different qubits, both Hamiltonians could be applied simultaneously instead of sequentially as implied here). The precise form of H1(t) and H2(t) depends on the form of U1 and U2 and on the hardware constraints of the analog quantum computer. One must only insure that e.g. U1=exp(−∫0t
Hence, such a DAC plugin module 33-5 may be used as a gateway between digital and analog frameworks, by performing a conversion of the data format of the job's quantum program.
In particular, thanks to the DAC plugin module 33-5, an analog quantum computer can be programmed by means of quantum circuits, by connecting the DAC plugin module 33-5 to the corresponding analog quantum processing module 32. Also, the computing system can indifferently execute a same quantum circuit on either a digital quantum computer or an analog quantum computer, via the DAC plugin module 33-5.
According to a non-limitative example, in the same way as variational algorithms are useful for digital quantum computers, they can be used with analog quantum computers. The temporal schedule {λi(t), Pi} that describe a quantum program can be regarded as a variational object {λi(θ, t), Pi} whose parameters θ are to be optimized to minimize a cost function O(θ)=Ψ(θ)|Ô|Ψ(θ), where |Ψ(θ) is the final quantum state of the analog quantum computer after execution of the parameterized temporal schedule. Besides naturally guaranteeing that such algorithms can be implemented with an analog quantum computer and a plugin module for optimizing the parameters θ, the present software architecture, and the DAC plugin module 33-5, allows using the same VQE plugin module 33-3 of
In preferred embodiments, the DAC plugin module 33-5 may be configured to determine a quantum optimal control of the analog quantum computer from quantum circuits. Indeed, a central challenge consists in optimizing the temporal schedule {λi(t), Pi} in a such a way that the quantum process enacted by it corresponds to a target quantum gate, U. This is referred to as quantum optimal control. Quantum optimal control can be seen as a special case of variational quantum algorithms where the cost function to be optimized is the distance between the actual quantum process ε(θ) that a given temporal schedule {λi(θ, t), Pi} realizes and the target unitary quantum gate U. This distance can in turn be described as a combination of measurable observables, and hence can be evaluated using one or several jobs whose results, after being measured on the target analog quantum computer, will be combined into the final distance cost function, which is used to find better parameters θ. Hence, such an optimization can be performed for each considered quantum gate for determining an optimized temporal schedule for each considered quantum gate. Such an optimization is performed in a preliminary phase, and the optimized temporal schedules are used to convert the quantum circuit C received on the upstream interface.
Similarly, an analog to digital converting, ADC, plugin module (not represented in the figures) may be defined, comprising an upstream interface configured to receive an analog job including a temporal schedule and to convert the analog job into a digital job including a corresponding quantum circuit, to be output at the downstream interface. Hence, thanks to such an ADC plugin module, a digital quantum computer can be programmed by means of temporal schedules, by connecting the ADC plugin module to the corresponding digital quantum processing module 32. Also, the computing system can indifferently execute a same temporal schedule on either an analog quantum computer or a digital quantum computer, via the ADC plugin module. Such an analog to digital conversion can be performed using e.g. a Trotterization process or Trotter decomposition.
Hence, the computing system enables to easily build and execute a complex hybrid program by connecting a plurality of processing modules 32, 33, and to use different types of hardware computing resources in a unified manner. For instance, a hybrid program performing a quantum compilation, a generic observable measurement, error mitigation and a VQE algorithm may be built by connecting altogether the corresponding plugin modules 33 and a quantum processing module 32. These processing modules 32, 33 can be reused for other hybrid programs and can optimized/updated independently one from the other. Building a new hybrid program may therefore reuse existing processing modules 32, 33 while requiring developing from scratch only a limited number of new processing modules 32, 33 (which will be available for future hybrid programs).
It should be noted that, when building a hybrid program, the downstream interface of a given plugin module 33 may be connected to more than one upstream interface of other processing modules 32, 33 (e.g. to execute a same quantum program on different quantum computers, etc.). Also, when building a hybrid program, the upstream interface of a given processing module 32, 33 may be connected to more than one downstream interface of other plugin modules 33 (e.g. to have the returned result post-processed by different plugin modules 33, etc.). The execution of such processing modules 32, 33 may be coordinated e.g. by a main process which monitors the execution of each processing module 32, 33 used as services in the hybrid program.
Number | Date | Country | Kind |
---|---|---|---|
21306277.1 | Sep 2021 | EP | regional |