Specifica le opzioni di Executor
Versioni dei pacchetti
Il codice in questa pagina è stato sviluppato con i seguenti requisiti. Ti consiglio di usare queste versioni o versioni più recenti.
qiskit-ibm-runtime~=0.46.1
Puoi usare le opzioni per personalizzare la primitiva Executor.
- Puoi vedere le opzioni disponibili e aggiornare i valori delle opzioni durante o dopo l'inizializzazione della primitiva.
- Usa il metodo
update()per applicare le modifiche all'attributooptions. - L'attributo
optionsè il tipo Pythondataclass. Puoi usare il metodo integratoasdictper convertirlo in un dizionario.
Imposta le opzioni di Executor
Se un'opzione è specificata sia durante che dopo l'inizializzazione della primitiva, viene usato il valore impostato dopo l'inizializzazione della primitiva.
Inizializzazione della primitiva
Puoi passare un'istanza della classe delle opzioni o un dizionario quando inizializzi Executor, che poi crea una copia di quelle opzioni. Quindi, modificare il dizionario originale o l'istanza delle opzioni non influisce sulle opzioni di proprietà della primitiva.
Classe delle opzioni
Quando si crea un'istanza della classe Executor, puoi passare un'istanza della classe delle opzioni. Tali opzioni vengono poi applicate quando usi run() per eseguire il calcolo. Specifica le opzioni in questo formato: options.option.sub-option.sub-sub-option = choice. Ad esempio: options.environment.log_level = INFO.
Esempio:
# 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)
Dizionario
Puoi specificare le opzioni come dizionario quando inizializzi 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},
},
)
Opzioni disponibili
La tabella seguente documenta le opzioni dell'ultima versione di qiskit-ibm-runtime. Per vedere versioni precedenti delle opzioni, visita il riferimento API di qiskit-ibm-runtime e seleziona una versione precedente.
environment
Documentazione API di environment
environment.job_tags
Elenco di tag.
Scelte: Nessuna
Predefinito: Nessuna
environment.log_level
Scelte: DEBUG, INFO, WARNING, ERROR, CRITICAL
Predefinito: WARNING
environment.private
Scelte: True, False
Predefinito: False
environment.max_execution_time
Scelte: Numero intero di secondi nell'intervallo [1, 10800]
Predefinito: 10800 (3 ore)
execution
Documentazione API di execution
execution.init_qubits
Se reimpostare i qubit allo stato fondamentale per ogni shot.
Scelte: True, False
Predefinito: True
execution.rep_delay
Il ritardo tra una misurazione e il circuito quantistico successivo.
Scelte: Valore nell'intervallo fornito da backend.rep_delay_range
Predefinito: Fornito da backend.default_rep_delay
execution.meas_type
Scelte: classified, kerneled, avg_kerneled
Predefinito: classified
experimental
Opzioni sperimentali, quando disponibili.
Compatibilità delle funzionalità
Alcune funzionalità di runtime non possono essere usate insieme in un singolo job. Fai clic sulla scheda appropriata per un elenco delle funzionalità incompatibili con la funzionalità selezionata:
- Circuit dinamici
- Decoupling dinamico
- Gate frazionari
- ZNE con gate-folding
- Twirling dei Gate
- PEA
- PEC
Incompatibile con:
- ZNE con gate-folding
- PEA
- PEC
- Decoupling dinamico
Altre note:
- Il twirling dei gate può essere applicato ai Circuit dinamici, ma solo ai gate non all'interno di blocchi condizionali.
- Il twirling delle misurazioni può essere applicato solo alle misurazioni terminali.
- Il twirling delle misurazioni è incompatibile con l'istruzione
store. - Compatibile con i gate frazionari quando si usa
qiskit-ibm-runtimev0.42.0 o versioni successive.
Incompatibile con i circuito dinamici.
Incompatibile con:
- Twirling dei gate
- PEA
- PEC
Compatibile con i circuito dinamici quando si usa qiskit-ibm-runtime v0.42.0 o versioni successive.
Incompatibile con:
- Circuit dinamici
- PEA
- PEC
Potrebbe non funzionare quando si usano gate personalizzati.
Incompatibile con i gate frazionari o con gli stretch.
Altre note:
- Il twirling dei gate può essere applicato ai Circuit dinamici, ma solo ai gate non all'interno di blocchi condizionali. Il twirling delle misurazioni può essere applicato solo alle misurazioni terminali.
- Non funziona con entangler non Clifford.
Incompatibile con:
- Circuit dinamici
- Gate frazionari
- ZNE con gate-folding
- PEC
Incompatibile con:
- Circuit dinamici
- Gate frazionari
- ZNE con gate-folding
- PEA
Passi successivi
- Consulta la documentazione API di ExecutionOptionsV2.
- Consulta la documentazione API di EnvironmentOptions.