qdmi

Quantum Device Management Interface (QDMI)

https://github.com/munich-quantum-software-stack/qdmi

Science Score: 44.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (10.4%) to scientific vocabulary
Last synced: 6 months ago · JSON representation ·

Repository

Quantum Device Management Interface (QDMI)

Basic Info
Statistics
  • Stars: 51
  • Watchers: 8
  • Forks: 6
  • Open Issues: 24
  • Releases: 2
Created about 2 years ago · Last pushed 6 months ago
Metadata Files
Readme Changelog Contributing License Citation Support

README.md

QDMI — Quantum Device Management Interface

Documentation

The Quantum Device Management Interface (QDMI) is one of the core components of the Munich Quantum Software Stack (MQSS)—a sophisticated software stack to connect end users to the wide range of possible quantum devices. It enables the submission to and the control of gate-based quantum systems and enables software tools to automatically retrieve and adapt to changing physical characteristics and constraints of different platforms. QDMI strives to connect the software and hardware developers, mediating between their competing interests, bridging between technologies, and eventually providing corresponding figures of merits and constraints to be considered. QDMI is therefore the method of choice for integrating new platforms into the MQSS and for software tools to query information from these platforms. QDMI is provided as a collection of C header files to allow fast integration into an HPC environment.

[!IMPORTANT]

QDMI's development process is open to the community, encouraging contributions and feedback. We value your input and invite you to participate in shaping QDMI's future. For the latest updates and to contribute, visit our issues page.

FAQ

What is MQSS?

MQSS stands for Munich Quantum Software Stack and is a project of the Munich Quantum Valley (MQV) initiative. It is jointly developed by the Leibniz Supercomputing Centre (LRZ), the Chair for Design Automation (CDA), and the Chair of Computer Architecture and Parallel Systems (CAPS) at TUM. It provides a comprehensive compilation and runtime infrastructure for on-premise and remote quantum devices, support for modern compilation and optimization techniques, and enables both current and future high-level abstractions for quantum programming. This stack is designed to be capable of deployment in a variety of scenarios via flexible configuration options. This includes stand-alone scenarios for individual systems, cloud access to a variety of devices, as well as tight integration into HPC environments supporting quantum acceleration. Within the MQV, a concrete instance of the MQSS is deployed at the LRZ, serving as a single access point to all of its quantum devices via multiple compatible access paths. This includes a web portal, command line access via web credentials, as well as the option for hybrid access with tight integration with LRZ's HPC systems. It facilitates the connection between end-users and quantum computing platforms by its integration within HPC infrastructures, such as those found at the LRZ.

What is QDMI?

QDMI, or Quantum Device Management Interface, serves as the communication interface between software within the MQSS and the quantum hardware connected to the MQSS. The aim is to provide a standard way to communicate with quantum resources that can be widely used by the quantum community.

Who is using QDMI?

QDMI will be the default communication channel within the MQSS, meaning all hardware and software tools integrated into the MQSS will have to support QDMI. Moreover, platforms implementing QDMI can also be seamlessly integrated in other software stacks understanding QDMI, as can software tools interfacing with QDMI for platform feedback.

Where is the code?

The code is publicly available and hosted on GitHub at github.com/Munich-Quantum-Software-Stack/QDMI.

Under which license is QDMI released?

QDMI is released under the Apache License v2.0 with LLVM Exceptions. See LICENSE for more information. Any contribution to the project is assumed to be under the same license.

Why is it written in C and not in Python?

The interface is written in C to allow close integration within the MQSS and fulfill the performance as well as stability requirements needed for production systems, in particular as we scale quantum systems. Further, this enables a clean integration into existing and well-established system software stacks, including those for HPC.

Can I still integrate my Python code?

Python natively allows calling C APIs. So while it might not be as straightforward as the usage from C/C++, it is definitely possible. However, we generally do expect Python-based programming approaches to be used as front-ends, feeding into a natively implemented compiler infrastructure, which then relies on QDMI. This is similar to how Python is used in many other parts of high-performance computing.

How do I cite QDMI?

If you use QDMI in your research, please cite the following paper:

bibtex @inproceedings{qdmi, title = {{QDMI -- Quantum Device Management Interface: A Standardized Interface for Quantum Computing Platforms}}, 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}, }

Contact

The development of this project is led by Laura Schulz (LRZ), Martin Schulz (TUM CAPS), and Robert Wille (TUM CDA) on the management side and Lukas Burgholzer (TUM CDA) as well as Jorge Echavarria (LRZ) from the technical side.

Please try to use the publicly accessible GitHub channels (issues, discussions, pull requests) to allow for a transparent and open discussion as much as possible.

Owner

  • Name: Munich Quantum Software Stack (MQSS)
  • Login: Munich-Quantum-Software-Stack
  • Kind: organization
  • Location: Germany

Citation (CITATION.cff)

