Інтерфейс управління квантовими ресурсами (QRMI)
Інтерфейс управління квантовими ресурсами (QRMI) — це незалежна від постачальника бібліотека для систем високопродуктивних обчислень (HPC), що забезпечує доступ, контроль і моніторинг квантових обчислювальних ресурсів. Він функціонує як тонкий проміжни й шар, що абстрагує складнощі управління квантовими ресурсами за допомогою простого набору API. Написаний на Rust, цей інтерфейс також надає API для Python і C для легкої інтеграції практично в будь-яке обчислювальне середовище.
Знайди вихідний код для збірки та розгортання QRMI в цьому репозиторії GitHub.
До пакета Python включено опційний інструмент командного рядка task_runner для виконання квантових завдань на квантовому обладнанні. Повну документацію знайди в репозиторії GitHub.
Збірка бібліотек QRMI
Цей розділ показує, як зібрати QRMI для C і Python.
Вимоги
QRMI підтримує такі операційні системи (ОС):
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
Середовище компіляції
- Компілятор Rust 1.91 або новіший
- Компілятор C: наприклад, GCC (
gcc) для Linux і Clang (clang-tools-extra) для невідомих цілей Rust / крос-компіляцій. QRMI сумісний із компілятором, що відповідає стандарту C11 make/cmake(RPM make/cmake для ОС, сумісних з RHEL)openssl(RPM openssl-devel для ОС, сумісних з RHEL)zlib(RPM zlib-devel для ОС, сумісних з RHEL)- Python 3.11, 3.12 а бо 3.13 (для Python API)
- Бібліотеки та заголовні файли, необхідні для розробки на Python (RPM python3.1x-devel для ОС, сумісних з RHEL):
- /usr/include/python3.1x
- /usr/lib64/libpython3.1x.so
- Бібліотеки та заголовні файли, необхідні для розробки на Python (RPM python3.1x-devel для ОС, сумісних з RHEL):
- Doxygen (для генерації документації C API), залежно від ОС:
dnf install doxygenдля Linux (RHEL/CentOS/Rocky Linux та інші)apt install doxygenдля Linux (Ubuntu та інші)brew install doxygenдля MacOS
Середовище виконання
- gcc (RPM libgcc для ОС, сумісних з RHEL)
- openssl (RPM openssl-libs для ОС, сумісних з RHEL)
- zlib (RPM zlib для ОС, сумісних з RHEL)
- Python 3.11, 3.12 або 3.13 (для Python API)
- Бібліотеки та заголовні файли, необхідні для розробки на Python (RPM python3.1x-devel для ОС, сумісних з RHEL)
Збери бібліотеку Rust/C API за допомогою таких команд у директорії, де збережено репозиторій QRMI.
. ~/.cargo/env
cargo clean
cargo build --release
Щоб зібрати пакет Python, спочатку налаштуй середовище Python і встанови необхідні залежності.
. ~/.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
Створи файли-заглушки для коду Python.
. ~/.cargo/env
cargo run --bin stubgen --features=pyo3
Нарешті, збери Python wheels для розповсюдження на твої хости.
source ~/py312_qrmi_venv/bin/activate
CARGO_TARGET_DIR=./target/release/maturin maturin build --release
Wheel створюється в директорії ./target/release/maturin/wheels. Ти можеш розповсюджувати його та встановлювати на своїх хостах за допомогою pip install <wheel>.
Журналювання
QRMI підтримує log crate для журналювання. Ти можеш переглянути детальні журнали виконання QRMI, задавши змінну середовища RUST_LOG з рівне м журналювання. Підтримувані рівні: error, warn, info, debug та trace. Рівень за замовчуванням — warn.
Якщо задати trace, можна переглянути базові журнали HTTP-транзакцій.
RUST_LOG=trace <your QRMI executable>
Приклад журналів:
[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 ...
Збірка документації API
Документацію Rust API можна створити, виконавши:
. ~/.cargo/env
cargo doc --no-deps --open
Документацію C API можна створити за допомогою doxygen:
doxygen Doxyfile
Це створить HTML-документ у директорії ./html, який ти можеш відкрити у веб-браузері.
Документація Python API генерується за допомогою pydoc. Після входу у віртуальне середовище зі встановленим пакетом QRMI виконай такі команди:
python -m pydoc -p 8290
Server ready at http://localhost:8290/
Server commands: [b]rowser, [q]uit
server> b
Потім відкрий таку сторінку у своєму браузері:
http://localhost:8290/qrmi.html
Зупини сервер за допомогою:
server> q