Lewati ke konten utama

FAQ mode eksekusi

Apakah mode pengujian lokal Qiskit Runtime mendukung berbagai mode eksekusi?

Mode pengujian lokal mendukung sintaks untuk berbagai mode eksekusi, tetapi karena tidak ada penjadwalan saat pengujian lokal, mode-mode tersebut diabaikan.

Berapa banyak job yang bisa berjalan secara paralel untuk Backend tertentu?

Jumlah job yang berjalan secara paralel didasarkan pada tingkat paralelisme yang dikonfigurasi untuk Backend, yaitu lima untuk sebagian besar Backend saat ini.

Bagaimana penggunaan dilaporkan untuk job yang gagal atau dibatalkan?

Lihat bagian Job yang gagal dan dibatalkan di halaman Mode eksekusi.

Session

Apa yang terjadi pada job saya jika Session ditutup?

Jika Anda menggunakan kelas Session di qiskit-ibm-runtime:

  • Session.close() berarti Session tidak lagi menerima job baru, tetapi job yang sudah ada tetap berjalan hingga selesai.
  • Session.cancel() membatalkan semua job Session yang masih tertunda.

Jika Anda menggunakan REST API secara langsung:

  • PATCH /sessions/{id} dengan accepting_jobs=False berarti Session tidak lagi menerima job baru, tetapi job yang sudah ada tetap berjalan hingga selesai.
  • DELETE /sessions/{id}/close membatalkan semua job Session yang masih tertunda.
Jika saya menggunakan mode Session dan memperkirakan eksperimen saya akan memakan waktu berjam-jam, apakah ada cara untuk meminta kalibrasi dilakukan?

Tidak. Kalibrasi sesuai permintaan tidak tersedia.

Apakah ada batas waktu interaktif (interactive TTL) dengan mode Session?

Ya. Ini mengurangi biaya yang tidak diinginkan jika pengguna lupa menutup Session mereka.

Bisakah saya mengubah interactive TTL atau TTL maksimum dari sebuah Session?

Anda tidak bisa mengubah nilai interactive TTL. Anda bisa mengubah nilai TTL maksimum dari sebuah Session (lihat Tentukan panjang Session), tetapi nilainya harus kurang dari maksimum yang ditentukan sistem. Minta administratormu untuk menghubungi dukungan IBM jika Anda membutuhkan interactive TTL atau TTL maksimum sistem yang berbeda.

Bagaimana penggunaan Session memengaruhi anggota IBM Quantum Network yang tidak ditagih berdasarkan penggunaan?

Anggota IBM Quantum Network mendapatkan kapasitas yang dipesan di QPU IBM Quantum®. Penggunaan dikurangkan dari kapasitas ini dan instance dengan kapasitas lebih rendah memiliki waktu antrian yang lebih lama.

Apakah saya mendapatkan paralelisme yang sama dalam mode Session seperti yang saya dapatkan dengan mode batch?

Ya. Jika Anda mengirimkan beberapa job secara bersamaan dalam sebuah Session, job-job tersebut akan berjalan secara paralel.

Bisakah Session terganggu oleh peningkatan atau kalibrasi QPU?

Tidak. Session berjalan dalam mode khusus, yang berarti pengguna memiliki akses penuh ke Backend. Session tidak pernah terganggu oleh kalibrasi atau peningkatan perangkat lunak.

Apakah waktu kompilasi dihitung sebagai penggunaan dalam mode Session?

Ya. Dalam mode Session, penggunaan adalah waktu jam dinding ketika QPU berkomitmen ke Session. Waktu mulai dihitung saat job Session pertama dimulai dan berakhir saat Session menjadi tidak aktif, ditutup, atau saat job terakhir selesai, mana pun yang terjadi terakhir. Oleh karena itu, penggunaan terus bertambah setelah Session berakhir jika QPU masih menjalankan sebuah job. Selain itu, waktu setelah job selesai sementara QPU menunggu job Session lain (interactive TTL) dihitung sebagai penggunaan. Itulah mengapa Anda harus memastikan Session ditutup segera setelah Anda selesai mengirimkan job ke dalamnya.

Batch

Berapa banyak job yang berjalan secara paralel dalam mode batch?

Jumlah job yang berjalan secara paralel didasarkan pada tingkat paralelisme yang dikonfigurasi untuk Backend, yaitu lima untuk sebagian besar Backend. Namun, jumlah job bersamaan dalam batch yang aktif bisa lebih rendah karena mungkin ada job lain yang sudah berjalan saat batch menjadi aktif.

