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, and stewardship |
| Develop applications or middleware | Architecture, Client Interface, and MQT Core's C++/Python, compiler, and SDK guides |
| Connect hardware or services | Device Interface, examples, device template, and implementation smoke test |
| Operate infrastructure | Deployment responsibilities, provider guides, and MQT Core's Slurm integration |
QDMI's standardized interface covers sessions, queries, and jobs. This repository supplies C11 headers, CMake integration, reference examples, tests, and a device implementation template. The interface package is header-only; executing programs requires a compatible driver and device implementation. Compilers, Python bindings, SDK adapters, and scheduler integration are provided by other components of the stack.
To run circuits locally, start with MQT Core's executable simulator tutorial. To develop against the interface, see Using QDMI with CMake and the local mock workflow, which checks integration with synthetic results. Further answers are in the FAQ and the versioned documentation.
Using or implementing QDMI? Open an issue or pull request to add your integration, deployment, or research project. Include a short description, its current status, and any public documentation or publication.
We welcome contributions from around the world and thank all repository contributors. Start with Contributing and the AI usage guidelines. For questions, see Support or discussions.
QDMI is released under Apache-2.0 with LLVM exceptions.
If you use QDMI in your research, please cite:
@inproceedings{qdmi,
title = {{QDMI -- Quantum Device Management Interface: Hardware-Software Interface for the Munich Quantum Software Stack}},
shorttitle = {{QDMI -- Quantum Device Management Interface}},
booktitle = {IEEE International Conference on Quantum Computing and Engineering (QCE)},
author = {Wille, Robert and Schmid, Ludwig and Stade, Yannick and Echavarria, Jorge and Schulz, Martin and Schulz, Laura and Burgholzer, Lukas},
date = {2024},
doi = {10.1109/QCE60285.2024.10411},
}For deployment, hardware, cloud, and reference-architecture studies, see the annotated publications.