Antara muka pengurusan sumber kuantum (QRMI)
Antara muka pengurusan sumber kuantum (QRMI) adalah perpustakaan bebas vendor untuk sistem pengkomputeran berprestasi tinggi (HPC) bagi mengakses, mengawal, dan memantau tingkah laku sumber pengkomputeran kuantum. Ia bertindak sebagai lapisan perisian tengah nipis yang mengabstrakkan kerumitan yang berkaitan dengan mengawal sumber kuantum melalui satu set API mudah. Ditulis dalam Rust, antara muka ini juga mendedahkan API Python dan C untuk kemudahan integrasi ke hampir mana-mana persekitaran pengkomputeran.
Temui kod sumber untuk membina dan menggunakan QRMI dalam repositori GitHub ini.
Alat baris perintah task_runner pilihan untuk melaksanakan muatan kerja kuantum terhadap perkakasan kuantum disertakan dalam pakej Python. Temui dokumentasi penuh dalam repositori GitHub.
Bina perpustakaan QRMIβ
Bahagian ini menunjukkan cara membina QRMI untuk C dan Python.
Keperluanβ
QRMI menyokong sistem pengendalian (OS) berikut:
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
Persekitaran penyusunanβ
- Pengkompil Rust 1.91 atau lebih baharu
- Pengkompil C: contohnya, GCC (
gcc) pada Linux dan Clang (clang-tools-extra) untuk sasaran tidak dikenali Rust/penyusunan silang. QRMI serasi dengan pengkompil yang mematuhi piawaian C11 make/cmake(make/cmake RPM untuk OS serasi RHEL)openssl(openssl-devel RPM untuk OS serasi RHEL)zlib(zlib-devel RPM untuk OS serasi RHEL)- Python 3.11, 3.12, atau 3.13 (Untuk API Python)
- Perpustakaan dan fail pengepala yang diperlukan untuk pembangunan Python (python3.1x-devel RPM untuk OS serasi RHEL):
- /usr/include/python3.1x
- /usr/lib64/libpython3.1x.so
- Perpustakaan dan fail pengepala yang diperlukan untuk pembangunan Python (python3.1x-devel RPM untuk OS serasi RHEL):
- Doxygen (untuk menjana dokumentasi API C), bergantung pada OS:
dnf install doxygenuntuk Linux (RHEL/CentOS/Rocky Linux dan lain-lain)apt install doxygenuntuk Linux (Ubuntu dan lain-lain)brew install doxygenuntuk MacOS
Persekitaran masa jalanβ
- gcc (libgcc RPM untuk OS serasi RHEL)
- openssl (openssl-libs RPM untuk OS serasi RHEL)
- zlib (zlib RPM untuk OS serasi RHEL)
- Python 3.11, 3.12, atau 3.13 (Untuk API Python)
- Perpustakaan dan fail pengepala yang diperlukan untuk pembangunan Python (python3.1x-devel RPM untuk OS serasi RHEL)
Bina perpustakaan API Rust/C dengan arahan berikut di mana sahaja anda menyimpan repositori QRMI.
. ~/.cargo/env
cargo clean
cargo build --release
Untuk membina pakej Python, mulakan dengan menyediakan persekitaran Python dan memasang kebergantungan yang diperlukan.
. ~/.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
Cipta fail stub untuk kod Python.
. ~/.cargo/env
cargo run --bin stubgen --features=pyo3
Akhirnya, bina wheel Python untuk diedarkan kepada hos anda.
source ~/py312_qrmi_venv/bin/activate
CARGO_TARGET_DIR=./target/release/maturin maturin build --release
Wheel dicipta dalam direktori ./target/release/maturin/wheels. Anda boleh mengedarkan dan memasangnya pada hos anda dengan pip install <wheel>.
Pengeloganβ
QRMI menyokong log crate untuk pengelogan. Anda boleh mencari log masa jalan QRMI terperinci dengan menentukan pemboleh ubah persekitaran RUST_LOG dengan tahap log. Tahap yang disokong ialah error, warn, info, debug, dan trace. Tahap lalai ialah warn.
Jika anda menentukan trace, anda boleh mencari log transaksi HTTP yang mendasari.
RUST_LOG=trace <your QRMI executable>
Contoh 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 ...
Bina dokumentasi APIβ
Dokumentasi API Rust boleh dicipta dengan menjalankan
. ~/.cargo/env
cargo doc --no-deps --open
Dokumentasi API C boleh dicipta menggunakan doxygen:
doxygen Doxyfile
Ini akan mencipta dokumen HTML di bawah direktori ./html, yang boleh anda buka dalam pelayar web.
Dokumentasi API Python dijana dengan pydoc. Selepas memasuki persekitaran maya dengan QRMI yang dipasang, jalankan arahan berikut:
python -m pydoc -p 8290
Server ready at http://localhost:8290/
Server commands: [b]rowser, [q]uit
server> b
Kemudian, buka halaman berikut dalam pelayar anda:
http://localhost:8290/qrmi.html
Hentikan pelayan dengan:
server> q