Quantum Resource Management Interface(QRMI)
Project description
Quantum resource management interface (QRMI)
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:
ibmandiqmextras cannot be installed together, as they depend on incompatible versions of Qiskit.
[!NOTE] Note:
alice-bobcannot be installed alongsideibmoriqm, 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.
References and Acknowledgements
- Quantum spank plugins for Slurm https://github.com/qiskit-community/spank-plugins
- Slurm documentation https://slurm.schedmd.com/
- Qiskit https://www.ibm.com/quantum/qiskit
- IBM Quantum https://www.ibm.com/quantum
- Pasqal https://pasqal.com
- STFC The Hartree Centre, https://www.hartree.stfc.ac.uk. This work was supported by the Hartree National Centre for Digital Innovation (HNCDI) programme.
- Rensselaer Polytechnic Institute, Center for Computational Innovation, http://cci.rpi.edu/
- Alice & Bob https://alice-bob.com/
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file qrmi-0.17.1.tar.gz.
File metadata
- Download URL: qrmi-0.17.1.tar.gz
- Upload date:
- Size: 352.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
46cb13ab729f2b7666f5c04875e4da25c5dbabb5b429f9ab4e6b4ddfb5eac4b6
|
|
| MD5 |
6bf821563231d94886e13b771d41c2f6
|
|
| BLAKE2b-256 |
4dab17609e963cbff60ffbb21c3ab99223f5252b677daa1048a80796ba7f5c06
|
Provenance
The following attestation bundles were made for qrmi-0.17.1.tar.gz:
Publisher:
release.yml on qiskit-community/qrmi
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
qrmi-0.17.1.tar.gz -
Subject digest:
46cb13ab729f2b7666f5c04875e4da25c5dbabb5b429f9ab4e6b4ddfb5eac4b6 - Sigstore transparency entry: 1794333203
- Sigstore integration time:
-
Permalink:
qiskit-community/qrmi@6bef72bf1538cd4711962ab2dc41aa8bbb5a8088 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/qiskit-community
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@6bef72bf1538cd4711962ab2dc41aa8bbb5a8088 -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file qrmi-0.17.1-cp311-abi3-manylinux_2_28_x86_64.whl.
File metadata
- Download URL: qrmi-0.17.1-cp311-abi3-manylinux_2_28_x86_64.whl
- Upload date:
- Size: 9.2 MB
- Tags: CPython 3.11+, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1c35c1c91e3295e672501d36174f9ad808f597c8867196933dde0327be0c3fae
|
|
| MD5 |
6d704d70b07fd688fa1d47f5f7f400cd
|
|
| BLAKE2b-256 |
ec1e7b9661beb019616c784690b8b2e48a4218631ce00b6e0309e463d59064b2
|
Provenance
The following attestation bundles were made for qrmi-0.17.1-cp311-abi3-manylinux_2_28_x86_64.whl:
Publisher:
release.yml on qiskit-community/qrmi
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
qrmi-0.17.1-cp311-abi3-manylinux_2_28_x86_64.whl -
Subject digest:
1c35c1c91e3295e672501d36174f9ad808f597c8867196933dde0327be0c3fae - Sigstore transparency entry: 1794333352
- Sigstore integration time:
-
Permalink:
qiskit-community/qrmi@6bef72bf1538cd4711962ab2dc41aa8bbb5a8088 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/qiskit-community
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@6bef72bf1538cd4711962ab2dc41aa8bbb5a8088 -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file qrmi-0.17.1-cp311-abi3-manylinux_2_28_ppc64le.whl.
File metadata
- Download URL: qrmi-0.17.1-cp311-abi3-manylinux_2_28_ppc64le.whl
- Upload date:
- Size: 11.7 MB
- Tags: CPython 3.11+, manylinux: glibc 2.28+ ppc64le
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
481f91b2bbd1a24799db745f0b1c9d0277e59e77005ec464157bf591604c1312
|
|
| MD5 |
c5df7eb0bfe1eea499ad7933cfd9fc5a
|
|
| BLAKE2b-256 |
0ac44d2102af2b9693cdd477437fbf31370d1aad5c7fa86f1f61f83c25a534c2
|
Provenance
The following attestation bundles were made for qrmi-0.17.1-cp311-abi3-manylinux_2_28_ppc64le.whl:
Publisher:
release.yml on qiskit-community/qrmi
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
qrmi-0.17.1-cp311-abi3-manylinux_2_28_ppc64le.whl -
Subject digest:
481f91b2bbd1a24799db745f0b1c9d0277e59e77005ec464157bf591604c1312 - Sigstore transparency entry: 1794333596
- Sigstore integration time:
-
Permalink:
qiskit-community/qrmi@6bef72bf1538cd4711962ab2dc41aa8bbb5a8088 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/qiskit-community
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@6bef72bf1538cd4711962ab2dc41aa8bbb5a8088 -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file qrmi-0.17.1-cp311-abi3-manylinux_2_28_aarch64.whl.
File metadata
- Download URL: qrmi-0.17.1-cp311-abi3-manylinux_2_28_aarch64.whl
- Upload date:
- Size: 9.1 MB
- Tags: CPython 3.11+, manylinux: glibc 2.28+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
47bb48c72e92198f4ad3ebbc9c214addb56169030ac64a4b899a72a526fe91fe
|
|
| MD5 |
4c73d8d23a486f39626dcbe9b8b9dce5
|
|
| BLAKE2b-256 |
c5bd30e9e2dfe5816f06dbb630472fa6e9c59e2350660c0a5b025d577f1e61ca
|
Provenance
The following attestation bundles were made for qrmi-0.17.1-cp311-abi3-manylinux_2_28_aarch64.whl:
Publisher:
release.yml on qiskit-community/qrmi
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
qrmi-0.17.1-cp311-abi3-manylinux_2_28_aarch64.whl -
Subject digest:
47bb48c72e92198f4ad3ebbc9c214addb56169030ac64a4b899a72a526fe91fe - Sigstore transparency entry: 1794333464
- Sigstore integration time:
-
Permalink:
qiskit-community/qrmi@6bef72bf1538cd4711962ab2dc41aa8bbb5a8088 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/qiskit-community
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@6bef72bf1538cd4711962ab2dc41aa8bbb5a8088 -
Trigger Event:
workflow_dispatch
-
Statement type: