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)¶
Bases:
pennylane.devices.DeviceExecute PennyLane programs on a gate-based QDMI device.
- Parameters:
device_id – Stable ID from the QDMI device registry. 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. Use this for a session selected by an integration such as Slurm.
session_parameters – QDMI device-session keyword arguments.
job_parameters – QDMI custom job keyword arguments.
- capabilities¶
Backend capabilities described by
DeviceCapabilities.
- 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)¶
Bases:
QDMIDevicePennyLane entry point for MQT Core’s local DDSIM QDMI device.