Executor オプションの指定
パッケージ・バージョン
このページのコードは、以下の要件を使用して開発されました。 これらのバージョン以降の使用をお勧めします。
qiskit-ibm-runtime~=0.46.1
オプションを使用して Executor プリミティブをカスタマイズできます。
- プリミティブの初期化中および初期化後に、利用可能なオプションを確認してオプション値を更新できます。
options属性に変更を適用するにはupdate()メソッドを使用します。options属性は Python のdataclass型です。組み込みのasdictメソッドを使用して辞書に変換できます。
Executor オプションの設定
オプションがプリミティブの初期化中と初期化後の両方で指定された場合、プリミティブの初期化後に設定された値が使用されます。
プリミティブの初期化
Executor の初期化時にオプション・クラスのインスタンスまたは辞書を渡すことができます。その後、プリミティブはこれらのオプションをコピーします。したがって、元の辞書またはオプション・インスタンスを変更しても、プリミティブが所有するオプションには影響しません。
オプション・クラス
Executor クラスのインスタンスを作成する際に、オプション・クラスのインスタンスを渡すことができます。これらのオプションは、run() を使用して計算を実行するときに適用されます。オプションは options.option.sub-option.sub-sub-option = choice の形式で指定します。例:options.environment.log_level = INFO。
例:
# Added by doQumentation — required packages for this notebook
!pip install -q qiskit-ibm-runtime
from qiskit_ibm_runtime import QiskitRuntimeService, Executor
from qiskit_ibm_runtime.options import ExecutorOptions
service = QiskitRuntimeService()
backend = service.least_busy(operational=True, simulator=False)
options = ExecutorOptions(
environment={"log_level": "INFO"},
execution={"init_qubits": True},
)
# or use the following instead:
options = ExecutorOptions()
options.environment.log_level = "INFO"
options.execution.init_qubits = True
executor = Executor(mode=backend, options=options)
辞書
Executor の初期化時にオプションを辞書として指定できます。
from qiskit_ibm_runtime import QiskitRuntimeService, Executor
service = QiskitRuntimeService()
backend = service.least_busy(operational=True, simulator=False)
# Setting options during primitive initialization
executor = Executor(
backend,
options={
"environment": {"log_level": "INFO"},
"execution": {"init_qubits": True},
},
)
利用可能なオプション
次の表は、最新バージョンの qiskit-ibm-runtime のオプションを文書化しています。古いオプション・バージョンを確認するには、qiskit-ibm-runtime API リファレンスにアクセスして以前のバージョンを選択してください。
environment
environment.job_tags
タグのリスト。
選択肢: None
デフォルト: None
environment.log_level
選択肢: DEBUG, INFO, WARNING, ERROR, CRITICAL
デフォルト: WARNING
environment.private
選択肢: True, False
デフォルト: False
environment.max_execution_time
選択肢: [1, 10800] の範囲の整数(秒数)
デフォルト: 10800(3 時間)
execution
execution.init_qubits
各ショットで Qubit を基底状態にリセットするかどうか。
選択肢: True, False
デフォルト: True
execution.rep_delay
測定と後続の量子回路の間の遅延。
選択肢: backend.rep_delay_range で指定された範囲内の値
デフォルト: backend.default_rep_delay で指定された値
execution.meas_type
選択肢: classified, kerneled, avg_kerneled
デフォルト: classified
experimental
実験的なオプション(利用可能な場合)。
機能互換性
特定のランタイム機能は、1 つのジョブで一緒に使用できません。選択した機能と互換性のない機能のリストについては、適切なタブをクリックしてください。
- 動的回路
- ダイナミカル・デカップリング
- 分数ゲート
- ゲート・フォールディング ZNE
- ゲート・ツワーリング
- PEA
- PEC
以下と互換性なし:
- ゲート・フォールディング ZNE
- PEA
- PEC
- ダイナミカル・デカップリング
その他の注意事項:
- ゲート・ツワーリングは動的回路に適用できますが、条件ブロック外のゲートのみです。
- 測定ツワーリングは最終測定のみに適用できます。
- 測定ツワーリングは
store命令と互換性がありません。 qiskit-ibm-runtimev0.42.0 以降を使用している場合、分数ゲートと互換性があります。
動的回路と互換性なし。
以下と互換性なし:
- ゲート・ツワーリング
- PEA
- PEC
qiskit-ibm-runtime v0.42.0 以降を使用している場合、動的回路と互換性があります。
以下と互換性なし:
- 動的回路
- PEA
- PEC
カスタム・ゲートを使用すると機能しない場合があります。
分数ゲートまたはストレッチとは互換性なし。
その他の注意事項:
- ゲート・ツワーリングは動的回路に適用できますが、条件ブロック外のゲートのみです。測定ツワーリングは最終測定のみに適用できます。
- 非 Clifford エンタングラーでは機能しません。
以下と互換性なし:
- 動的回路
- 分数ゲート
- ゲート・フォールディング ZNE
- PEC
以下と互換性なし:
- 動的回路
- 分数ゲート
- ゲート・フォールディング ZNE
- PEA
次のステップ
- ExecutionOptionsV2 API ドキュメントを確認します。
- EnvironmentOptions API ドキュメントを確認します。