IBMがQiskit SDK v2.0をリリースしました。これは量子ソフトウェアスタックに基礎的な変更を加えた大規模なアップデートで、初のC言語APIの導入、Rustベースの内部機能のより深い統合、レガシーコンポーネントの削除が含まれています。このリリースはQiskitの18ヶ月間のメジャーバージョンサポートサイクルに沿ったもので、パフォーマンスの向上、高性能コンピューティング(HPC)との相互運用性の改善、量子-古典ハイブリッドアプリケーションの開発の簡素化を目指すIBMの戦略的な取り組みを反映しています。 v2.0の主要な機能の1つは、SparseObservableオブジェクトを構築・操作するための新しいC APIです。この初期段階のインターフェースにより、CプログラムがQiskitのデータ構造と直接やり取りすることが可能になり、Pythonを超えた大規模な量子実験をサポートする長期的なロードマップの一部となっています。この統合は、量子ビットレジスタや命令クラスなどの複数のコアデータ構造を支えるRustへのバックエンドの移行によって実現されています。このアーキテクチャは、低レベルアクセスと古典的インフラストラクチャとの相互運用性を促進するように設計されています。 パフォーマンスの向上は引き続き主要な焦点となっています。回路構築タスクは2倍の高速化を達成し、トランスパイル処理のベンチマークではQiskit v1.3と比較して平均20%のパフォーマンス向上を示し、特定のワークロードでは最大17倍の改善が見られています。ただし、OpenQASM 2の古典的条件付きゲートを使用したベンチマークでは、IfElseOp構造を使用したより正確なモデリングにより、11%のテストでランタイムが増加しています。これらのトレードオフは、QiskitがOpenQASM 3の完全な互換性に向かう中で、意味的な正確性とパフォーマンスの最適化を統合する取り組みを反映しています。 このアップデートでは、Delay命令のためのストレッチ変数と、操作をグループ化するための新しいbox命令も導入されています。ストレッチ変数により、動的回路におけるタイミング依存関係を抽象的に表現できるようになり、動的デカップリングなどのエラー抑制手法の設計を支援します。box命令は、パウリツワーリング、ノイズ学習、スケジューリング制御などのユースケースのために、ゲートの論理的グループ化をコンパイラに可視化します。両機能ともOpenQASM 3のセマンティクスに沿っており、IBMハードウェア上でのより高度なコンパイルとランタイム動作に向けてQiskitを準備します。 破壊的変更の一環として、Qiskit SDK v2.0ではqiskit.pulse、qobj、BackendV1など、いくつかの非推奨コンポーネントが削除されました。これらの削除によりSDKが簡素化され、低レベル制御のためのより高度なプリミティブと分数ゲートを優先する形で、IBMがレガシー制御モデルから離れていく方針を反映しています。IBMは以前のQiskit Pulseユーザーに対して、較正と最適制御のためのQiskit Dynamicsなどの代替手段を検討することを推奨しています。 2025年4月4日