Maximální doba provádění pro úlohy Qiskit Runtime
Aby byla zajištěna spravedlnost, existuje službou vypočítaná maximální doba, po kterou může každá úloha Qiskit Runtime běžet. Pokud úloha tento časový limit překročí, je násilně zrušena a je vyvolána výjimka RuntimeJobMaxTimeoutError. Na svých úlohách můžeš také nastavit maximální dobu provádění, aby sis pomohl/a kontrolovat náklady.
Session nebo batch je okamžitě ukončen, jakmile je dosaženo limitu nákladů.
Nastavení maximální doby provádění
Maximální doba provádění úlohy je menší z těchto hodnot:
- Hodnota nastavená pro
max_execution_time - Hodnota časového limitu úlohy určená službou
Hodnota max_execution_time je založena na kvantovém čase, nikoli na reálném čase. Kvantový čas je doba, po kterou je QPU věnováno zpracování tvé úlohy.
Nastav maximální dobu provádění (v sekundách) v možnostech úlohy, jak je znázorněno v následujícím příkladu. Informace o nastavení možností najdeš v části Specify 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
Můžeš také zjistit, kolik kvantového času dokončené úlohy využily, a to vrácením metrik úlohy následovně:
# Find quantum time used by the job
print(f"Quantum time used by job {job.job_id()} was {job.metrics()['usage']['quantum_seconds']} seconds")
Maximální doba provádění vypočítaná službou
Služba vypočítá vhodnou hodnotu časového limitu úlohy na základě vstupních obvodů a možností. Tento časový limit vypočítaný službou je omezen na 3 hodiny, aby bylo zajištěno spravedlivé využívání zařízení. Pokud je pro úlohu zadána také hodnota max_execution_time, použije se menší z obou hodnot.
Například pokud zadáš max_execution_time=5000 (přibližně 83 minut), ale služba určí, že provedení úlohy by nemělo trvat déle než 5 minut (300 sekund), pak je úloha zrušena po 5 minutách.
Maximální doba provádění batche
Při spuštění batche je mu přiřazena maximální hodnota doby životnosti (maximum TTL). Po dosažení tohoto TTL je batch ukončen, všechny již běžící úlohy pokračují v běhu a všechny úlohy ve frontě, které v batchi zbývají, jsou převedeny do stavu selhání.
Batche mají také hodnotu interaktivní doby životnosti (interactive TTL) mezi úlohami, kterou nelze konfigurovat. Pokud batch explicitně nezavřeš, je po vypršení interactive TTL deaktivován a může být kdykoli znovu aktivován, dokud nedosáhne svého maximálního TTL.
Pokyny pro práci s těmito hodnotami najdeš v části Run jobs in a batch.
Maximální doba provádění Session
Při spuštění Session je jí přiřazena maximální hodnota TTL, která určuje, jak dlouho může Session běžet. Po dosažení tohoto TTL je Session ukončena, všechny již běžící úlohy pokračují v běhu a všechny úlohy ve frontě, které v Session zbývají, jsou převedeny do stavu selhání.
Existuje také hodnota interactive TTL, kterou nelze konfigurovat. Pokud v daném časovém okně nejsou ve frontě žádné úlohy Session, Session je dočasně deaktivována.
Pokyny pro práci s těmito hodnotami najdeš v části Run jobs in a session.
Další omezení
- Vstupy úloh nesmí překročit velikost 50 MB.
- Uživatelé Open Plan mohou využít až 10 minut kvantového času za každé 28denní klouzavé období. Kvantový čas je doba, po kterou je QPU věnováno zpracování tvé úlohy. Využití instance si můžeš zobrazit na stránce Instances.
Další kroky
- Využití úloh.
- Projdi si tyto tipy: Minimalizace doby běhu úlohy.