Lumaktaw sa pangunahing nilalaman

Quantum resource management interface (QRMI)

Ang Quantum resource management interface (QRMI) ay isang vendor-agnostic na library para sa mga high-performance compute (HPC) system upang ma-access, kontrolin, at ma-monitor ang gawi ng mga quantum computational resource. Gumaganap ito bilang isang manipis na middleware layer na nag-aalis ng mga kumplikasyon na kaugnay ng pagkontrol sa mga quantum resource sa pamamagitan ng isang set ng simpleng mga API. Nakasulat sa Rust, ang interface na ito ay naglalabas din ng Python at C API para sa madaling pag-integrate sa halos anumang computational environment.

Hanapin ang source code para mag-build at mag-deploy ng QRMI sa GitHub repository na ito.

Ang opsyonal na task_runner command line tool para sa pag-execute ng mga quantum payload laban sa quantum hardware ay kasama sa Python package. Hanapin ang buong dokumentasyon sa GitHub repository.

I-build ang mga QRMI library​

Ipinapakita ng seksyong ito kung paano i-build ang QRMI para sa C at Python.

Mga kinakailangan​

Sinusuportahan ng QRMI ang mga sumusunod na operating system (OS):

AlmaLinux 9, Amazon Linux 2023, CentOS Stream 9, CentOS Stream 10,
RedHat Enterprise Linux 8, RedHat Enterprise Linux 9,
RedHat Enterprise Linux 10, Rocky Linux 8, Rocky Linux 9, SuSE 15,
Ubuntu 22.04, Ubuntu 24.04, MacOS Sequoia 15.1 or above

Compiling environment​

  • Rust compiler 1.91 o mas mataas
  • Isang C compiler: halimbawa, GCC (gcc) sa Linux at Clang (clang-tools-extra) para sa mga Rust unknown target/cross compilation. Ang QRMI ay compatible sa isang compiler na sumusunod sa C11 standard
  • make/cmake (make/cmake RPM para sa RHEL-compatible na OS)
  • openssl (openssl-devel RPM para sa RHEL-compatible na OS)
  • zlib (zlib-devel RPM para sa RHEL-compatible na OS)
  • Python 3.11, 3.12, o 3.13 (Para sa Python API)
    • Mga library at header file na kailangan para sa Python development (python3.1x-devel RPM para sa RHEL-compatible na OS):
      • /usr/include/python3.1x
      • /usr/lib64/libpython3.1x.so
  • Doxygen (para sa paglikha ng C API documentation), depende sa OS:
    • dnf install doxygen para sa Linux (RHEL/CentOS/Rocky Linux at iba pa)
    • apt install doxygen para sa Linux (Ubuntu at iba pa)
    • brew install doxygenpara sa MacOS

Runtime environment​

  • gcc (libgcc RPM para sa RHEL-compatible na OS)
  • openssl (openssl-libs RPM para sa RHEL-compatible na OS)
  • zlib (zlib RPM para sa RHEL-compatible na OS)
  • Python 3.11, 3.12, o 3.13 (Para sa Python API)
    • Mga library at header file na kailangan para sa Python development (python3.1x-devel RPM para sa RHEL-compatible na OS)

I-build ang Rust/C API library gamit ang mga sumusunod na command saan man nai-save ang QRMI repository.

. ~/.cargo/env
cargo clean
cargo build --release

Para i-build ang Python package, i-set up muna ang isang Python environment at i-install ang mga kinakailangang dependency.

. ~/.cargo/env
cargo clean
python3.12 -m venv ~/py312_qrmi_venv
source ~/py312_qrmi_venv/bin/activate
pip install --upgrade pip
pip install -r requirements-dev.txt

Gumawa ng mga stub file para sa Python code.

. ~/.cargo/env
cargo run --bin stubgen --features=pyo3

Panghuli, i-build ang mga Python wheel para sa pamamahagi sa iyong mga host.

source ~/py312_qrmi_venv/bin/activate
CARGO_TARGET_DIR=./target/release/maturin maturin build --release

Ang wheel ay nililikha sa direktoryo na ./target/release/maturin/wheels. Maaari mo itong ipamahagi at i-install sa iyong mga host gamit ang pip install <wheel>.

Logging​

Sinusuportahan ng QRMI ang log crate para sa logging. Mahahanap mo ang mga detalyadong QRMI runtime log sa pamamagitan ng pagtukoy ng RUST_LOG environment variable kasama ang log level. Ang mga sinusuportahang level ay error, warn, info, debug, at trace. Ang default na level ay warn.

Kung tutukuyin mo ang trace, mahahanap mo ang mga pinagbabatayang HTTP transaction log.

RUST_LOG=trace <your QRMI executable>

Mga halimbawang log:

[2025-08-16T03:47:38Z DEBUG request::connect] starting new connection: https://iam.cloud.ibm.com/
[2025-08-16T03:47:38Z DEBUG direct_access_api::middleware::auth] current token ...

I-build ang API documentation​

Ang Rust API documentation ay maaaring likhain sa pamamagitan ng pagpapatakbo ng

. ~/.cargo/env
cargo doc --no-deps --open

Ang C API documentation ay maaaring likhain sa pamamagitan ng paggamit ng doxygen:

doxygen Doxyfile

Lilikha ito ng isang HTML document sa ilalim ng direktoryo na ./html, na maaari mong buksan sa isang web browser.

Ang Python API documentation ay nalilikha gamit ang pydoc. Pagkatapos pumasok sa virtual environment na may naka-install na QRMI package, patakbuhin ang mga sumusunod na command:

python -m pydoc -p 8290
Server ready at http://localhost:8290/
Server commands: [b]rowser, [q]uit
server> b

Pagkatapos, buksan ang sumusunod na pahina sa iyong browser:

http://localhost:8290/qrmi.html

Itigil ang server gamit ang:

server> q