IBMの量子計算ソフトが進化、使い慣れた言語で回路の保存や高度な処理が可能に
- IBMが量子計算開発ツール「Qiskit SDK v2.6」を公開し、C言語向け機能を大幅に拡充した。
- コンパイラの独自構築や独自ゲートの定義、回路の保存がPythonを経由せず他言語から直接可能になった。
- 保存形式「QPY」が小型化されたほか、Python 3.10対応は本版で終了し次版で3.11以上へ移行する。
米IBMは、量子コンピューティング向けソフトウェア開発キットの最新版となる「Qiskit SDK v2.6」を公開した。今回の更新は「C API」と呼ばれる他言語連携の仕組みに重点が置かれており、中核であるRust製の高速処理基盤を、Pythonを介さずにC言語やC++、Juliaなどの多様なコンパイル言語から直接制御できる範囲を大きく広げた。
従来のQiskitでもC APIを通じた回路構築や標準的な回路変換は可能だったが、今回のv2.6では、コンパイラ内部の処理工程を独自に構築できるパスマネージャー機能が新たに追加された。開発者は独自のコンパイル処理(パス)を作成し、複数の型検査された中間表現(IR)を経て回路を変換・最適化するパイプラインを組み立てられる。これは前版のv2.5で導入された多層的なコンパイラ構造を、外部言語から扱えるようにしたものである。
また、量子回路を効率的に保存・復元するためのバイナリ形式「QPY」のシリアライズ処理がC APIから直接実行できるようになった。メモリ上のバッファやファイルへPythonを介さずに高速で回路を書き出し、後から再読み込みできる。さらに、書き出されたデータはPython環境のQiskitとも互換性を維持しているため、C言語側で事前処理した回路をPython側で分析するといった連携や、IBM Quantum Platformへのジョブ投入クライアントの実装が容易になる。
拡張性の面では、ハードウェア独自のゲートを含むカスタム量子操作をC APIから直接定義できる仕組みが導入された。仮想関数テーブル(vtable)を用いて操作名や量子ビット数、振る舞いを指定することで、Pythonのオブジェクトモデルを経由せずに独自操作を回路や有向非巡回グラフ(DAG)へ組み込める。
あわせて、標準の保存形式としてデータサイズを縮小した「QPY形式 v18」が採用された。動作環境については、最小対応のPythonバージョンは引き続き3.10だが、3.10を支援するのは今版が最後となり、次版のv2.7からは3.11以上が必須となる。また、ソースコードからビルドする際のRustの最低バージョンは1.89に引き上げられた。同社は、Pythonが未導入の環境でもC APIが完全に動作するよう内部の依存関係の整理を進めており、v2.7での完了を目指している。
この記事は IBM Researchの発表を AI が日本語に要約したものです。正確な内容は原文をご確認ください。
アプリで開く