SetIOLatency
class qiskit.transpiler.passes.SetIOLatency(*args, **kwargs)
ベース: AnalysisPass
入力回路にIOLatency情報を設定する。
clbit_write_latency と conditional_latency がパスマネージャーのプロパティセットに追加される。 この情報は、古典レジスタに作用する命令のスケジューリングを行うパス間で共有できる。
これらのレイテンシがプロパティセットに追加されると、この情報は保護された属性として出力回路オブジェクトにもコピーされ、トランスピレーションの外部で利用できるようになる。例えば、タイムラインの視覚化では、レイテンシを使用して、古典的なレジスタ上の命令による時間占有を正確に示すことができる。
レイテンシー情報を持つパスを作成する。
パラメーター
- clbit_write_latency – 制御フロー制約。 標準的な超伝導量子プロセッサは分散型QND読み出しを採用しているため、clbitへの実際のデータ転送は、往復した刺激信号がバッファリングされ、量子状態として識別された後に実行される。 この間隔は、その計測命令に関連付けられた
[t0, t0 + clbit_write_latency]clbitsのアイドル時間と見なされる。 デフォルト値は 0 dt であり、これは Qiskit Pulse スケジューラと同じです。 - conditional_latency – 制御フローの制約。 この値は、条件付き演算における従来のレジスタの読み取りにかかるレイテンシを表します。 このレイテンシが経過した後にゲートの動作が行われます。 これは、ゲートの DAGOpNode の前で遅延として現れます。 デフォルト値は 0 dt です。
属性
is_analysis_pass
パスが分析パスかどうかをチェックする。
パスが AnalysisPass,、パスがDAGを分析し、その分析結果をプロパティセットに書き込むことができることを意味する。 この種のパスでは、DAGの変更は許されない。
is_transformation_pass
パスが変形パスかどうかをチェックする。
パスが TransformationPass, の場合、そのパスはDAGを操作することはできるが、プロパティセットを変更することはできない(ただし、読み取ることはできる)ことを意味する。
方法
execute
execute(passmanager_ir, state, callback=None)
入力Qiskit IRに対して最適化タスクを実行する。
パラメーター
- passmanager_ir (Any) – Qiskit IRを最適化する。
- state (PassManagerState) – パスマネージャー自身によるワークフロー実行に関連する状態。
- callback (Callable | None) – 最適化タスクの実行ごとに呼び出されるコールバック関数。
戻り値
Qiskit IRとワークフローの状態を最適化。
戻りの型
タプル [ Any, PassManagerState ]
name
run
update_status
update_status(state, run_state)
ワークフローのステータスを更新する。
パラメーター
- state (PassManagerState) – 更新するマネージャーの状態を渡す。
- run_state (RunState) – 現在のタスクの完了状況。
戻り値
パスマネージャーの状態を更新。
戻りの型