mqt.core.plugins.pennylane.device

A modern PennyLane device backed by a gate-based QDMI device.

Module Contents

class QDMIDevice(device_id: str | None = None, wires: int | Sequence[Hashable] | None = None, *, device: Device | None = None, session_parameters: QDMISessionParameters | None = None, job_parameters: QDMIJobParameters | None = None, max_retries: int = 0)

Bases: pennylane.devices.Device

Execute PennyLane programs on a gate-based QDMI device.

Parameters:
  • device_id – Stable ID reported by the QDMI driver. Use either this argument or device.

  • wires – PennyLane wire labels or number of wires. By default all QDMI qubits are exposed as consecutive integer wires.

  • device – An already-open QDMI device.

  • session_parameters – Device-session parameters for the MQT Core QDMI driver.

  • job_parameters – QDMI custom job keyword arguments.

  • max_retries – Maximum automatic replacements per failed entry; disabled by default.

capabilities

Backend capabilities described by DeviceCapabilities.

last_job: PennyLaneJob | None = None
property device_id: str | None

Stable QDMI device ID, if the device was opened by ID.

property qdmi_device: Device

Opened QDMI device used for execution.

property submitted_jobs: int

Number of QDMI jobs submitted by this instance.

property execution_time: float

Cumulative wall-clock time spent submitting and waiting for QDMI jobs.

preprocess_transforms(execution_config: ExecutionConfig | None = None) → pennylane.transforms.core.CompilePipeline

Build the PennyLane preprocessing pipeline for sampled QDMI execution.

Returns:

The transforms applied before device execution.

execute(circuits: pennylane.tape.QuantumScriptOrBatch, execution_config: ExecutionConfig | None = None) → pennylane.typing.Result | pennylane.typing.ResultBatch

Submit a batch to QDMI before collecting its ordered results.

Returns:

One result for every preprocessed input tape.

class DDSIMDevice(wires: int | Sequence[Hashable] | None = None, *, session_parameters: QDMISessionParameters | None = None, job_parameters: QDMIJobParameters | None = None, max_retries: int = 0)

Bases: QDMIDevice

PennyLane entry point for MQT Core’s local DDSIM QDMI device.