based on information from Microsoft Learn / Azure / Quantum
What is hybrid quantum computing?
(a) Grouping circuits with batch quantum computing
Batch quantum computing allows you to submit multiple quantum circuits as a single job to the quantum hardware.
Typically, quantum circuits are sent one at a time as single jobs to a quantum hardware target. When the client receives the result of one circuit, the next circuit is added as a new job to the queue. Batching multiple circuits into one job, however, eliminates the wait between job submissions, allowing you to run multiple jobs faster. Examples of problems that can take advantage of batch quantum computing include Shor's algorithm and simple quantum phase estimation.
With the batch computing model, you can also batch multiple predefined circuits into one job. The circuits are submitted to the quantum hardware as soon as the previous circuit is complete, reducing the wait between job submissions.
In this architecture, the state of the qubits is lost between each circuit submission.
Note
Azure Quantum currently doesn't support batch quantum computing.
(b) Grouping jobs with sessions
Sessions allow you to organize multiple quantum computing jobs with the ability to run classical code between quantum jobs. You'll be able to run complex algorithms to better organize and track your individual quantum computing jobs. Plus, jobs grouped in sessions are prioritized over non-session jobs.
In this model, the client compute resource is moved to the cloud, resulting in lower latency and repeated execution of the quantum circuit with different parameters. Although sessions allow for shorter queue times and longer running problems, the qubit states don't persist between each iteration. Examples of problems that can use this approach are Variational Quantum Eigensolvers (VQE) and Quantum Approximate Optimization Algorithms (QAOA).
(c) Running hybrid quantum computing
With hybrid quantum computing, the classical and quantum architectures are tightly coupled, allowing classical computations to be performed while physical qubits are coherent. Though limited by qubit life and error correction, this allows for quantum programs to move away from just circuits. Programs can now use common programming constructs to perform mid-circuit measurements, optimize and reuse qubits, and adapt in real-time to the QPU. Examples of scenarios that can take advantage of this model are adaptive phase estimation and machine learning.
(d) Running distributed quantum computing
In this architecture, classical computation is working alongside logical qubits. With fully integrated classical control and longer lived logical qubits, the distributed quantum computing model enables real-time computations across quantum and distributed resources. The classical controls are no longer limited to loops, and allow for scenarios such as complex materials modeling or the evaluation of full catalytic reactions.
Note
Azure Quantum currently doesn't support distributed quantum computing.
Target profiles and their limitations
Currently, Azure Quantum and the QDK manage three different target profiles, depending on their ability to run quantum intermediate representation (QIR) programs.
Unrestricted: This profile can run any QIR program, and thus any Q# program, within the limits of memory for simulators or the number of qubits for physical quantum computers.
QIR base: This profile can run any Q# program that doesn't require the use of the results from qubit measurements to control the program flow. Within a Q# program targeted for this kind of QPU, values of type Result don't support equality comparison.
QIR Adaptive RI: This profile has limited ability to use the results from qubit measurements to control the program flow. Within a Q# program targeted for this kind of QPU, you can compare values of type Result as part of conditions within if statements in operations, allowing mid-circuit measurement.
Create and run programs for Unrestricted target profile
Unrestricted target profiles can run any program, meaning you can write Q# programs without functionality restrictions. Azure Quantum doesn't provide any target with this profile. However, you can run Unrestricted Q# programs on simulators provided by the QDK.
Pricing
Quantinuum
Alice's Circuit * 41 = ~ $385
= $5 + 1000 * ( 82 + (10*82) + (5*205))/5000
Bob's Circuit * 41 = ~ $475
= $5 + 1000 * ( 123 + (10*123) + (5*205))/5000
To see Quantinuum's billing plans, visit Azure Quantum pricing.
Limits and quotas
Quantinuum's quotas are tracked based on the QPU usage credit unit, Hardware Quantum Credit (HQC), for jobs submitted to Quantinuum quantum computers, and emulator HQCs (eHQCs) for jobs submitted to emulators.
HQCs and eHQCs are used to calculate the cost of running a job, and they are calculated based on the following formula:
HQC = 5 + C(N1q + 10.N2q + 5.Nm)/5000
where:
N1q is the number of one-qubit operations in a circuit.
N2q is the number of native two-qubit operations in a circuit. Native gate is equivalent to CNOT up to several one-qubit gates.
Nm is the number of state preparation and measurement (SPAM) operations in a circuit including initial implicit state preparation and any intermediate and final measurements and state resets.
C is the shot count.
IonQ Pricing
Alice's Circuit * 41 = ~ $200
= $97 + 1000 * (( 82 * 0.00022) + ( 82 * 0.000975))
Bob's Circuit * 41 = ~ $250
= $97 + 1000 * (( 123 * 0.00022) + ( 123 * 0.000975))
To see IonQ billing plan, visit Azure Quantum pricing.
Limits and quotas
IonQ quotas are tracked based on the QPU usage unit, which is qubit-gate-shot (QGS). The resource usage is credited against your account.
Every quantum program consists of N quantum logical gates of one or more qubits, and is executed for a certain number of shots. The number of gate-shots is calculated by the following formula:
QGS = N . C
where: N is the number of one- or two-qubit gates submitted
C is the number of execution shots requested
IonQ
IonQ charges based on a token pricing model which billing unit is the Azure Quantum Token (AQT). This model is specific to Azure Quantum. The number of Azure Quantum Tokens is calculated by the following formula:
AQT = m + 0.000220 .( N1q.C ) + 0.000975 .(N2q.C)
where: AQT is the number of Azure Quantum Tokens consumed by the program
m is the minimum price per program execution, which is USD97.50 if error mitigation is on and USD12.4166 if error mitigation is off
The units N1q.C and N2q.C are called gate-shots, where N1q.C and N2q.C are the number of one- and two-qubit gates submitted, respectively, and C is the number of execution shots
Multi-controlled two-qubit gates are billed as 6*(N-2) two-qubit gates, where N is the number of qubits involved in the gate. For example, a NOT gate with three controls would be billed as (6*(4-2)) or 12 two-qubit gates. One-qubit gates are billed as 0.225 of a two-qubit gate (rounded down).
PASQAL
PASQAL charges for job execution time on its quantum processor, the 100-qubit Fresnel. There's no added charge per job or per shot. The Emu-TN simulator is free of charge for all users (subject to limit quotas depending on the plan).
USD3,000/QPU hour + Azure infrastructure costs
Pricing Includes access to
PASQAL Fresnel QPU
PASQAL Emu-TN (free up to 100 hours)
Rigetti
Rigetti charges for job execution time on their quantum processors. There's no added charge per job, per shot, or per gate.
USD 0.013 per 10-millisecond increment of job execution time
Pricing Includes access to Rigetti Ankaa-3
More Information: Panvia Future Technologies Inc. - www.panviaquantum.com
Contact: Roger Selly, CEO. roger@panviaquantum.com