Maksymalny czas wykonania zadań Qiskit Runtime
Aby zapewnić sprawiedliwy dostęp, istnieje obliczany przez usługę maksymalny czas działania każdego zadania Qiskit Runtime. Jeśli zadanie przekroczy ten limit czasu, zostaje przymusowo anulowane i zgłaszany jest wyjątek RuntimeJobMaxTimeoutError. Możesz również ustawić maksymalny czas wykonania swoich zadań, aby lepiej kontrolować koszty.
Sesja lub batch jest natychmiast kończona po osiągnięciu limitu kosztów.
Ustawianie maksymalnego czasu wykonania
Maksymalny czas wykonania zadania to mniejsza z poniższych wartości:
- Wartość ustawiona dla
max_execution_time - Wartość limitu czasu zadania określona przez usługę
Wartość max_execution_time opiera się na czasie kwantowym, a nie na czasie zegarowym. Czas kwantowy to czas, przez który QPU jest dedykowany do przetwarzania twojego zadania.
Ustaw maksymalny czas wykonania (w sekundach) w opcjach zadania, jak pokazano w poniższym przykładzie. Aby uzyskać informacje o ustawianiu opcji, zapoznaj się z artykułem 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
Możesz również sprawdzić, ile czasu kwantowego zostało wykorzystane przez ukończone zadania, zwracając metryki zadania w następujący sposób:
# Find quantum time used by the job
print(f"Quantum time used by job {job.job_id()} was {job.metrics()['usage']['quantum_seconds']} seconds")
Maksymalny czas wykonania obliczany przez usługę
Usługa oblicza odpowiednią wartość limitu czasu zadania na podstawie podanych Circuit i opcji. Ten obliczony przez usługę limit czasu jest ograniczony do 3 godzin, aby zapewnić sprawiedliwe korzystanie z urządzenia. Jeśli dla zadania podano również max_execution_time, używana jest mniejsza z dwóch wartości.
Na przykład, jeśli ustawisz max_execution_time=5000 (około 83 minut), ale usługa uzna, że wykonanie zadania nie powinno zająć więcej niż 5 minut (300 sekund), zadanie zostanie anulowane po 5 minutach.
Maksymalny czas wykonania dla batch
Gdy batch jest uruchamiany, przypisywana mu jest maksymalna wartość czasu życia (maksymalne TTL). Po osiągnięciu tego TTL batch jest kończony, wszystkie już uruchomione zadania kontynuują działanie, a pozostałe zadania w kolejce w danym batchu przechodzą w stan błędu.
Batche mają również wartość interaktywnego czasu życia (interaktywne TTL) między zadaniami, której nie można konfigurować. Jeśli nie zamkniesz batcha jawnie, zostanie on dezaktywowany po wygaśnięciu interaktywnego TTL i może zostać ponownie aktywowany w dowolnym momencie, dopóki nie osiągnie swojego maksymalnego TTL.
Instrukcje dotyczące pracy z tymi wartościami znajdziesz w artykule Run jobs in a batch.
Maksymalny czas wykonania dla Session
Gdy Session jest uruchamiana, przypisywana jej jest maksymalna wartość TTL, która określa, jak długo Session może działać. Po osiągnięciu tego TTL Session jest kończona, wszystkie już uruchomione zadania kontynuują działanie, a pozostałe zadania w kolejce w danej Session przechodzą w stan błędu.
Istnieje również wartość interaktywnego TTL, której nie można konfigurować. Jeśli w tym oknie czasowym nie zostaną dodane do kolejki żadne zadania Session, Session zostaje tymczasowo dezaktywowana.
Instrukcje dotyczące pracy z tymi wartościami znajdziesz w artykule Run jobs in a session.
Inne ograniczenia
- Dane wejściowe do zadań nie mogą przekraczać 50 MB.
- Użytkownicy planu Open mogą korzystać z maksymalnie 10 minut czasu kwantowego w każdym 28-dniowym oknie kroczącym. Czas kwantowy to czas, przez który QPU jest dedykowany do przetwarzania twojego zadania. Wykorzystanie instancji możesz sprawdzić na stronie Instances.
Następne kroki
- Workload usage.
- Zapoznaj się z tymi wskazówkami: Minimize job run time.