ibm.qdmi.qiskit

Public Qiskit backend backed by the native IBM QDMI device.

Classes

IBMBackend

Execute through an IBM QDMI session using MQT Core's shared adapter.

Module Contents

class IBMBackend(device_id: str | None = None, *, device: Device | None = None, provider: QDMIProvider | None = None, backend_name: str | None = None, api_key: str | None = None, instance_crn: str | None = None, base_url: str | None = None, auth_url: str | None = None)

Bases: mqt.core.plugins.qiskit.backend.QDMIBackend

Execute through an IBM QDMI session using MQT Core’s shared adapter.

Parameters:
  • device – An already-open QDMI device, exclusive with connection overrides.

  • provider – Provider associated with this backend.

  • device_id – Catalogue ID, or identity metadata for an already-open device.

  • backend_name – Backend override; otherwise use environment or catalogue defaults.

  • api_key – IBM Cloud API key; defaults to IBM_QUANTUM_API_KEY.

  • instance_crn – Instance CRN; defaults to IBM_QUANTUM_INSTANCE_CRN.

  • base_url – Trusted API endpoint override, principally for loopback tests.

  • auth_url – Trusted IAM endpoint override, principally for loopback tests.

executor(*, options: qiskit_ibm_runtime.options_models.executor.ExecutorOptions | None = None) → Executor

Create the optional Executor primitive using this QDMI session.

Returns:

An Executor requiring the ibm-qdmi[executor] extra.

run(run_input: QuantumCircuit | Sequence[QuantumCircuit], parameter_values: Sequence[mqt.core.plugins.qiskit.backend.ParametersType] | None = None, **options: Any) → QDMIJob

Submit validated circuits through the shared job and result adapter.

Returns:

MQT Core’s QDMI job, with one native job per circuit.

Raises:

CircuitValidationError – The requested shot count is zero.