Tentukan opsi Executor
Versi paket
Kode di halaman ini dikembangkan menggunakan persyaratan berikut. Kami menyarankan menggunakan versi ini atau yang lebih baru.
qiskit-ibm-runtime~=0.46.1
Kamu bisa menggunakan opsi untuk menyesuaikan primitif Executor.
- Kamu bisa melihat opsi yang tersedia dan memperbarui nilai opsi selama atau setelah inisialisasi primitif.
- Gunakan metode
update()untuk menerapkan perubahan pada atributoptions. - Atribut
optionsadalah tipe Pythondataclass. Kamu bisa menggunakan metode bawaanasdictuntuk mengubahnya menjadi dictionary.
Atur opsi Executor
Jika suatu opsi ditentukan baik saat maupun setelah inisialisasi primitif, nilai yang ditetapkan setelah menginisialisasi primitif yang digunakan.
Inisialisasi primitif
Kamu bisa meneruskan instansi kelas opsi atau dictionary saat menginisialisasi Executor, yang kemudian membuat salinan opsi tersebut. Jadi, mengubah dictionary atau instansi opsi asli tidak mempengaruhi opsi yang dimiliki primitif.
Kelas opsi
Saat membuat instansi kelas Executor, kamu bisa meneruskan instansi kelas opsi. Opsi tersebut kemudian diterapkan saat kamu menggunakan run() untuk melakukan perhitungan. Tentukan opsi dalam format ini: options.option.sub-option.sub-sub-option = choice. Misalnya: options.environment.log_level = INFO.
Contoh:
# 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)
Dictionary
Kamu bisa menentukan opsi sebagai dictionary saat menginisialisasi 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},
},
)
Opsi yang tersedia
Tabel berikut mendokumentasikan opsi dari versi terbaru qiskit-ibm-runtime. Untuk melihat versi opsi yang lebih lama, kunjungi referensi API qiskit-ibm-runtime dan pilih versi sebelumnya.
environment
environment.job_tags
Daftar tag.
Pilihan: None
Default: None
environment.log_level
Pilihan: DEBUG, INFO, WARNING, ERROR, CRITICAL
Default: WARNING
environment.private
Pilihan: True, False
Default: False
environment.max_execution_time
Pilihan: Bilangan bulat dalam satuan detik, rentang [1, 10800]
Default: 10800 (3 jam)
execution
execution.init_qubits
Apakah akan mereset qubit ke ground state untuk setiap shot.
Pilihan: True, False
Default: True
execution.rep_delay
Penundaan antara pengukuran dan quantum circuit berikutnya.
Pilihan: Nilai dalam rentang yang diberikan oleh backend.rep_delay_range
Default: Diberikan oleh backend.default_rep_delay
execution.meas_type
Pilihan: classified, kerneled, avg_kerneled
Default: classified
experimental
Opsi eksperimental, jika tersedia.
Kompatibilitas fitur
Fitur-fitur runtime tertentu tidak bisa digunakan bersama dalam satu job. Klik tab yang sesuai untuk melihat daftar fitur yang tidak kompatibel dengan fitur yang dipilih:
- Dynamic circuits
- Dynamical decoupling
- Fractional gates
- Gate-folding ZNE
- Gate twirling
- PEA
- PEC
Tidak kompatibel dengan:
- Gate-folding ZNE
- PEA
- PEC
- Dynamical decoupling
Catatan lain:
- Gate twirling bisa diterapkan pada dynamic circuit, tapi hanya pada gate yang tidak ada di dalam blok kondisional.
- Measurement twirling hanya bisa diterapkan pada pengukuran terminal.
- Measurement twirling tidak kompatibel dengan instruksi
store. - Kompatibel dengan fractional gates saat menggunakan
qiskit-ibm-runtimev0.42.0 atau lebih baru.
Tidak kompatibel dengan dynamic circuit.
Tidak kompatibel dengan:
- Gate twirling
- PEA
- PEC
Kompatibel dengan dynamic circuit saat menggunakan qiskit-ibm-runtime v0.42.0 atau lebih baru.
Tidak kompatibel dengan:
- Dynamic circuit
- PEA
- PEC
Mungkin tidak berfungsi saat menggunakan custom gate.
Tidak kompatibel dengan fractional gates atau stretch.
Catatan lain:
- Gate twirling bisa diterapkan pada dynamic circuit, tapi hanya pada gate yang tidak ada di dalam blok kondisional. Measurement twirling hanya bisa diterapkan pada pengukuran terminal.
- Tidak berfungsi dengan entangler non-Clifford.
Tidak kompatibel dengan:
- Dynamic circuit
- Fractional gates
- Gate-folding ZNE
- PEC
Tidak kompatibel dengan:
- Dynamic circuit
- Fractional gates
- Gate-folding ZNE
- PEA
Langkah selanjutnya
- Tinjau dokumentasi API ExecutionOptionsV2.
- Tinjau dokumentasi API EnvironmentOptions.