Pengenalan kepada mod pelaksanaan Qiskit Runtime
Apabila Qiskit Runtime diperkenalkan, pengguna hanya boleh melaksanakan litar sebagai job individu. Seiring dengan kemunculan pelbagai jenis beban kerja kuantum, keperluan untuk strategi penjadualan yang berbeza menjadi jelas. Mod pelaksanaan menentukan cara job anda dijadualkan, dan memilih mod pelaksanaan yang tepat membolehkan beban kerja anda berjalan dengan cekap dalam bajet anda. Terdapat tiga mod pelaksanaan: job, session, dan batch.
Mod jobβ
Satu permintaan primitif tunggal daripada estimator atau sampler yang dibuat tanpa pengurus konteks. Litar dan input dibungkus sebagai blok bersatu primitif (PUB) dan dihantar sebagai tugas pelaksanaan pada komputer kuantum. Untuk menjalankan dalam mod job, tentukan mode=backend semasa membuat instantiat sebuah primitif. Lihat Contoh primitif untuk penggunaan.
Mod batchβ
Pengurus berbilang job untuk menjalankan eksperimen yang terdiri daripada beban kerja berbilang job dengan cekap. Beban kerja ini terdiri daripada job yang boleh dilaksanakan secara bebas dan tidak mempunyai hubungan bersyarat antara satu sama lain. Dengan mod batch, pengguna menghantar semua job mereka sekaligus.
Sistem ini memparalelkan atau menguruskan benang langkah pra-pemprosesan (pengkomputeran klasik) setiap job primitif untuk membungkus pelaksanaan kuantum merentas job dengan lebih padat, kemudian menjalankan pelaksanaan kuantum setiap job secara berturutan pantas untuk menghasilkan keputusan yang paling cekap. Untuk butiran lanjut tentang pengurusan benang, lihat halaman FAQ mod pelaksanaan.
- Semasa pembatsan, job tidak dijamin untuk berjalan mengikut urutan penghantarannya. Juga, walaupun job batch anda akan berjalan sedekat mungkin antara satu sama lain, mereka tidak mendapat akses eksklusif kepada Backend. Oleh itu, job batch anda mungkin berjalan selari dengan job pengguna lain jika terdapat kapasiti pemprosesan yang mencukupi pada QPU. Selain itu, job penentukuran QPU boleh berjalan di antara job batch.
- Masa baris gilir tidak berkurang untuk job pertama yang dihantar dalam batch. Oleh itu, batch tidak memberikan sebarang faedah ketika menjalankan satu job sahaja.
Untuk menjalankan dalam mod batch, tentukan mode=batch semasa membuat instantiat sebuah primitif atau jalankan job dalam pengurus konteks batch. Lihat Jalankan job dalam batch untuk contoh.
Mod sessionβ
Tetingkap khusus untuk menjalankan beban kerja berbilang job. Semasa tetingkap ini, pengguna mempunyai akses eksklusif kepada sistem dan tiada job lain boleh berjalan β termasuk job penentukuran. Ini membolehkan pengguna bereksperimen dengan algoritma variasi dengan cara yang lebih boleh diramalkan dan malah menjalankan pelbagai eksperimen serentak, memanfaatkan keselarian dalam tindanan. Menggunakan session membantu mengelakkan kelewatan akibat baris gilir setiap job secara berasingan, yang amat berguna untuk tugas berulang yang memerlukan komunikasi kerap antara sumber klasik dan kuantum.
Untuk menjalankan dalam mod session, tentukan mode=session semasa membuat instantiat sebuah primitif, atau jalankan job dalam pengurus konteks session. Lihat Jalankan job dalam session untuk contoh.
- Masa baris gilir tidak berkurang untuk job pertama yang dihantar dalam session. Oleh itu, session tidak memberikan sebarang faedah ketika menjalankan satu job sahaja.
- Pengguna Open Plan tidak boleh menghantar job session.
Aliran kerja asasβ
Aliran kerja asas untuk batch dan session adalah serupa:
- Job pertama dalam batch atau session memasuki baris gilir biasa. Untuk batch, keseluruhan set job batch dijadualkan bersama.
- Apabila job pertama mula berjalan, pemasa masa hidup maksimum (TTL) bermula, dan tidak berhenti atau dijeda sehingga tamat.
- Pemasa TTL interaktif bermula selepas setiap job selesai. Jika tiada job beban kerja yang sedia dalam tetingkap TTL interaktif, beban kerja dinyahaktifkan sementara dan pemilihan job biasa disambung semula. Sebuah job boleh mengaktifkan semula beban kerja yang dinyahaktifkan jika batch atau session belum mencapai nilai TTL maksimumnya.
nota
Job tersebut perlu melalui baris gilir biasa untuk mengaktifkan semula beban kerja.
- Jika nilai TTL maksimum dicapai, beban kerja berakhir dan sebarang job yang masih dalam baris gilir akan gagal. Mana-mana job yang sedang berjalan tidak akan diselesaikan jika berbuat demikian akan melebihi had kos instans.
Video berikut menggambarkan aliran kerja asas, menggunakan session sebagai contoh:
Untuk butiran penuh tentang pemasa TTL, lihat panduan Masa pelaksanaan maksimum.