Japanese
言語
English
Japanese
Spanish

backend.runはQiskit Qiskit Runtime primitiveとどう違うのか?

既存のQiskit backendインターフェース( backend.run() )は、元々回路リストを受け取り、各ジョブのshot数を返すように設計されています。ユーザーのニーズが変化するにつれて、そのニーズに対応するために、より柔軟な新しいツールが必要であると認識し、Qiskit Runtimeが誕生しました。

Qiskitを単独で使用する

Qiskitはもともと、回路を直接実行するために設計されました。Qiskitのユーザーは回路を送信し、量子システム上で実行されるジョブから結果を受け取ります。多くの場合、これらのジョブは、回路パラメーターを最適化するための反復(変分)アプローチを含む、より大きなアルゴリズムの一部となっています。このような場合、各ジョブをキューイングすると、処理時間が長くなります。

Qiskit Runtimeの活用

Qiskit Runtimeは、ワークロードのパフォーマンスにおいて優位性を発揮します。変分アルゴリズムは、Estimator primitive を通じて、QPUとコロケーションされた従来の計算リソース上で実行することができます。これにより、ユーザーは反復アルゴリズム回路を繰り返し実行することができます。また、sessionは、各ジョブを待ち行列に入れることなく一連のジョブを駆動することができ、sessionがアクティブに実行された後のキュー待ち時間のレイテンシーを回避することができます。その結果、Qiskit Runtimeは従来のものと比べてはるかに効率的なものとなっています。

機能

backend.run

Qiskit Runtime Primitives

回路と変分作業負荷のための抽象化としてのPrimitiveインタフェース

No

Yes

一連のジョブの性能を向上させるためのsession

No

Yes

自動的なエラー抑制と緩和を可能にする抽象化されたインタフェース

No

Yes

変分アルゴリズムの性能向上

No

Yes

Qiskitコミュニティによって開発されたコードの実用例

Yes

Yes

Pulse Gates

Yes

Yes

動的回路

Yes

No