Pular para o conteúdo principal

Especificar opções do Executor

Versões dos pacotes

O código desta página foi desenvolvido usando os seguintes requisitos. Recomendamos usar essas versões ou versões mais recentes.

qiskit-ibm-runtime~=0.46.1

Você pode usar opções para personalizar a primitiva Executor.

Notas
  • Você pode ver as opções disponíveis e atualizar os valores das opções durante ou após a inicialização da primitiva.
  • Use o método update() para aplicar alterações ao atributo options.
  • O atributo options é do tipo Python dataclass. Você pode usar o método integrado asdict para convertê-lo em um dicionário.

Definir opções do Executor

Se uma opção for especificada tanto durante quanto após a inicialização da primitiva, o valor definido após a inicialização da primitiva é usado.

Inicialização da primitiva

Você pode passar uma instância da classe de opções ou um dicionário ao inicializar o Executor, que então faz uma cópia dessas opções. Assim, alterar o dicionário original ou a instância de opções não afeta as opções de propriedade da primitiva.

Classe de opções

Ao criar uma instância da classe Executor, você pode passar uma instância da classe de opções. Essas opções são então aplicadas quando você usa run() para realizar o cálculo. Especifique as opções neste formato: options.option.sub-option.sub-sub-option = choice. Por exemplo: options.environment.log_level = INFO.

Exemplo:

# Added by doQumentation — required packages for this notebook
!pip install -q qiskit-ibm-runtime
from qiskit_ibm_runtime import QiskitRuntimeService, Executor
from qiskit_ibm_runtime.options import ExecutorOptions

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

options = ExecutorOptions(
environment={"log_level": "INFO"},
execution={"init_qubits": True},
)

# or use the following instead:

options = ExecutorOptions()
options.environment.log_level = "INFO"
options.execution.init_qubits = True

executor = Executor(mode=backend, options=options)

Dicionário

Você pode especificar opções como um dicionário ao inicializar o Executor.

from qiskit_ibm_runtime import QiskitRuntimeService, Executor

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

# Setting options during primitive initialization
executor = Executor(
backend,
options={
"environment": {"log_level": "INFO"},
"execution": {"init_qubits": True},
},
)

Opções disponíveis

A tabela a seguir documenta as opções da versão mais recente do qiskit-ibm-runtime. Para ver versões antigas de opções, visite a referência da API qiskit-ibm-runtime e selecione uma versão anterior.

environment

Documentação da API environment

environment.job_tags

Lista de tags.

Opções: Nenhuma

Padrão: Nenhum

environment.log_level

Opções: DEBUG, INFO, WARNING, ERROR, CRITICAL

Padrão: WARNING

environment.private

Opções: True, False

Padrão: False

environment.max_execution_time

Opções: Número inteiro de segundos no intervalo [1, 10800]

Padrão: 10800 (3 horas)

execution

Documentação da API execution

execution.init_qubits

Se os qubits devem ser redefinidos para o estado fundamental para cada shot.

Opções: True, False

Padrão: True

execution.rep_delay

O atraso entre uma medição e o circuito quântico subsequente.

Opções: Valor no intervalo fornecido por backend.rep_delay_range

Padrão: Fornecido por backend.default_rep_delay

execution.meas_type

Opções: classified, kerneled, avg_kerneled

Padrão: classified

experimental

Opções experimentais, quando disponíveis.

Compatibilidade de recursos

Certos recursos de runtime não podem ser usados juntos em um único job. Clique na aba apropriada para ver uma lista de recursos incompatíveis com o recurso selecionado:

Incompatível com:

  • ZNE de dobragem de gate
  • PEA
  • PEC
  • Desacoplamento dinâmico

Outras notas:

  • O twirling de gate pode ser aplicado a Circuits dinâmicos, mas apenas a gates fora de blocos condicionais.
  • O twirling de medição pode ser aplicado apenas a medições terminais.
  • O twirling de medição é incompatível com a instrução store.
  • Compatível com gates fracionários ao usar qiskit-ibm-runtime v0.42.0 ou posterior.

Próximos passos

Recomendações