Skip to main content
IBM Quantum Platform

Límites de trabajo

Cuando envías un trabajo a una QPU de IBM®, primero se valida para garantizar que pueda ejecutarse en la QPU, con el fin de reducir la probabilidad de que el trabajo falle después de haber esperado a que pase por la cola. Estas comprobaciones incluyen la aplicación de los límites que se describen a continuación. Si se superan estos límites, la pila de software cuántico no podrá gestionar esa carga de trabajo y, por lo general, se producirá un error.

Notas
  • Algunas opciones primitivas aumentan el tamaño del circuito. Los límites descritos se comprueban tras el aumento previsto del tamaño del circuito. En concreto, estas opciones aumentan el tamaño del circuito:
  • Los límites notificados por los campos backend.configuration() max_shots y max_experiments ya no son relevantes ni se aplican. Estos campos se eliminarán en un futuro próximo.
  • Estos límites son por trabajo, no por PUB (Bloque Primitivo Unificado).

Ejecuciones máximas

Como máximo, se permiten 10 millones de ejecuciones para los trabajos de Sampler debido al tamaño de la salida. El número de ejecuciones es el producto del número de circuitos por el número de disparos, siendo los circuitos aquellos que se generan tras la emisión de los elementos de un PUB.

Por ejemplo, si tienes un PUB con un circuito y parámetros con forma (4, 1), esto renderizaría 4 circuitos. Si has solicitado 2000 disparos, entonces el número total de ejecuciones es 4×2,000=8,0004 \times 2,000 = 8,000.

Tenga en cuenta que si habilita Pauli-twirling en su trabajo de Sampler, el número total de disparos se basa en los num_randomizations valores shots_per_randomization y. Para más TwirlingOptions detalles, consulte.


Número máximo de instrucciones de bajo nivel por qubit

El servicio permite hasta 26.8 millones de instrucciones del sistema de control por qubit. Esto garantiza que los circuitos de usuario encajen en la memoria de instrucciones del sistema de control. El siguiente ejemplo muestra cómo transpilear un circuito y contar cuántas instrucciones hay de cada tipo.

La siguiente tabla describe cómo el sistema traduce las instrucciones del circuito de la arquitectura del conjunto de instrucciones (ISA) a instrucciones del sistema de control al calcular este límite.

Instrucción
Recuento
rz1
delay1
sx2
x2
cx5
cz5
ecr5
measure10
reset17
init50
Note

Esta tabla recoge la heurística utilizada en la validación y no refleja el número exacto de instrucciones utilizadas para implementar una operación.

Ejemplo

Defina los circuitos, transpílelos y obtenga un recuento de cuántas puertas se ejecutarán.

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}")

Para obtener más información, consulta Transpile contra backends personalizados.


Número máximo de puertas de uno y dos qubits por circuito

El número máximo de puertas de un solo qubit es el siguiente:

  • 30 millones de puertas RZ
  • 20 millones de puertas SX

El número máximo de puertas de dos qubits por circuito es de cinco millones. Esto garantiza que el trabajo pueda manipularse dentro de los límites de memoria de la pila de software de bajo nivel.

¿Le ha resultado útil esta página?
Informe de un error, de una errata o solicite contenido en GitHub.