IBMはQiskit SDK v2.5を2026年7月14日に発表し、量子回路のトランスレーション速度とコンパイル・パス構築の柔軟性を高める改善に加え、C言語APIの機能を拡張しました。本リリースはQiskit v2.xシリーズの一環であり、既存のワークフローとの互換性を可能な限り維持しながら、より高速でスケーラブルなソフトウェア基盤の開発に重点を置いています。
本リリースでは、複数の表現を扱う新しいコンパイラー・フレームワークと、回路をフォールトトレラント量子コンピューティングに関連する表現へコンパイルするためのすぐに利用できるパスが追加されました。また、変換処理では、LightSabreアルゴリズム、マルチスレッド処理、実際のハードウェア上での実行精度を重視する最適化段階が改善されています。
動的回路の検査に向けたC APIの拡張
Qiskit v2.5では、動的回路における古典制御フローを、これらの命令を分析する際にPythonへ戻ることなく、C APIから直接検査できます。対象にはif/else、while、for、switch、box、break、continueが含まれます。
開発者は、制御フローの種類を照会し、ネストされた回路ブロックを検査し、条件やループ・パラメーターを分析し、ネストされたブロックと元の回路との対応関係にアクセスできます。IBMはさらに、式木、変数、リテラル値、論理演算、算術演算、比較演算、型情報など、古典式を検査するための対応APIも追加しました。
これらの追加により、コンパイラー・ツールや低レベル・ソフトウェアは、動的回路と古典式をC APIだけで完全に分析できるようになります。ただし、Cから制御フローや古典式を作成する機能はまだサポートされておらず、本リリースでは検査に限定されています。
複数の表現を扱うトランスレーション・パスのフレームワーク
本リリースでは、複数の中間表現をまたいで動作するトランスレーション・パスを構築するためのMultiStagePassManagerコンポーネントが導入されました。ワークフロー全体を単一の表現に限定するのではなく、各段階で実行するタスクに最も適した表現を使用できます。
この変更は、カスタムのトランスレーション・パスを構築する研究者や開発者、フォールトトレラント量子コンピューティングのワークフローに取り組むユーザーなど、高度なユーザーを対象としています。このフレームワークは、Qiskitの既存のパスマネージャーと段階的に採用できますが、段階間の遷移はユーザーが指定する必要があり、自動的には推論されません。
フォールトトレラント量子コンピューティング向けのすぐに使えるパス
Qiskit v2.5では、フォールトトレラント量子コンピューティングに関連するコンパイル・パス向けに、すぐに使える2つのパスマネージャーが追加されました。
- generate_preset_pbc_pass_manager():回路をパウリ・ベース計算の表現へコンパイルします。ここでは、パウリ測定とパウリ積回転を用いて操作を表現します。
- generate_preset_clifford_t_pass_manager():回路をClifford+T命令セットへコンパイルします。これは、フォールトトレラントなコンパイル・パスで一般的に使われる表現です。
これらのパスは引き続きカスタマイズ可能で、開発者はコンパイル段階を検査、変更し、ほかの最適化手法を追加できます。また、Clifford+Tパスでは、近似精度とTゲート数のトレードオフを調整できます。
コンパイラーの性能改善とアップグレード要件
新リリースのトランスレーション処理では、LightSabreアルゴリズムが改良されています。入力されるゲートを、先読みのための固定ウィンドウではなく層単位で処理するようになりました。IBMによれば、これにより回路の品質を維持または従来の実装より改善しながら、大規模回路に対するスケーラビリティが向上します。
Qiskitではマルチスレッド処理の利用も拡大しており、TwoQubitPeepholeOptimizationやOptimize1qGatesDecompositionなどの段階が対象となっています。さらに、ConsolidateBlocksやUnitarySynthesisなど既存の段階も改善されています。TwoQubitPeepholeOptimization段階では、バックエンドのエラー率とデバイス特性を活用し、実際のハードウェア上で期待される実行精度を重視します。そのため、場合によっては回路の深さやゲート数が増加することがあります。
IBMは、アップグレードに通常はコード変更を必要としないと説明しています。ただし、C APIはマイナーリリース間で安定していないため、Qiskit v2.4でビルドした拡張機能は再ビルドが必要になる場合があります。また、Qiskit v2.5にはNumPy 2.0以降およびSciPy 1.14以降が必要です。Qiskit v1.xシリーズのユーザーについては、バグ修正、セキュリティ更新、その他すべての修正を含むサポートが、6月12日のv1.4.6リリースをもって終了しました。
リリースに伴い、IBMはQiskit Runtime Serviceの名称をIBM Quantum Compute Serviceに変更することも発表しました。これは、ハードウェアに依存しないオープンソースの開発パッケージであるQiskitと、IBMの量子コンピューター上でアルゴリズムを実行するためのIBMのマネージドサービスとの違いを明確にするためです。この変更は7月14日からその後数週間にわたり段階的に適用されますが、既存のAPI、ワークフロー、統合に変更はありません。