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.DeviceExecute 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 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:
QDMIDevicePennyLane entry point for MQT Core’s local DDSIM QDMI device.