Description
Currently, to submit multiple circuits, users have to submit each circuit individually, e.g.
jobs = []
for circuit in circuits:
jobs.append(backend.run(circuit, shots=N))
results = []
for job in jobs:
results.append(job.result())
Iterative algorithms require being able to submit a batch of circuits at the same time. There are several Qiskit libraries that depend on support for backend.run(circuits: List[QuantumCircuit])
, such as qiskit-experiments and qiskit-aqua. See also: https://qiskit.org/documentation/stubs/qiskit.providers.ibmq.managed.IBMQJobManager.html#qiskit.providers.ibmq.managed.IBMQJobManager
This would require being able to submit multiple circuits and get a single job ID back to fetch the results, similar to the IBMQ experience. However, this is currently not something our service supports; Azure Quantum's Backend currently only accepts a single circuit or a list of circuits of length one, see this line: ionq.py#L70.
For instance, Tomography uses the backend.run()
method under the hood which returns a single job: base_experiment.py#L345.