|
QDMI v1.4.0
Quantum Device Management Interface
|
QDMI provides an open, vendor-neutral interface between quantum software and quantum devices. It standardizes device discovery, capability and calibration queries, and job execution, helping integrate quantum computers into classical computing infrastructure—from local systems and HPC centres to cloud services.
QDMI grew out of the Munich Quantum Valley (MQV) initiative, where it is used as part of the Munich Quantum Software Stack (MQSS). QDMI was created jointly by TUM's Chair for Design Automation, TUM's Chair of Computer Architecture and Parallel Systems, and the Leibniz Supercomputing Centre (LRZ). Today, it contributes to an international standardization effort for interoperable quantum–classical software stacks.
QDMI is maintained by the MQV gGmbH and MQSC, with contributions from the wider community.
Its reach extends from use at LRZ and MQV gGmbH through MQSS to Germany's FullStaQD reference architecture, EuroHPC-related integration work with EQS3, LRZ, PSNC, CESGA, CINECA, and VTT, and exploration within the ORNL-hosted openQSE initiative. Its growing ecosystem spans simulators, quantum hardware, and cloud services. Prominent open-source examples include IQM hardware integration, Amazon Braket access on AWS, the DDSIM simulator in MQT Core, and IBM Quantum integration. The MQSS QDMI Devices Suite also provides Qaptiva simulation and access to MQSS resources at LRZ. MQT Core and MQSS supply the surrounding drivers, application bindings, compilation, and HPC integration.
| Your goal | Guide |
|---|---|
| Evaluate or adopt QDMI | Ecosystem and Community: deployments, integrations, publications, stewardship, and participation |
| Develop applications or middleware | The QDMI Client Interface, architecture, and MQT Core guides for drivers, C++/Python bindings, compilation, and SDK adapters |
| Connect hardware or services | The QDMI Device Interface, examples, device template, and implementation smoke test |
| Operate infrastructure | Deployment responsibilities, provider configuration and authentication guides, and MQT Core's Slurm integration |
QDMI provides C11 headers for two interfaces: applications call the QDMI Client Interface implemented by a driver; device libraries implement the QDMI Device Interface called by that driver. Both cover sessions, queries, and jobs. The architecture and rationale page explains compatibility, stable device IDs, and handle ownership. The Using QDMI with CMake page covers the header package and build helpers.
To execute circuits locally, follow MQT Core's simulator tutorial. MQT Core supplies a driver, C++ and Python APIs, DDSIM execution, and Qiskit and PennyLane adapters. Its compilation guide explains preparing programs for a target. These facilities build on QDMI; their APIs and configuration formats belong to MQT Core.
The bundled mock workflow checks an implementation's session, discovery, submission, and result plumbing with synthetic results. For external devices, choose an implementation andits deployment guide. Installing QDMI's header package separately is needed for developing a consumer or implementation, rather than as an extra step for packaged runtime users.
Use the version selector to choose documentation for your QDMI release. The installation guide explains selecting an interface version. Match the documentation, driver, and device versions, and consult the upgrade guide when moving between minor versions.
The publications provide historical and architectural context. The headers and documentation for your selected version define its API. See the FAQ, Support, and Contributing for further questions and participation.