量子リソース管理インターフェース(QRMI)
量子リソース管理インターフェース(QRMI)は、高性能計算(HPC)システムが量子計算リソースへのアクセス、制御、および動作監視を行うためのベンダー非依存ライブラリです。シンプルなAPIセットを通じて量子リソースの制御に関わる複雑さを抽象化する、薄いミドルウェア層として機能します。Rustで記述されたこのインターフェースは、ほぼあらゆる計算環境への統合を容易にするためPythonおよびC APIも公開しています。
QRMIのビルドおよびデプロイ用ソースコードは、このGitHubリポジトリでご確認いただけます。
量子ハードウェアに対して量子ペイロードを実行するためのオプションのコマンドラインツール task_runner がPythonパッケージに含ま れています。完全なドキュメントはGitHubリポジトリでご確認いただけます。
QRMIライブラリのビルド
このセクションでは、CおよびPython向けにQRMIをビルドする方法を説明します。
要件
QRMIは以下のオペレーティングシステム(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
コンパイル環境
- Rustコンパイラ 1.91以上
- Cコンパイラ: Linuxでは例えばGCC(
gcc)、Rustの未知のターゲット/クロスコンパイルにはClang(clang-tools-extra)。QRMIはC11標準に準拠するコンパイラと互換性があります。 make/cmake(RHEL互換OSではmake/cmake RPM)openssl(RHEL互換OSではopenssl-devel RPM)zlib(RHEL互換OSではzlib-devel RPM)- Python 3.11、3.12、または3.13(Python APIの場合)
- Pythonの開発に必要なライブラリとヘッダーファイル(RHEL互換OSではpython3.1x-devel RPM):
- /usr/include/python3.1x
- /usr/lib64/libpython3.1x.so
- Pythonの開発に必要なライブラリとヘッダーファイル(RHEL互換OSではpython3.1x-devel RPM):
- Doxygen(C APIドキュメント生成用)、OSによって異なります:
- Linux(RHEL/CentOS/Rocky Linuxなど)の場合は
dnf install doxygen - Linux(Ubuntuなど)の場合は
apt install doxygen - MacOSの場合は
brew install doxygen
- Linux(RHEL/CentOS/Rocky Linuxなど)の場合は
ランタイム環境
- gcc(RHEL互換OSではlibgcc RPM)
- openssl(RHEL互換OSではopenssl-libs RPM)
- zlib(RHEL互換OSではzlib RPM)
- Python 3.11、3.12、または3.13(Python APIの場合)
- Pythonの開発に必要なライブラリとヘッダーファイル(RHEL互換OSではpython3.1x-devel RPM)
QRMIリポジトリを保存した場所で以下のコマンドを実行して、Rust/C APIライブラリをビルドします。
. ~/.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ホイールをビルドします。
source ~/py312_qrmi_venv/bin/activate
CARGO_TARGET_DIR=./target/release/maturin maturin build --release
ホイールは ./target/release/maturin/wheels ディレクトリに作成されます。pip install <wheel> でホストに配布およびインストールできます。