cff-version: 1.2.0
title: Quantum Device Management Interface (QDMI)
message: >-
  Please cite QDMI using the metadata from 'preferred-citation'.
type: software
authors:
  - name: The Munich Quantum Software Stack Project
    email: mqss@munich-quantum-valley.de
    affiliation: 'Munich Quantum Valley, Germany'
url: 'https://munich-quantum-software-stack.github.io/QDMI/'
license: Apache-2.0 WITH LLVM-exception
preferred-citation:
    type: conference-paper
    title: "QDMI -- Quantum Device Management Interface: Hardware-Software Interface for the Munich Quantum Software Stack"
    conference: "IEEE International Conference on Quantum Computing and Engineering (QCE)"
    year: 2024
    month: 9
    authors:
      - given-names: Robert
        family-names: Wille
        email: robert.wille@tum.de
        affiliation: 'Technical University of Munich, Germany'
        orcid: 'https://orcid.org/0000-0002-4993-7860'
      - given-names: Ludwig
        family-names: Schmid
        email: ludwig.s.schmid@tum.de
        affiliation: 'Technical University of Munich, Germany'
        orcid: 'https://orcid.org/0000-0002-4246-8125'
      - given-names: Yannick
        family-names: Stade
        email: yannick.stade@tum.de
        affiliation: 'Technical University of Munich, Germany'
        orcid: 'https://orcid.org/0000-0001-5785-2528'
      - given-names: Jorge
        family-names: Echavarria
        email: jorge.echavarria@lrz.de
        affiliation: 'Leibniz Supercomputing Centre, Germany'
      - given-names: Martin
        family-names: Schulz
        email: martin.w.j.schulz@tum.de
        affiliation: 'Technical University of Munich, Germany'
        orcid: 'https://orcid.org/0000-0002-5876-7322'
      - given-names: Laura
        family-names: Schulz
        email: laura.schulz@lrz.de
        affiliation: 'Leibniz Supercomputing Centre, Germany'
        orcid: 'https://orcid.org/0000-0002-4702-3440'
      - given-names: Lukas
        family-names: Burgholzer
        email: lukas.burgholzer@tum.de
        affiliation: 'Technical University of Munich, Germany'
        orcid: 'https://orcid.org/0000-0003-4699-1316'

GitHub Events

Total
  • Fork event: 4
  • Create event: 77
  • Release event: 2
  • Issues event: 98
  • Watch event: 40
  • Delete event: 66
  • Member event: 3
  • Issue comment event: 322
  • Public event: 1
  • Push event: 364
  • Pull request review comment event: 197
  • Pull request review event: 213
  • Pull request event: 143
Last Year
  • Fork event: 4
  • Create event: 77
  • Release event: 2
  • Issues event: 98
  • Watch event: 40
  • Delete event: 66
  • Member event: 3
  • Issue comment event: 322
  • Public event: 1
  • Push event: 364
  • Pull request review comment event: 197
  • Pull request review event: 213
  • Pull request event: 143

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 31
  • Total pull requests: 50
  • Average time to close issues: 23 days
  • Average time to close pull requests: 7 days
  • Total issue authors: 9
  • Total pull request authors: 7
  • Average comments per issue: 2.0
  • Average comments per pull request: 1.4
  • Merged pull requests: 29
  • Bot issues: 1
  • Bot pull requests: 25
Past Year
  • Issues: 31
  • Pull requests: 50
  • Average time to close issues: 23 days
  • Average time to close pull requests: 7 days
  • Issue authors: 9
  • Pull request authors: 7
  • Average comments per issue: 2.0
  • Average comments per pull request: 1.4
  • Merged pull requests: 29
  • Bot issues: 1
  • Bot pull requests: 25
Top Authors
Issue Authors
  • ystade (14)
  • burgholzer (10)
  • mnfarooqi (10)
  • echavarria-lrz (8)
  • denialhaag (3)
  • Gistbatch (1)
  • PancakeFriday (1)
  • kayaercument (1)
  • mletras89 (1)
  • MariusEviden (1)
  • Durganshu (1)
  • pre-commit-ci[bot] (1)
Pull Request Authors
  • ystade (26)
  • burgholzer (20)
  • pre-commit-ci[bot] (19)
  • dependabot[bot] (10)
  • mnfarooqi (3)
  • Gistbatch (1)
  • rainij (1)
Top Labels
Issue Labels
feature (14) usability (9) documentation (7) bug (6) refactor (3) code quality (3) fix (1) dependencies (1) minor (1) continuous integration (1) enhancement (1) pre-commit (1)
Pull Request Labels
pre-commit (15) dependencies (13) usability (12) documentation (12) fix (10) enhancement (9) github_actions (8) minor (7) code quality (6) continuous integration (6) feature (5) refactor (4) major (2) question (1) bug (1)

Dependencies

.github/workflows/docs.yml actions
  • JamesIves/github-pages-deploy-action v4 composite
  • actions/checkout v4 composite
  • ssciwr/doxygen-install v1 composite