Zum Hauptinhalt springen

Executor-Optionen festlegen

Paketversionen

Der Code auf dieser Seite wurde mit den folgenden Anforderungen entwickelt. Wir empfehlen, diese oder neuere Versionen zu verwenden.

qiskit-ibm-runtime~=0.46.1

Du kannst Optionen verwenden, um das Executor-Primitiv anzupassen.

Hinweise
  • Du kannst die verfügbaren Optionen einsehen und Optionswerte während oder nach der Initialisierung des Primitivs aktualisieren.
  • Verwende die Methode update(), um Änderungen am options-Attribut anzuwenden.
  • Das options-Attribut ist der Python-Typ dataclass. Du kannst die eingebaute Methode asdict verwenden, um es in ein Dictionary umzuwandeln.

Executor-Optionen festlegen

Wenn eine Option sowohl während als auch nach der Initialisierung des Primitivs angegeben wird, wird der Wert verwendet, der nach der Initialisierung gesetzt wurde.

Initialisierung des Primitivs

Du kannst beim Initialisieren des Executors eine Instanz der Optionsklasse oder ein Dictionary übergeben, das dann eine Kopie dieser Optionen erstellt. Daher hat die Änderung des ursprünglichen Dictionarys oder der Optionsinstanz keinen Einfluss auf die Optionen des Primitivs.

Optionsklasse

Beim Erstellen einer Instanz der Executor-Klasse kannst du eine Instanz der Optionsklasse übergeben. Diese Optionen werden dann angewendet, wenn du run() zur Durchführung der Berechnung verwendest. Gib die Optionen in diesem Format an: options.option.sub-option.sub-sub-option = choice. Zum Beispiel: options.environment.log_level = INFO.

Beispiel:

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

Dictionary

Du kannst Optionen als Dictionary angeben, wenn du den Executor initialisierst.

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},
},
)

Verfügbare Optionen

Die folgende Tabelle dokumentiert Optionen aus der neuesten Version von qiskit-ibm-runtime. Um ältere Optionsversionen anzusehen, besuche die qiskit-ibm-runtime-API-Referenz und wähle eine frühere Version.

environment

environment-API-Dokumentation

environment.job_tags

Liste von Tags.

Auswahlmöglichkeiten: None

Standard: None

environment.log_level

Auswahlmöglichkeiten: DEBUG, INFO, WARNING, ERROR, CRITICAL

Standard: WARNING

environment.private

Auswahlmöglichkeiten: True, False

Standard: False

environment.max_execution_time

Auswahlmöglichkeiten: Ganzzahl in Sekunden im Bereich [1, 10800]

Standard: 10800 (3 Stunden)

execution

execution-API-Dokumentation

execution.init_qubits

Ob die Qubits für jeden Shot in den Grundzustand zurückgesetzt werden sollen.

Auswahlmöglichkeiten: True, False

Standard: True

execution.rep_delay

Die Verzögerung zwischen einer Messung und dem nachfolgenden Quantum Circuit.

Auswahlmöglichkeiten: Wert im Bereich, der von backend.rep_delay_range angegeben wird

Standard: Durch backend.default_rep_delay vorgegeben

execution.meas_type

Auswahlmöglichkeiten: classified, kerneled, avg_kerneled

Standard: classified

experimental

Experimentelle Optionen, sofern verfügbar.

Feature-Kompatibilität

Bestimmte Runtime-Features können nicht zusammen in einem einzigen Job verwendet werden. Klicke auf den entsprechenden Tab für eine Liste der Features, die mit dem ausgewählten Feature nicht kompatibel sind:

Nicht kompatibel mit:

  • Gate-Folding ZNE
  • PEA
  • PEC
  • Dynamical Decoupling

Weitere Hinweise:

  • Gate-Twirling kann auf dynamische Circuits angewendet werden, jedoch nur auf Gates, die sich nicht in bedingten Blöcken befinden.
  • Measurement-Twirling kann nur auf abschließende Messungen angewendet werden.
  • Measurement-Twirling ist inkompatibel mit der store-Anweisung.
  • Kompatibel mit fraktionalen Gates bei Verwendung von qiskit-ibm-runtime v0.42.0 oder höher.

Nächste Schritte

Empfehlungen