Zadání možností Executor
Verze balíčků
Kód na této stránce byl vyvinut s použitím následujících požadavků. Doporučujeme používat tyto nebo novější verze.
qiskit-ibm-runtime~=0.46.1
Pomocí možností si můžeš přizpůsobit primitiv Executor.
- Dostupné možnosti si můžeš zobrazit a aktualizovat hodnoty možností během inicializace primitivu nebo po ní.
- K aplikaci změn atributu
optionspoužij metoduupdate(). - Atribut
optionsje typ Pythondataclass. Pomocí vestavěné metodyasdictho můžeš převést na slovník.
Nastavení možností Executor
Pokud je možnost zadána jak během, tak i po inicializaci primitivu, použije se hodnota nastavená po inicializaci primitivu.
Inicializace primitivu
Při inicializaci Executor můžeš předat instanci třídy možností nebo slovník, načež Executor vytvoří kopii těchto možností. Změna původního slovníku nebo instance možností tedy neovlivní možnosti vlastněné primitivem.
Třída možností
Při vytváření instance třídy Executor můžeš předat instanci třídy možností. Tyto možnosti jsou pak aplikovány, když použiješ run() k provedení výpočtu. Možnosti zadej v tomto formátu: options.option.sub-option.sub-sub-option = choice. Například: options.environment.log_level = INFO.
Příklad:
# 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)
Slovník
Možnosti můžeš zadat jako slovník při inicializaci 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},
},
)
Dostupné možnosti
Následující tabulka dokumentuje možnosti z nejnovější verze qiskit-ibm-runtime. Starší verze možností najdeš v referenci API qiskit-ibm-runtime, kde si vybereš předchozí verzi.
environment
environment.job_tags
Seznam štítků.
Volby: None
Výchozí: None
environment.log_level
Volby: DEBUG, INFO, WARNING, ERROR, CRITICAL
Výchozí: WARNING
environment.private
Volby: True, False
Výchozí: False
environment.max_execution_time
Volby: Celé číslo sekund v rozsahu [1, 10800]
Výchozí: 10800 (3 hodiny)
execution
execution.init_qubits
Zda resetovat qubit do základního stavu pro každý snímek.
Volby: True, False
Výchozí: True
execution.rep_delay
Prodleva mezi měřením a následným kvantovým obvodem.
Volby: Hodnota v rozsahu dodaném backend.rep_delay_range
Výchozí: Dáno backend.default_rep_delay
execution.meas_type
Volby: classified, kerneled, avg_kerneled
Výchozí: classified
experimental
Experimentální možnosti, pokud jsou k dispozici.
Kompatibilita funkcí
Určité funkce běhového prostředí nelze v jedné úloze používat společně. Klikni na příslušnou záložku a zobrazí se seznam funkcí, které nejsou kompatibilní s vybranou funkcí:
- Dynamické obvody
- Dynamické odpřahování
- Frakcionální Gate
- ZNE skládáním Gate
- Twirling Gate
- PEA
- PEC
Nekompatibilní s:
- ZNE skládáním Gate
- PEA
- PEC
- Dynamickým odpřahováním
Další poznámky:
- Twirling Gate lze na dynamické obvody aplikovat, ale pouze na hradla, která nejsou uvnitř podmíněných bloků.
- Twirling měření lze aplikovat pouze na terminální měření.
- Twirling měření není kompatibilní s instrukcí
store. - Kompatibilní s frakcionálními Gate při použití
qiskit-ibm-runtimev0.42.0 nebo novějšího.
Nekompatibilní s dynamickými obvody.
Nekompatibilní s:
- Twirling Gate
- PEA
- PEC
Kompatibilní s dynamickými obvody při použití qiskit-ibm-runtime v0.42.0 nebo novějšího.
Nekompatibilní s:
- Dynamickými obvody
- PEA
- PEC
Nemusí fungovat při použití vlastních Gate.
Nekompatibilní s frakcionálními Gate nebo se stretchovaním.
Další poznámky:
- Twirling Gate lze na dynamické obvody aplikovat, ale pouze na hradla, která nejsou uvnitř podmíněných bloků. Twirling měření lze aplikovat pouze na terminální měření.
- Nefunguje s non-Cliffordovými propojovači.
Nekompatibilní s:
- Dynamickými obvody
- Frakcionálními Gate
- ZNE skládáním Gate
- PEC
Nekompatibilní s:
- Dynamickými obvody
- Frakcionálními Gate
- ZNE skládáním Gate
- PEA
Další kroky
- Projdi si dokumentaci API ExecutionOptionsV2.
- Projdi si dokumentaci API EnvironmentOptions.