Aller au contenu principal

Spécifier les options Executor

Versions des packages

Le code sur cette page a été développé en utilisant les exigences suivantes. Nous recommandons d'utiliser ces versions ou des versions plus récentes.

qiskit-ibm-runtime~=0.46.1

Tu peux utiliser des options pour personnaliser la primitive Executor.

Notes
  • Tu peux voir les options disponibles et mettre à jour les valeurs des options pendant ou après l'initialisation de la primitive.
  • Utilise la méthode update() pour appliquer des modifications à l'attribut options.
  • L'attribut options est le type Python dataclass. Tu peux utiliser la méthode intégrée asdict pour le convertir en dictionnaire.

Définir les options Executor

Si une option est spécifiée à la fois pendant et après l'initialisation de la primitive, la valeur définie après l'initialisation de la primitive est utilisée.

Initialisation de la primitive

Tu peux passer une instance de la classe d'options ou un dictionnaire lors de l'initialisation d'Executor, qui fait ensuite une copie de ces options. Ainsi, la modification du dictionnaire original ou de l'instance d'options n'affecte pas les options appartenant à la primitive.

Classe d'options

Lors de la création d'une instance de la classe Executor, tu peux passer une instance de la classe d'options. Ces options sont ensuite appliquées lorsque tu utilises run() pour effectuer le calcul. Spécifie les options dans ce format : options.option.sous-option.sous-sous-option = choix. Par exemple : options.environment.log_level = INFO.

Exemple :

# 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)

Dictionnaire

Tu peux spécifier les options sous forme de dictionnaire lors de l'initialisation d'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},
},
)

Options disponibles

Le tableau suivant documente les options de la dernière version de qiskit-ibm-runtime. Pour voir les versions d'options plus anciennes, consulte la référence API qiskit-ibm-runtime et sélectionne une version précédente.

environment

Documentation API environment

environment.job_tags

Liste d'étiquettes.

Choix : None

Défaut : None

environment.log_level

Choix : DEBUG, INFO, WARNING, ERROR, CRITICAL

Défaut : WARNING

environment.private

Choix : True, False

Défaut : False

environment.max_execution_time

Choix : Nombre entier de secondes dans la plage [1, 10800]

Défaut : 10800 (3 heures)

execution

Documentation API execution

execution.init_qubits

Indique s'il faut réinitialiser les qubits à l'état fondamental pour chaque shot.

Choix : True, False

Défaut : True

execution.rep_delay

Le délai entre une mesure et le circuit quantique suivant.

Choix : Valeur dans la plage fournie par backend.rep_delay_range

Défaut : Donné par backend.default_rep_delay

execution.meas_type

Choix : classified, kerneled, avg_kerneled

Défaut : classified

experimental

Options expérimentales, lorsqu'elles sont disponibles.

Compatibilité des fonctionnalités

Certaines fonctionnalités d'exécution ne peuvent pas être utilisées ensemble dans un seul job. Clique sur l'onglet approprié pour obtenir une liste des fonctionnalités incompatibles avec la fonctionnalité sélectionnée :

Incompatible avec :

  • ZNE par repliement de gate
  • PEA
  • PEC
  • Découplage dynamique

Autres notes :

  • La torsion de gate peut être appliquée aux circuits dynamiques, mais uniquement aux gates qui ne se trouvent pas dans des blocs conditionnels.
  • La torsion de mesure ne peut être appliquée qu'aux mesures terminales.
  • La torsion de mesure est incompatible avec l'instruction store.
  • Compatible avec les gates fractionnaires lors de l'utilisation de qiskit-ibm-runtime v0.42.0 ou ultérieur.

Étapes suivantes

Recommandations