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.Device

Execute 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 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)

Bases: QDMIDevice

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