iqm.benchmarks.utils.submit_execute

Contents

iqm.benchmarks.utils.submit_execute#

iqm.benchmarks.utils.submit_execute(sorted_transpiled_qc_list: Dict[Tuple[int] | str, List[IQMCircuit]], backend: IQMBackendBase, shots: int, calset_id: str | None = None, max_gates_per_batch: int | None = None, max_circuits_per_batch: int | None = None, circuit_compilation_options: CircuitCompilationOptions | None = None) List[IQMJob]#
Submit function to execute lists of quantum circuits on the specified backend,

organized as a dictionary with keys being identifiers of a batch (normally qubits) and values corresponding lists of quantum circuits. The result is returned as a single list of IQMJob objects.

Parameters:
  • sorted_transpiled_qc_list (Dict[Tuple[int] | str, List[QuantumCircuit]]) – A dictionary of lists of quantum circuits to be executed. * The keys (Tuple[int] | str) should correspond to final measured qubits. * The values (List[QuantumCircuit]) should be the corresponding list (batch) of quantum circuits.

  • backend (IQMBackendBase) – the backend to execute the circuits on.

  • shots (int) – the number of shots per circuit.

  • calset_id (Optional[str]) – the calibration set ID. * Default is None: uses the latest calibration ID.

  • max_gates_per_batch (Optional[int]) – the maximum number of gates per batch sent to the backend, used to make manageable batches. * Default is None.

  • max_circuits_per_batch (Optional[int]) – the maximum number of circuits per batch sent to the backend, used to make manageable batches. * Default is None.

  • circuit_compilation_options (CircuitCompilationOptions) – Ability to pass a compilation options object, enabling execution with dynamical decoupling, among other options - see qiskit-iqm documentation. * Default is None.

Returns:

a list of IQMJob objects corresponding to the submitted circuits.

Return type:

List[IQMJob]