Aller au contenu principal

Spécifier les options Executor

Versions des packages

Le code de cette page a été développé avec les prérequis suivants. 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. Contrairement à Sampler et Estimator, Executor a très peu d'options car la majorité des intentions de conception est encodée dans le samplex.

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.

  • L'Executor ne peut traiter que les informations encodées dans des samplexes. Consulte les guides Samplomatic pour comprendre les restrictions.

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.sub-option.sub-sub-option = choice. 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.

Étapes suivantes​

Recommandations