Specifică opțiunile Executor
Versiuni de pachete
Codul de pe această pagină a fost dezvoltat folosind următoarele cerințe. Recomandăm să folosești aceste versiuni sau mai noi.
qiskit-ibm-runtime~=0.46.1
Poți folosi opțiuni pentru a personaliza primitiva Executor.
- Poți vedea opțiunile disponibile și actualiza valorile opțiunilor în timpul sau după inițializarea primitivei.
- Folosește metoda
update()pentru a aplica modificări atributuluioptions. - Atributul
optionseste de tipul Pythondataclass. Poți folosi metoda built-inasdictpentru a-l converti într-un dicționar.
Setează opțiunile Executor
Dacă o opțiune este specificată atât în timpul, cât și după inițializarea primitivei, se folosește valoarea setată după inițializarea primitivei.
Inițializarea primitivei
Poți transmite o instanță a clasei de opțiuni sau un dicționar la inițializarea Executor, care face apoi o copie a acelor opțiuni. Astfel, modificarea dicționarului original sau a instanței de opțiuni nu afectează opțiunile deținute de primitivă.
Clasa Options
La crearea unei instanțe a clasei Executor, poți transmite o instanță a clasei de opțiuni. Acele opțiuni sunt apoi aplicate atunci când folosești run() pentru a efectua calculul. Specifică opțiunile în acest format: options.option.sub-option.sub-sub-option = alegere. De exemplu: options.environment.log_level = INFO.
Exemplu:
# 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)
Dicționar
Poți specifica opțiunile ca dicționar la inițializarea 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},
},
)
Opțiuni disponibile
Tabelul următor documentează opțiunile din cea mai recentă versiune a qiskit-ibm-runtime. Pentru a vedea versiuni mai vechi ale opțiunilor, vizitează referința API qiskit-ibm-runtime și selectează o versiune anterioară.
environment
environment.job_tags
Listă de etichete.
Valori posibile: None
Implicit: None
environment.log_level
Valori posibile: DEBUG, INFO, WARNING, ERROR, CRITICAL
Implicit: WARNING
environment.private
Valori posibile: True, False
Implicit: False
environment.max_execution_time
Valori posibile: Număr întreg de secunde în intervalul [1, 10800]
Implicit: 10800 (3 ore)
execution
execution.init_qubits
Dacă se resetează qubiții la starea fundamentală pentru fiecare shot.
Valori posibile: True, False
Implicit: True
execution.rep_delay
Întârzierea dintre o măsurătoare și circuitul cuantic ulterior.
Valori posibile: Valoare în intervalul furnizat de backend.rep_delay_range
Implicit: Dată de backend.default_rep_delay
execution.meas_type
Valori posibile: classified, kerneled, avg_kerneled
Implicit: classified
experimental
Opțiuni experimentale, când sunt disponibile.
Compatibilitate între funcționalități
Anumite funcționalități runtime nu pot fi folosite împreună într-un singur job. Apasă pe tab-ul corespunzător pentru o listă de funcționalități incompatibile cu funcționalitatea selectată:
- Circuite dinamice
- Dynamical decoupling
- Porți fracționare
- Gate-folding ZNE
- Gate twirling
- PEA
- PEC
Incompatibil cu:
- Gate-folding ZNE
- PEA
- PEC
- Dynamical decoupling
Alte note:
- Gate twirling poate fi aplicat circuitelor dinamice, dar numai porților care nu se află în blocuri condiționale.
- Measurement twirling poate fi aplicat numai măsurătorilor terminale.
- Measurement twirling este incompatibil cu instrucțiunea
store. - Compatibil cu porți fracționare când se folosește
qiskit-ibm-runtimev0.42.0 sau mai nou.
Incompatibil cu circuitele dinamice.
Incompatibil cu:
- Gate twirling
- PEA
- PEC
Compatibil cu circuitele dinamice când se folosește qiskit-ibm-runtime v0.42.0 sau mai nou.
Incompatibil cu:
- Circuite dinamice
- PEA
- PEC
Poate să nu funcționeze când se folosesc porți personalizate.
Incompatibil cu porțile fracționare sau cu extensiile (stretches).
Alte note:
- Gate twirling poate fi aplicat circuitelor dinamice, dar numai porților care nu se află în blocuri condiționale. Measurement twirling poate fi aplicat numai măsurătorilor terminale.
- Nu funcționează cu entangleri non-Clifford.
Incompatibil cu:
- Circuite dinamice
- Porți fracționare
- Gate-folding ZNE
- PEC
Incompatibil cu:
- Circuite dinamice
- Porți fracționare
- Gate-folding ZNE
- PEA
Pașii următori
- Consultă documentația API ExecutionOptionsV2.
- Consultă documentația API EnvironmentOptions.