FAQs sobre modos de execução
O modo de teste local é compatível com a sintaxe dos diferentes modos de execução, mas como não há agendamento envolvido no teste local, os modos são ignorados.
O número de trabalhos executados em paralelo é baseado no grau de paralelismo configurado para o backend, que é cinco para a maioria dos backends atuais.
Consulte a seção Trabalhos com falha e cancelados na página Modos de execução.
Sessões
Se você estiver usando a classe
Sessionemqiskit-ibm-runtime:Session.close()significa que a sessão não aceita mais novos trabalhos, mas os trabalhos existentes são executados até a conclusão.Session.cancel()cancela todos os trabalhos de sessão pendentes.
Se você estiver usando a API REST diretamente:
PATCH /sessions/{id}comaccepting_jobs=Falsesignifica que a sessão não aceita mais novos trabalhos, mas os trabalhos existentes são executados até a conclusão.DELETE /sessions/{id}/closecancela todos os trabalhos de sessão pendentes.
Nº A calibração sob demanda não está disponível.
Sim. Isso reduz os custos indesejados se um usuário se esquecer de encerrar a sessão.
Não é possível alterar o valor TTL interativo. Você pode alterar o valor TTL máximo de uma sessão (consulte Especificar o comprimento da sessão ), mas ele deve ser menor que o máximo definido pelo sistema. Peça ao seu administrador para entrar em contato com o suporte IBM se precisar de um TTL interativo diferente ou de um TTL máximo do sistema.
IBM Quantum Network os membros ganham capacidade reservada em IBM Quantum® QPUs. O uso é deduzido dessa capacidade e as instâncias com menor capacidade têm maior tempo de fila.
Sim. Se você enviar vários trabalhos simultaneamente em uma sessão, esses trabalhos serão executados em paralelo.
Nº As sessões são executadas em modo dedicado, o que significa que o usuário tem acesso total ao backend. As sessões nunca são interrompidas por calibrações ou atualizações de software.
Sim. No modo de sessão, o uso é a hora do relógio de parede em que a QPU está comprometida com a sessão. Ele começa quando o primeiro trabalho da sessão é iniciado e termina quando a sessão fica inativa, é fechada ou quando o último trabalho é concluído, o que ocorrer por último. Portanto, o uso continua a se acumular após o término de uma sessão se a QPU ainda estiver executando um trabalho. Além disso, o tempo após a conclusão de um trabalho enquanto a QPU aguarda outro trabalho de sessão (o TTL interativo) conta como uso. É por isso que você deve garantir que a sessão seja fechada assim que terminar de enviar trabalhos para ela.
Lote
O número de trabalhos executados em paralelo é baseado no grau de paralelismo configurado para o backend, que é cinco para a maioria dos backends. No entanto, o número de trabalhos simultâneos em um lote ativo pode ser menor porque pode haver outros trabalhos já em execução quando o lote se torna ativo.
A principal diferença é a troca de tempo e custo:
Modo de lote:
- O tempo total de execução é menor porque o processamento clássico pode ser executado em paralelo.
- Há uma pequena sobrecarga na execução de cada tarefa, por isso acaba-se pagando um pouco mais pelas tarefas em lote do que quando todos os circuitos são executados em uma única tarefa.
- Como o modo em lote não lhe dá acesso exclusivo a um backend, os trabalhos dentro de um lote podem ser executados com trabalhos de outros usuários ou trabalhos de calibração.
- Se alguns trabalhos falharem, você ainda receberá os resultados dos trabalhos concluídos.
- Você pode tomar medidas no meio de uma carga de trabalho em lote com base nos resultados de trabalhos concluídos. Por exemplo, você pode cancelar o restante dos trabalhos se os resultados iniciais parecerem incorretos.
Modo de trabalho:
- É provável que o tempo total de execução seja maior porque não há paralelismo.
- Você não paga pela sobrecarga extra por trabalho associada às cargas de trabalho em lote.
- Todos os seus circuitos funcionarão juntos.
- Se esse único trabalho falhar, você não obterá resultados parciais.
- Seu trabalho poderá atingir o limite se contiver muitos circuitos ou se os circuitos forem muito grandes.
Em geral, se cada um de seus trabalhos consumir menos de um minuto de tempo de QPU, considere combiná-los em um trabalho maior (isso se aplica a todos os modos de execução).
Embora não haja limites para o número de trabalhos que você pode enviar em um lote, há um tempo máximo associado a um lote. Ou seja, quando o tempo do relógio de parede de um lote (que começa quando o primeiro trabalho do lote começa a ser executado) excede o tempo máximo definido pelo sistema, o lote não aceitará novos trabalhos e todos os trabalhos enfileirados, mas não em execução, serão cancelados. Além disso, há limites de uso que seus trabalhos podem consumir com base em seu plano. Para determinar o tempo máximo associado a um lote, use o método
batch.details()e procure o valormax_time.O grau de paralelismo configurado para um backend também é chamado de "faixas de execução". Se houver uma ou mais faixas de execução disponíveis e seus trabalhos em lote forem os próximos na fila para execução, o agendador iniciará trabalhos suficientes para preencher as faixas. Da mesma forma, se o seu lote não tiver trabalhos suficientes para preencher as faixas, o agendador iniciará os trabalhos de outros usuários.
Exemplo: O backend que você escolheu tem cinco pistas de execução e duas delas estão atualmente ocupadas por trabalhos de outros usuários. Seu lote de seis trabalhos é o próximo na fila para ser executado.
Como há três pistas disponíveis, o agendador inicia três de seus seis trabalhos em lote. Ele continua a iniciar trabalhos em seu lote à medida que os trabalhos terminam e as pistas de execução ficam disponíveis. Se uma pista ficar disponível e não houver mais trabalhos em seu lote, o agendador iniciará o próximo trabalho na fila.
Como as QPUs são recursos limitados e compartilhados, todos os trabalhos precisam esperar na fila. No entanto, quando o primeiro trabalho em seu lote começa a ser executado, todos os outros trabalhos desse lote essencialmente saltam para a frente da fila e são priorizados pelo agendador.
Sim. No entanto, há uma pequena sobrecarga associada a essa detecção automática, portanto, você deve sempre fechar o lote e a sessão.
Sim. As cargas de trabalho em lote podem ser interrompidas por calibrações ou atualizações de software.
Nº No modo em lote, somente o tempo gasto no hardware quântico conta como uso.