Pular para o conteúdo principal
Este projeto está em fase beta. Encontrou um bug? Abra uma issue no GitHub. Tem uma pergunta ou ideia? Pergunte no Discussions — adoraríamos receber seu feedback!
Como está a qualidade da tradução nesta página?

Tempo máximo de execução para cargas de trabalho do IBM Quantum Compute Service

Para garantir a justiça, há um tempo máximo imposto pelo serviço que cada job pode ser executado. Se um job ultrapassar esse limite de tempo, ele será cancelado forçosamente e uma exceção RuntimeJobMaxTimeoutError será lançada. Você também pode definir um tempo máximo de execução nos seus jobs para ajudar a controlar os custos.

nota

A sessão ou o batch é encerrado imediatamente quando o limite de custo é atingido. Quaisquer jobs em execução nessa sessão ou batch continuarão até o fim, mas os jobs pendentes serão cancelados.

Definir um tempo máximo de execução​

O tempo máximo de execução de um job é o menor destes valores:

  • O valor definido para max_execution_time

  • O valor de timeout máximo do serviço (três horas)

O valor de max_execution_time é baseado no uso de QPU (apenas uso quântico), e não no tempo de relógio.

Defina o tempo máximo de execução (em segundos) nas opções do job, conforme mostrado no exemplo a seguir. Consulte os guias de opções do Estimator, Sampler ou Executor para obter informações sobre como configurar opções.

from qiskit_ibm_runtime import QiskitRuntimeService

# Legacy server-side primitive before qiskit-ibm-runtime 0.50.0
# from qiskit_ibm_runtime import Estimator

# Client-side primitive introduced in qiskit-ibm-runtime 0.50.0
from qiskit_ibm_runtime.executor_estimator import Estimator

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

estimator = Estimator(mode=backend)

estimator.options.max_execution_time = 2500

Você também pode descobrir quanto uso os jobs concluídos consumiram, retornando as métricas do job da seguinte forma:

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

Tempo máximo de execução imposto pelo serviço​

O serviço impõe um limite máximo de tempo de execução de três horas para garantir um uso justo do dispositivo. Se um max_execution_time também for especificado para o job, o menor dos dois valores é utilizado.

Por exemplo, se você especificar max_execution_time=5000 (aproximadamente 83 minutos), então o job é cancelado após aproximadamente 83 minutos, mesmo que o serviço pudesse permitir que ele fosse executado por três horas.

Tempo máximo de execução do batch​

Quando um batch é iniciado, ele recebe um valor máximo de tempo de vida (TTL máximo). Após esse TTL ser atingido, o batch é encerrado, os jobs que já estão em execução continuam sendo executados, e os jobs enfileirados que permanecem no batch são colocados em estado de falha.

Os batches também têm um valor de tempo de vida interativo (TTL interativo) entre jobs que não pode ser configurado. Se você não fechar explicitamente um batch, ele será desativado após o TTL interativo expirar e poderá ser reativado a qualquer momento até atingir seu TTL máximo.

Para instruções sobre como trabalhar com esses valores, consulte Executar jobs em um batch.

Tempo máximo de execução da sessão​

Quando uma sessão é iniciada, ela recebe um valor de TTL máximo que determina por quanto tempo a sessão pode ser executada. Após esse TTL ser atingido, a sessão é encerrada, os jobs que já estão em execução continuam sendo executados, e os jobs enfileirados que permanecem na sessão são colocados em estado de falha.

Há também um valor de TTL interativo que não pode ser configurado. Se nenhum job da sessão for enfileirado dentro dessa janela, a sessão será temporariamente desativada.

Para instruções sobre como trabalhar com esses valores, consulte Executar jobs em uma sessão.

Outras limitações​

No Open Plan (plano gratuito), você pode usar até 10 minutos em uma QPU por janela contínua de 28 dias. Você pode visualizar o uso de uma instância na página Instâncias.

Próximos passos​