Skip to main content

Quantum Resource Management Interface(QRMI)

Project description

Quantum resource management interface (QRMI)

License Current Release Platform PyPI - Python Version Minimum rustc 1.91 Downloads Downloads DOI arXiv CI

The Quantum resource management interface (QRMI) is a vendor-agnostic library for high-performance compute (HPC) systems to access, control, and monitor the behavior of quantum computational resources. It acts as a thin middleware layer that abstracts away the complexities associated with controlling quantum resources through a set of simple APIs. Written in Rust, this interface also exposes Python and C APIs for ease of integration into nearly any computational environment.

Find the source code to build and deploy QRMI in this GitHub repository.

An optional task_runner command line tool to execute quantum payloads against quantum hardware is included in the Python package. Find the full documentation in the GitHub repository.

Installation

Python

We encourage installing QRMI via pip:

pip install qrmi

To use a specific quantum resource, install QRMI with the corresponding optional dependencies:

pip install "qrmi[ibm]"       # Include dependencies for IBM
pip install "qrmi[iqm]"       # Include dependencies for IQM
pip install "qrmi[pasqal]"    # Include dependencies for Pasqal
pip install "qrmi[alice-bob]" # Include dependencies for Alice and Bob
pip install "qrmi[all]"       # Include dependencies for all quantum resources except `alice-bob`

Or combine multiple resources:

pip install "qrmi[ibm,pasqal]"

[!NOTE] Note: ibm and iqm extras cannot be installed together, as they depend on incompatible versions of Qiskit.

[!NOTE] Note: alice-bob cannot be installed alongside ibm or iqm, as it depends on Qiskit versions earlier than 2.0.

Pip will handle all dependencies automatically and you will always install the latest (and well-tested) version.

To install from source, follow the instructions in the documentation.

Standalone C library

Prebuilt binaries for Linux(glibc 2.28 compatible) on x86_64, ppc64le, and aarch64 platforms are available for download from the Releases tab of this GitHub repository.

To install from source, follow the instructions in the documentation.

Getting Started

This GitHub repository contains a variety of example code. See the README in each directory for details.

One of example of usage of QRMI in compute infrastrcture project is Slurm plugin for quantum resources. QRMI is used in Slurm plugin to control quantum resources during lifetime of Slurm job. See implementation and documentation of Quantum spank plugins for Slurm.

How to Cite This Work

QRMI is the work of many people who contribute to the project at different levels. If you use QRMI, please consider citing the associated overview paper Quantum resources in resource management systems. This helps support the continued development and visibility of the repository. The BibTeX citation handle can be found in the BibTeX file file.

Note we expect multiple versions of the overview paper to be released as the project evolves.

Contribution Guidelines

For information on how to contribute to this project, please take a look at our contribution guidelines.

If you'd like to contribute to QRMI, please take a look at our contribution guidelines. By participating, you are expected to uphold our code of conduct.

We use GitHub issues for tracking requests and bugs. Please join the Qiskit Slack community for discussion, comments, and questions.

Frequently Asked Questions

Refer this document.

References and Acknowledgements

  1. Quantum spank plugins for Slurm https://github.com/qiskit-community/spank-plugins
  2. Slurm documentation https://slurm.schedmd.com/
  3. Qiskit https://www.ibm.com/quantum/qiskit
  4. IBM Quantum https://www.ibm.com/quantum
  5. Pasqal https://pasqal.com
  6. STFC The Hartree Centre, https://www.hartree.stfc.ac.uk. This work was supported by the Hartree National Centre for Digital Innovation (HNCDI) programme.
  7. Rensselaer Polytechnic Institute, Center for Computational Innovation, http://cci.rpi.edu/
  8. Alice & Bob https://alice-bob.com/

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

qrmi-0.19.0.tar.gz (356.4 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

qrmi-0.19.0-cp311-abi3-manylinux_2_28_x86_64.whl (9.1 MB view details)

Uploaded CPython 3.11+manylinux: glibc 2.28+ x86-64

qrmi-0.19.0-cp311-abi3-manylinux_2_28_ppc64le.whl (11.7 MB view details)

Uploaded CPython 3.11+manylinux: glibc 2.28+ ppc64le

qrmi-0.19.0-cp311-abi3-manylinux_2_28_aarch64.whl (9.1 MB view details)

Uploaded CPython 3.11+manylinux: glibc 2.28+ ARM64

File details

Details for the file qrmi-0.19.0.tar.gz.

File metadata

  • Download URL: qrmi-0.19.0.tar.gz
  • Upload date:
  • Size: 356.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for qrmi-0.19.0.tar.gz
Algorithm Hash digest
SHA256 ffebfe252db2bb8915c7e950e5840cb9527f7289761404968e360e7c9c5b9283
MD5 e59b8a9c48f6364de76e1ebcc47c59dc
BLAKE2b-256 74be7a03f563f26e2aa62c6d7161c52e6e11849b168e22a29334ef975b919b29

See more details on using hashes here.

Provenance

The following attestation bundles were made for qrmi-0.19.0.tar.gz:

Publisher: release.yml on qiskit-community/qrmi

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file qrmi-0.19.0-cp311-abi3-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for qrmi-0.19.0-cp311-abi3-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 89d4509ee0342991523d5866f499e0e05b7f93b06c5b4c933d31b7def701e259
MD5 1d4aa88f088fc6514f73c916fada51b4
BLAKE2b-256 577e85a1a87775f73e7afe0c71872622f5aff1a280e38c43825e323f80b02757

See more details on using hashes here.

Provenance

The following attestation bundles were made for qrmi-0.19.0-cp311-abi3-manylinux_2_28_x86_64.whl:

Publisher: release.yml on qiskit-community/qrmi

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file qrmi-0.19.0-cp311-abi3-manylinux_2_28_ppc64le.whl.

File metadata

File hashes

Hashes for qrmi-0.19.0-cp311-abi3-manylinux_2_28_ppc64le.whl
Algorithm Hash digest
SHA256 97652816533d8de656ca6d9462c4247891cf81620910282e48929e362fc142f3
MD5 94da4c05b72d91edf1b1d566520303be
BLAKE2b-256 ed1d6983ea772f41be04a3ff51746222089847604847fe3945ca96555733c9ae

See more details on using hashes here.

Provenance

The following attestation bundles were made for qrmi-0.19.0-cp311-abi3-manylinux_2_28_ppc64le.whl:

Publisher: release.yml on qiskit-community/qrmi

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file qrmi-0.19.0-cp311-abi3-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for qrmi-0.19.0-cp311-abi3-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 be2a864dbc910b396fdd5d9ff1f0596e7b7fa0f9a98af30cf6867b386a5adc32
MD5 781e01cb79d4c50667140642dee27402
BLAKE2b-256 609f1ad338063d784c257d5f14ba1b0519e53d1d51358b3222e1dc120a37162d

See more details on using hashes here.

Provenance

The following attestation bundles were made for qrmi-0.19.0-cp311-abi3-manylinux_2_28_aarch64.whl:

Publisher: release.yml on qiskit-community/qrmi

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page