Skip to main content
IBM Quantum Platform

Limiti lavoro

Quando si invia un processo a una QPU IBM®, questo viene prima verificato per assicurarsi che possa essere eseguito sulla QPU, in modo da ridurre la probabilità che il processo fallisca dopo che l'utente ha atteso che superasse la coda. Tali controlli comprendono l'applicazione dei limiti descritti di seguito. Se questi limiti vengono superati, tale carico di lavoro non può essere gestito dallo stack software quantistico e solitamente fallirà.

Note
  • Alcune opzioni primitive aumentano le dimensioni del circuito. I limiti descritti vengono verificati dopo l' aumento previsto delle dimensioni del circuito. In particolare, queste opzioni aumentano le dimensioni del circuito:
  • I limiti riportati dai campi backend.configuration() max_shots e max_experiments non sono più rilevanti o applicati. Questi campi saranno rimossi nel prossimo futuro.
  • Questi limiti si riferiscono al lavoro, non al Primitive Unified Bloc ( PUB ).

Esecuzioni massime

A causa delle dimensioni dell'output, per i processi Sampler sono consentite al massimo 10 milioni di esecuzioni. Il numero di esecuzioni è pari al numero di giri moltiplicato per il numero di tiri, dove i giri sono quelli generati dopo la trasmissione degli elementi dell' PUB.

Ad esempio, se si dispone di un PUB con un circuito e parametri con forma (4, 1), questo renderà 4 circuiti. Se hai richiesto 2.000 scatti, il numero totale di esecuzioni è 4×2,000=8,0004 \times 2,000 = 8,000.

Si noti che se si abilita il Pauli-twirling nel proprio lavoro Sampler, il numero totale di scatti si basa sui valori num_randomizations shots_per_randomization e. Per ulteriori TwirlingOptions dettagli, consultare.


Numero massimo di istruzioni di basso livello per qubit

Il servizio consente fino a 26.8 milioni di istruzioni del sistema di controllo per qubit. Ciò garantisce che i circuiti utente rientrino nella memoria delle istruzioni del sistema di controllo. L'esempio seguente mostra come transpilare un circuito e contare quante istruzioni ci sono per ciascuna.

La tabella seguente descrive come il sistema traduce le istruzioni dei circuiti dell'architettura del set di istruzioni (ISA) in istruzioni di controllo del sistema durante il calcolo di questo limite.

Istruzione
Conteggio
rz1
delay1
sx2
x2
cx5
cz5
ecr5
measure10
reset17
init50
Note

Questa tabella rappresenta l'euristica utilizzata per la convalida e non riflette il numero esatto di istruzioni utilizzate per implementare un'operazione.

Esempio

Definisci i circuiti, transpile e ottieni un conteggio di quanti gate verranno eseguiti.

from qiskit import QuantumCircuit
from qiskit.transpiler import generate_preset_pass_manager
from qiskit_ibm_runtime import QiskitRuntimeService

num_qubits = 50
ghz = QuantumCircuit(num_qubits)
ghz.h(range(num_qubits))
ghz.cx(0, range(1, num_qubits))
op_counts = ghz.count_ops()

# Choose the least busy backend
service = QiskitRuntimeService()
backend = service.least_busy(operational=True, simulator=False)

pm = generate_preset_pass_manager(optimization_level=3, backend=backend)
transpiled_ghz = pm.run(ghz)
op_counts = transpiled_ghz.count_ops()

print(f"Post-Transpilation gates: {op_counts}")

Per maggiori dettagli, consulta Transpile contro backend personalizzati.


Numero massimo di porte a uno e due qubit per circuito

Il numero massimo di porte a singolo qubit è il seguente:

  • 30 milioni di cancelli RZ
  • 20 milioni di cancelli SX

Il numero massimo di porte a due qubit per circuito è di cinque milioni. Ciò garantisce che il lavoro possa essere manipolato entro i limiti di memoria dello stack software di basso livello.

Questa pagina è stata utile?
Segnala un bug, un errore di battitura o richiedi contenuti su GitHub.