Apa bedanya menjalankan _N_ PUB dalam mode job dengan menjalankan _N_ job ber-PUB-tunggal dalam mode batch?

Perbedaan utamanya adalah pada pertukaran waktu dan biaya:

Mode batch:

  • Total waktu berjalan lebih singkat karena pemrosesan klasik mungkin berjalan secara paralel.
  • Ada sedikit overhead untuk menjalankan setiap job, sehingga Anda membayar sedikit lebih banyak untuk job yang di-batch dibandingkan saat semua Circuit dijalankan dalam satu job.
  • Karena mode batch tidak memberi Anda akses eksklusif ke Backend, job di dalam batch mungkin berjalan bersamaan dengan job pengguna lain atau job kalibrasi.
  • Jika beberapa job gagal, Anda tetap mendapatkan hasil dari job yang berhasil.
  • Anda bisa mengambil tindakan di tengah-tengah beban kerja batch berdasarkan hasil job yang sudah selesai. Misalnya, Anda bisa membatalkan sisa job jika hasil awal terlihat tidak benar.

Mode job:

  • Total waktu berjalan kemungkinan lebih tinggi karena tidak ada paralelisme.
  • Anda tidak membayar overhead per-job ekstra yang terkait dengan beban kerja batch.
  • Semua Circuit Anda akan berjalan bersama.
  • Jika satu job ini gagal, Anda tidak mendapatkan hasil parsial.
  • Job Anda mungkin mencapai batas jika berisi terlalu banyak Circuit atau jika Circuit terlalu besar.

Secara umum, jika setiap job Anda mengonsumsi kurang dari satu menit waktu QPU, pertimbangkan untuk menggabungkannya menjadi satu job yang lebih besar (ini berlaku untuk semua mode eksekusi).

Berapa banyak job yang bisa saya kirimkan dalam sebuah batch?

Meskipun tidak ada batasan jumlah job yang bisa Anda kirimkan dalam sebuah batch, ada waktu maksimum yang terkait dengan sebuah batch. Artinya, ketika waktu jam dinding batch (yang dimulai saat job batch pertama mulai berjalan) melebihi waktu maksimum yang ditentukan sistem, batch tidak akan menerima job baru, dan job yang sudah antre tetapi belum berjalan akan dibatalkan. Selain itu, ada batasan seberapa banyak penggunaan yang bisa dikonsumsi job Anda berdasarkan paket Anda. Untuk menentukan waktu maksimum yang terkait dengan sebuah batch, gunakan metode batch.details() dan cari nilai max_time.

Kapan job mode batch saya berjalan paralel dengan job pengguna lain?

Tingkat paralelisme yang dikonfigurasi untuk sebuah Backend juga disebut "execution lanes". Jika ada satu atau lebih execution lanes yang tersedia, dan job batch Anda berikutnya dalam antrian, scheduler memulai cukup banyak job untuk mengisi lanes tersebut. Demikian pula, jika batch Anda tidak memiliki cukup job untuk mengisi lanes, scheduler memulai job pengguna lain.

Contoh: Backend yang Anda pilih memiliki lima execution lanes, dan dua di antaranya sedang digunakan oleh job pengguna lain. Batch Anda yang berisi enam job berikutnya dalam antrian.

Karena ada tiga lanes yang tersedia, scheduler memulai tiga dari enam job batch Anda. Scheduler terus memulai job dalam batch Anda saat job selesai dan execution lanes menjadi tersedia. Jika sebuah lane menjadi tersedia dan tidak ada lagi job dalam batch Anda, scheduler memulai job berikutnya dalam antrian.

Apakah semua job batch saya harus menunggu dalam antrian?

Karena QPU adalah sumber daya yang terbatas dan bersama, semua job harus menunggu dalam antrian. Namun, ketika job pertama dalam batch Anda mulai berjalan, semua job lain dalam batch tersebut pada dasarnya langsung melompat ke bagian depan antrian dan diprioritaskan oleh scheduler.

Apakah sebuah batch berakhir secara otomatis saat job terakhir yang terkait selesai?

Ya. Namun, ada sedikit overhead yang terkait dengan deteksi otomatis ini, jadi Anda harus selalu menutup batch dan Session Anda.

Bisakah batch terganggu oleh kalibrasi atau peningkatan perangkat lunak

Ya. Beban kerja batch mungkin terganggu oleh kalibrasi atau peningkatan perangkat lunak.

Apakah waktu kompilasi dihitung sebagai penggunaan dalam mode batch?

Tidak. Dalam mode batch, hanya waktu yang dihabiskan di perangkat keras kuantum yang dihitung sebagai penggunaan.