Mga limitasyon ng job
Kapag nagpadala ka ng job sa IBM® QPU, unang ipinapadala ito sa serbisyo ng pag-validate ng job. Sinisikap ng serbisyong ito na matiyak na makakatakbo ang job sa QPU para hindi mo na kailangang maghintay sa queue at mabigo pa ang job. Kasama sa mga pagsusuring ito ang pagpapatupad ng mga limitasyong inilalarawan sa ibaba. Kung nalampasan ang mga limitasyong ito, hindi na kayang hawakan ng quantum software stack ang workload at karaniwang mabibigo ito.
- Ang ilang primitive na opsyon ay nagpapalaki ng circuit. Ang mga inilalarawang limitasyon ay sinusuri pagkatapos ng inaasahang paglaki ng circuit. Sa partikular, ang mga opsyong ito ay nagpapalaki ng circuit:
- Ang dynamical decoupling at gate-folding ZNE ay nagdaragdag ng karagdagang mga gate na kasama sa mga instruksyon para sa limitasyong Maximum na bilang ng low-level na instruksyon bawat qubit.
- Ang gate-folding ZNE ay nagdaragdag ng karagdagang two-qubit na mga gate na may kaugnayan sa limitasyong Maximum na bilang ng two-qubit na gate bawat job. Ang bilang ng two-qubit na mga gate ay pinarami ng kabuuan ng mga noise factor na hiniling sa gate-folding ZNE.
- Ang mga limitasyong iniuulat ng
backend.configuration()fields namax_shotsatmax_experimentsay hindi na relevant o ipinapatupad. Ang mga field na ito ay aalisin sa malapit na hinaharap. - Ang mga limitasyong ito ay bawat job, hindi bawat Primitive Unified Bloc (PUB).
Maximum na bilang ng executions​
Pinapayagan ang hanggang 10 milyong executions para sa mga Sampler job (ang mga Estimator job ay maaaring hatiin sa mas maliliit na sub-job, kaya hindi naaangkop ang limitasyong ito). Ang bilang ng executions ay ang bilang ng mga circuit na pinarami ng bilang ng mga shot, kung saan ang mga circuit ay ang mga nabuo pagkatapos ma-broadcast ang mga PUB element.
Halimbawa, kung mayroon kang PUB na may isang circuit at mga parameter na may shape na (4, 1), magreresulta ito sa 4 na circuit. Kung humiling ka ng 2,000 shots, ang kabuuang bilang ng executions ay .
Tandaan na kung pinagana mo ang Pauli-twirling sa iyong Sampler job, ang kabuuang bilang ng shots ay nakabatay sa mga value ng num_randomizations at shots_per_randomization. Tingnan ang TwirlingOptions para sa higit pang detalye.
Maximum na bilang ng low-level na instruksyon bawat qubit​
Pinapayagan ng serbisyo ang hanggang 26.8 milyong control-system na instruksyon bawat qubit. Tinitiyak nito na akma ang mga circuit ng user sa instruction memory ng control system. Ipinapakita ng halimbawa sa ibaba kung paano i-transpile ang isang circuit at bilangin kung gaano karami ang bawat instruksyon.
Inilalarawan ng sumusunod na talahanayan kung paano isinalin ng sistema ang mga instruksyon ng instruction set architecture (ISA) circuit sa mga control system na instruksyon kapag kinakalkula ang limitasyong ito.
| Instruksyon | Bilang |
|---|---|
rz | 1 |
delay | 1 |
sx | 2 |
x | 2 |
cx | 5 |
cz | 5 |
ecr | 5 |
measure | 10 |
reset | 17 |
init | 50 |
Kinukuha ng talahanayang ito ang heuristic na ginagamit sa pag-validate at hindi ito sumasalamin sa eksaktong bilang ng mga instruksyon na ginagamit para ipatupad ang isang operasyon.
Halimbawa​
I-define ang mga circuit, i-transpile ang mga ito, at kumuha ng bilang ng mga gate na itatakbo.
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 sa buong detalye, tingnan ang Transpile against custom backends.
Maximum na bilang ng single- at two-qubit na gate bawat circuit​
Ang maximum na bilang ng single-qubit na mga gate ay ang mga sumusunod:
- 30 milyong RZ gate
- 20 milyong SX gate
Ang maximum na bilang ng two-qubit na mga gate bawat circuit ay limang milyon. Tinitiyak nito na maaaring manipulahin ang job sa loob ng mga limitasyon ng memorya ng low-level software stack.