Lumaktaw sa pangunahing nilalaman

Pumili ng tamang execution mode

Ang mga utility-scale na workload ay maaaring tumagal ng maraming oras, kaya mahalaga na ang parehong classical at quantum na resources ay naka-iskedyul nang mahusay para mapadali ang pagpapatakbo. Ang mga execution mode ay nagbibigay ng kakayahang mag-balance ng gastos at oras para magamit nang optimal ang mga resources para sa iyong mga workload. Maraming bagay ang dapat isaalang-alang kapag pumipili ng execution mode, tulad ng kabuuang oras ng pagpapatakbo (maximum time to live, o TTL) at oras sa pagitan ng mga job (interactive TTL).

Ang mga benepisyo ng bawat isa ay nakalista sa ibaba:

  • Batch
    • Ang buong batch ng mga job ay naka-iskedyul nang sabay-sabay at walang karagdagang oras ng pagpapila para sa bawat isa.
    • Ang classical computation ng mga job, tulad ng compilation, ay pinapatakbo nang sabay. Kaya ang pagpapatakbo ng maraming job sa isang batch ay mas mabilis kaysa sa paisa-isa.
    • Karaniwan ay minimal ang pagkaantala sa pagitan ng mga job, na nakakatulong na maiwasan ang drift.
    • Kung hahatiin mo ang iyong workload sa maraming job at patakbuhin sa batch mode, makakakuha ka ng mga resulta mula sa bawat indibidwal na job, na nagbibigay ng mas maraming flexibility. Halimbawa, kung hindi tugma ang mga resulta ng isang job sa iyong inaasahan, maaari mong kanselahin ang natitirang mga job. Gayundin, kung mabigo ang isang job, maaari mo itong ipadala muli sa halip na ulitin ang buong workload.
    • Sa pangkalahatan ay mas mura kaysa sa sessions.
  • Session
    • Lahat ng functionality mula sa batch mode (ngunit nangangailangan ng mas mataas na paggamit; tingnan ang Workload usage para sa mga detalye kung paano kinakalkula ang paggamit).
    • Nakalaan at eksklusibong access sa QPU sa panahon ng aktibong session window.
    • Kapaki-pakinabang para sa mga workload na hindi pa handa ang lahat ng input sa simula, para sa mga iterative na workload na nangangailangan ng classical post-processing bago mapatakbo ang susunod, at para sa mga eksperimento na kailangang mapatakbo nang magkakasabay.
  • Job
    • Pinakamadaling gamitin kapag nagpapatakbo ng maliliit na eksperimento.
    • Maaaring mapatakbo nang mas maaga kaysa sa batch mode.

Mga rekomendasyon at pinakamahusay na gawi​

Sa pangkalahatan, gamitin ang batch mode maliban kung mayroon kang mga workload na hindi pa handa ang lahat ng input sa simula.

  • Gamitin ang batch mode para sabay na magsumite ng maraming primitive job upang mapaikli ang oras ng pagproseso.

  • Gamitin ang session mode para sa mga iterative na workload, o kung kailangan mo ng eksklusibong access sa QPU.

  • Palaging gamitin ang job mode para magsumite ng isang primitive request.

  • Dahil ang mga session ay karaniwang mas mahal, inirerekomenda na gamitin ang batch kapag hindi mo kailangan ang mga karagdagang benepisyo ng sessions.

  • Ang mga gumagamit ng Open Plan ay hindi maaaring magsumite ng session jobs.

Para masiguro ang pinaka-mahusay na paggamit ng mga execution mode, inirerekomenda ang mga sumusunod na gawi:

  • May nakatakdang overhead na nauugnay sa pagpapatakbo ng isang job. Sa pangkalahatan, kung ang bawat job mo ay gumagamit ng wala pang isang minuto ng QPU time, isaalang-alang ang pagsasama ng ilang job sa isang mas malaking job (naaangkop ito sa lahat ng execution mode). Ang "QPU time" ay tumutukoy sa oras na ginagamit ng QPU complex para iproseso ang iyong job.

  • Kung ang bawat job mo ay gumagamit ng mahigit isang minuto ng QPU time, o kung hindi praktikal ang pagsasama ng mga job, maaari ka pa ring magpatakbo ng maraming job nang sabay-sabay. Ang bawat job ay dumadaan sa parehong classical at quantum processing. Habang isang job lang ang kayang iproseso ng QPU sa isang pagkakataon, hanggang limang classical job ang maaaring iproseso nang sabay. Magagamit mo ito sa pamamagitan ng pagsusumite ng maraming job sa batch o session execution mode.

Ang mga nabanggit ay pangkalahatang gabay lamang, at dapat mong i-tune ang iyong workload para mahanap ang pinakamainam na ratio, lalo na kapag gumagamit ng sessions. Halimbawa, kung gumagamit ka ng session para makakuha ng eksklusibong access sa isang backend, isaalang-alang ang paghahati ng malalaking job sa mas maliliit at patakbuhin nang sabay. Maaaring ito ay mas cost-effective dahil mababawasan nito ang wall-clock time.

Mga halimbawa​

Magpatakbo ng quantum variational algorithm​

Ang pagpapatakbo ng quantum variational algorithm ay karaniwang sumusunod sa daloy na ito:

  1. Ihanda ang ansatz.
  2. Suriin ang cost function sa isang QPU.
  3. Kunin ang resulta mula sa nakaraang hakbang at ipasa ito sa isang classical optimizer.
  4. I-adjust ang mga parameter ayon sa output ng (3), pagkatapos ay bumalik sa hakbang (2).

Sa kasong ito, kung gumagamit ka ng job o batch mode, ang bawat job na nabuo ng hakbang (2) ay kailangang bumalik sa pila. Lubos nitong pinapataas ang haba ng eksperimento (wall-clock time) dahil sa oras ng pagpapila. Maaari din itong magtagal bago mag-converge dahil sa device drift. Ibig sabihin, sa bawat iteration ay dapat kang makakuha ng mas magandang resulta, ngunit ang device drift ay maaaring gawing mas masama ang mga kasunod na resulta.

Bukod pa rito, kung gumagamit ka ng PEA o PEC, maaari kang matuto ng noise model nang isang beses at ilapat ito sa mga susunod na job kapag nagpapatakbo sa dedicated session. Karaniwan itong hindi gumagana sa batch o job mode dahil maaaring maging lipas na ang noise model bago pa makatapos ang susunod na job sa pila.

Ikumpara ang mga setting ng error mitigation​

Para ikumpara ang mga epekto ng mga available na paraan ng error mitigation, maaari mong sundin ang daloy na ito:

  1. Bumuo ng Circuit at observable.
  2. Magsumite ng mga primitive job na gumagamit ng iba't ibang kombinasyon ng mga error mitigation setting.
  3. I-plot ang mga resulta para masuri ang mga epekto ng iba't ibang setting.

Sa kasong ito, lahat ng mga job (na magkakaugnay ngunit independyente) ay available na sa simula. Kung gumagamit ka ng batch mode, isasabay-sabay ang iskedyul nito kaya isang beses ka lang maghihintay sa pila. Bukod pa rito, dahil ang layunin ay ikumpara ang mga epekto ng iba't ibang paraan ng error mitigation, makakatulong na mapatakbo ang mga ito nang magkakasabay. Kaya ang batch ay isang magandang pagpipilian. Maaari mong patakbuhin ang mga job na ito sa isang session, ngunit dahil ang mga session ay karaniwang mas mahal, inirerekomenda na gamitin ang batch kapag hindi mo kailangan ang karagdagang functionality na ibinibigay ng sessions.

Mga susunod na hakbang​