Skip to main content
IBM Quantum Platform

IBM Quantum Compute Service のワークロードにおける最大実行時間

公平性を確保するため、各ジョブの実行時間には、 サービス側で設定された上限時間が設けられています。 ジョブがこの時間制限を超えた場合、そのジョブは強制的にキャンセルされ、例外 RuntimeJobMaxTimeoutError が発生します。 また、コスト管理の一環として、ジョブの実行上限時間を設定することもできます。

コスト上限に達すると、セッションまたはバッチは直ちに終了します。 そのセッションまたはバッチで現在実行中のジョブは最後まで実行されますが、保留中のジョブはすべてキャンセルされます。


最大実行時間を設定する

ジョブの最大実行時間は、これらの値のうち小さい方である:

  • に設定された値。 max_execution_time
  • このサービスの最大タイムアウト値(3時間)

この値 max_execution_time は、実時間ではなく、 QPUの使用率 (量子処理の使用率のみ)に基づいています。

次の例に示すように、ジョブオプションで最大実行時間(秒単位)を設定します。 オプションの設定方法については、『 Estimator オプションガイド』、『 Sampler オプションガイド 』、または 『Executor オプションガイド』を参照してください。

from qiskit_ibm_runtime import QiskitRuntimeService
from qiskit_ibm_runtime import EstimatorV2 as Estimator

service = QiskitRuntimeService()
backend = service.least_busy(operational=True, simulator=False)

estimator = Estimator(mode=backend)

estimator.options.max_execution_time = 2500

また、次のようにジョブのメトリクスを取得することで、完了したジョブがどれだけのリソースを消費したかを確認することもできます:

# Find QPU usage of a specific job
print(f"QPU usage of job {job.job_id()} was {job.metrics()['usage']['quantum_seconds']} seconds")

サービスによって強制される最大実行時間

本サービスでは、デバイスの公平な利用を確保するため、実行時間の最大制限を3時間に設定しています。 そのジョブに対して a も指定 max_execution_time されている場合は、2つの値のうち小さい方が使用されます。

たとえば、( max_execution_time=5000 約83分)と指定した場合、サービスでは3時間の実行が許可されているとしても、約83分後にジョブはキャンセルされます。


バッチ最大実行時間

バッチが開始されると、そのバッチには最大生存時間(最大TTL)値が割り当てられる。 このTTLに達すると、バッチは終了し、すでに実行中のジョブは実行を継続し、バッチに残っているキューに入れられたジョブは失敗状態になる。

バッチはまた、設定できないジョブ間のインタラクティブTTL(interactive time to live)値を持つ。 バッチを明示的に閉じない場合、そのバッチは対話的TTLの期限が切れると非アクティブになり、最大TTLに達するまでいつでも再アクティブにできる。

これらの値を操作する方法については、 「バッチでのジョブの実行」 を参照してください。


セッション最大実行時間

セッションが開始されると、セッションが実行できる時間を決定する最大TTL値が割り当てられる。 このTTLに達すると、セッションは終了し、すでに実行中のジョブは実行を継続し、セッションに残っているキューに入れられたジョブは失敗状態になる。

また、設定できないインタラクティブなTTL値もある。 そのウィンドウ内にセッション・ジョブがキューに入っていない場合、セッションは一時的に停止される。

これらの値を操作する方法については、 「セッションでジョブを実行する」 を参照してください。


その他の制限

「Open Plan」プランでは、28日間のローリング期間ごとに、1つのQPUにつき最大10分間利用できます。 インスタンスの使用状況は、 「インスタンス 」ページで確認できます。


次のステップ

推奨事項
このページは役に立ちましたか?
バグや誤字の報告、またはコンテンツの要求はGitHubで行ってください。