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.
- Du kannst die verfügbaren Optionen einsehen und Optionswerte während oder nach der Initialisierung des Primitivs aktualisieren.
- Verwende die Methode
update(), um Änderungen amoptions-Attribut anzuwenden. - Das
options-Attribut ist der Python-Typdataclass. Du kannst die eingebaute Methodeasdictverwenden, 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.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.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:
- Dynamische Circuits
- Dynamical Decoupling
- Fraktionale Gates
- Gate-Folding ZNE
- Gate-Twirling
- PEA
- PEC
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-runtimev0.42.0 oder höher.
Nicht kompatibel mit dynamischen Circuits.
Nicht kompatibel mit:
- Gate-Twirling
- PEA
- PEC
Kompatibel mit dynamischen Circuits bei Verwendung von qiskit-ibm-runtime v0.42.0 oder höher.
Nicht kompatibel mit:
- Dynamischen Circuits
- PEA
- PEC
Funktioniert möglicherweise nicht mit benutzerdefinierten Gates.
Nicht kompatibel mit fraktionalen Gates oder Stretches.
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.
- Funktioniert nicht mit Nicht-Clifford-Entanglern.
Nicht kompatibel mit:
- Dynamischen Circuits
- Fraktionalen Gates
- Gate-Folding ZNE
- PEC
Nicht kompatibel mit:
- Dynamischen Circuits
- Fraktionalen Gates
- Gate-Folding ZNE
- PEA
Nächste Schritte
- Lies die ExecutionOptionsV2-API-Dokumentation.
- Lies die EnvironmentOptions-API-Dokumentation.