Vai al contenuto principale

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.

Note
  • 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'attributo options.
  • L'attributo options è il tipo Python dataclass. Puoi usare il metodo integrato asdict per 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:

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-runtime v0.42.0 o versioni successive.

Passi successivi

Raccomandazioni