Job limits
When you send a job to an IBM® QPU, it is first sent to the job validation service. This service tries to ensure that the job will be able to run on the QPU so you don't have to wait for it to go through the queue and then have the job fail. These checks include enforcing the described limits.
Maximum executions
At most, 10 million executions are allowed. The number of executions is the number of circuits times the number of shots, where the circuits are those generated after PUB elements are broadcasted.
For example, if you have a PUB with one circuit, observables with shape (1, 6), and parameters with shape (4, 1), this would render circuits (or fewer, if some observables commute). If you requested 2,000 shots, then the total number of executions is .
Maximum number of single- and two-qubit gates per circuit
Certain primitive options increase the circuit size. The described limits are checked after the expected increase in circuit size. In particular, these options increase circuit size:
- Dynamical decoupling and twirling introduce additional single-qubit gates.
- Gate-folding ZNE introduces additional two-qubit gates. The number of two-qubit gates is multiplied by the sum of noise factors requested in gate-folding ZNE.
The maximum number of single qubit gates are as follows:
- 2.4 million RZ gates
- 1.6 million SX gates The maximum number of two-qubit gates per circuit is 400,000 for static circuits and 100,000 for dynamic circuits. This ensures that the job can be manipulated within the memory limits of the low-level software stack.