Skip to main content

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

For running QRMI on Python we recommend installing QRMI via pip:

pip install qrmi

To include support for specific quantum resources, install with the corresponding extras:

pip install "qrmi[ibm]"       # IBM quantum resources
pip install "qrmi[iqm]"       # IQM quantum resources
pip install "qrmi[pasqal]"    # Pasqal quantum resources
pip install "qrmi[all]"       # All quantum resources

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.

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 x86_64, ppc64le, and arm64 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

  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.14.2.tar.gz (304.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.14.2-cp311-abi3-manylinux_2_28_x86_64.whl (8.8 MB view details)

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

qrmi-0.14.2-cp311-abi3-manylinux_2_28_ppc64le.whl (11.3 MB view details)

Uploaded CPython 3.11+manylinux: glibc 2.28+ ppc64le

qrmi-0.14.2-cp311-abi3-manylinux_2_28_aarch64.whl (8.7 MB view details)

Uploaded CPython 3.11+manylinux: glibc 2.28+ ARM64

File details

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

File metadata

  • Download URL: qrmi-0.14.2.tar.gz
  • Upload date:
  • Size: 304.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.14.2.tar.gz
Algorithm Hash digest
SHA256 49edb99de9f5abfdf2769c38dbf9c12c0dd85bd363e8a98b4fcf1c6b10719216
MD5 06e4e9cfc11db5d9403ba4da5f12d7f4
BLAKE2b-256 6ca52585d479f15e07a214667189773a669d3f68b2125489f68ed8a297fe0abc

See more details on using hashes here.

Provenance

The following attestation bundles were made for qrmi-0.14.2.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.14.2-cp311-abi3-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for qrmi-0.14.2-cp311-abi3-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 c042165bdc2c3c2f1dfe8b3f402119eb486a3b0befb796625d355dafc1704051
MD5 b5450bc59465634e6beb509cf0415b8c
BLAKE2b-256 28a6c0774cdd35ea7d3ffd979268a5fccf94aaa3b2af78719864cf1ea84d723e

See more details on using hashes here.

Provenance

The following attestation bundles were made for qrmi-0.14.2-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.14.2-cp311-abi3-manylinux_2_28_ppc64le.whl.

File metadata

File hashes

Hashes for qrmi-0.14.2-cp311-abi3-manylinux_2_28_ppc64le.whl
Algorithm Hash digest
SHA256 51551296ef2520d7a59b854cf1d0d21e2db4416156a88ae10b38e857d6c1a0c9
MD5 f0f4d1970fbc88cd8b3975d0731133fc
BLAKE2b-256 54abc78f469c6ba3d25cec10114af93607da1351b8a0bd3830e5d49ae5b375c0

See more details on using hashes here.

Provenance

The following attestation bundles were made for qrmi-0.14.2-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.14.2-cp311-abi3-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for qrmi-0.14.2-cp311-abi3-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 755e5b5f4fe43680fb177b769d2825c849d793cf6d9d5c0451de2721bd1b2fb5
MD5 9a27872f7903d2c90d7571ab1244f52d
BLAKE2b-256 13fddfad39aeb955372ca2e6414131b5c5b93ed9bbdd4b193434fd931fb78c8f

See more details on using hashes here.

Provenance

The following attestation bundles were made for qrmi-0.14.2-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