เวลาดำเนินการสูงสุดสำหรับ workload ของ Qiskit Runtime
เพื่อความเป็นธรรม มีเวลาสูงสุดที่คำนวณโดย service สำหรับแต่ละ Qiskit Runtime job ที่สามารถรันได้ หาก job เกินขีดจำกัดเวลานี้ จะถูกยกเลิกโดยบังคับและ exception RuntimeJobMaxTimeoutError จะถูก raise นอกจากนี้ยังสามารถตั้งค่าเวลาดำเนินการสูงสุดบน job เพื่อช่วยควบคุมค่าใช้จ่าย
Session หรือ batch จะถูกยุติทันทีเมื่อถึงขีดจำกัดค่าใช้จ่าย
ตั้งค่าเวลาด ำเนินการสูงสุด
เวลาดำเนินการสูงสุดสำหรับ job คือค่าที่น้อยกว่าในบรรดา:
- ค่าที่ตั้งไว้สำหรับ
max_execution_time - ค่า timeout ของ job ที่กำหนดโดย service
ค่า max_execution_time อ้างอิงจาก quantum time ไม่ใช่เวลานาฬิกาบนผนัง Quantum time คือระยะเวลาที่ QPU ทุ่มเทในการประมวลผล job ของตัวเอง
ตั้งค่าเวลาดำเนินการสูงสุด (เป็นวินาที) บน job options ดังแสดงในตัวอย่างต่อไปนี้ ดู ระบุ options สำหรับข้อมูลเกี่ยวกับการตั้งค่า options
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
นอ กจากนี้ยังสามารถค้นหาว่า job ที่เสร็จสิ้นใช้ quantum time เท่าไรโดยการดึง job metrics ดังนี้:
# Find quantum time used by the job
print(f"Quantum time used by job {job.job_id()} was {job.metrics()['usage']['quantum_seconds']} seconds")