Časté dotazy k režimům spouštění Qiskit Runtime
Podporuje lokální testovací režim Qiskit Runtime různé režimy spouštění?
Lokální testovací režim podporuje syntaxi různých režimů spouštění, ale protože při lokálním testování neprobíhá žádné plánování, jsou tyto režimy ignorovány.
Kolik úloh může pro konkrétní Backend běžet paralelně?
Počet paralelně spuštěných úloh závisí na stupni paralelismu nastaveném pro daný Backend, který je pro většinu Backendů v současnosti pět.
Jak se vykazuje využití u neúspěšných nebo zrušených úloh?
Viz sekci Neúspěšné a zrušené úlohy na stránce Režimy spouštění.
Sessions
Co se stane s mými úlohami, když je Session uzavřena?
Pokud používáš třídu Session v qiskit-ibm-runtime:
Session.close()znamená, že Session již nepřijímá nové úlohy, ale stávající úlohy doběhnou do konce.Session.cancel()zruší všechny čekající úlohy v Session.
Pokud používáš přímo REST API:
PATCH /sessions/{id}saccepting_jobs=Falseznamená, že Session již nepřijímá nové úlohy, ale stávající úlohy doběhnou do konce.DELETE /sessions/{id}/closezruší všechny čekající úlohy v Session.
Pokud používám režim Session a očekávám, že experiment bude trvat mnoho hodin, je možné vyžádat kalibraci?
Ne. Kalibrace na vyžádání není k dispozici.
Existuje v režimu Session interaktivní časový limit (interactive TTL)?
Ano. Ten omezuje nechtěné náklady v případě, že uživatel zapomene uzavřít svou Session.
Mohu změnit interaktivní TTL nebo maximální TTL Session?
Interaktivní TTL změnit nelze. Maximální TTL Session změnit lze (viz Zadání délky Session), musí však být nižší než systémem definované maximum. Pokud potřebuješ jiné interaktivní TTL nebo jiné systémové maximální TTL, požádej svého správce, aby kontaktoval podporu IBM.
Jak využití Session ovlivňuje členy IBM Quantum Network, kteří nejsou fakturováni podle využití?
Členové IBM Quantum Network získávají rezervovanou kapacitu na QPU IBM Quantum®. Využití se odečítá z této kapacity a instance s nižší kapacitou mají delší dobu čekání ve frontě.
Mám v režimu Session stejný paralelismus jako v dávkovém režimu?
Ano. Pokud v Session odešleš více úloh současně, tyto úlohy poběží paralelně.
Mohou být Session přerušeny upgrady QPU nebo kalibracemi?
Ne. Session běží v dedikovaném režimu, což znamená, že uživatel má úplný přístup k Backendu. Session nejsou nikdy přerušovány kalibracemi ani softwarovými upgrady.
Počítá se čas kompilace jako využití v režimu Session?
Ano. V režimu Session je využití čas nástěnných hodin, po který je QPU přiděleno Session. Za číná spuštěním první úlohy v Session a končí, když Session přejde do neaktivního stavu, je uzavřena, nebo když skončí poslední úloha – podle toho, co nastane jako poslední. Využití tedy nadále narůstá i po skončení Session, pokud QPU stále vykonává úlohu. Navíc čas po dokončení úlohy, během kterého QPU čeká na další úlohu v Session (interaktivní TTL), se počítá jako využití. Proto bys měl/a zajistit, aby byla Session uzavřena ihned po odeslání všech úloh.
Batch
Kolik úloh běží paralelně v dávkovém režimu?
Počet paralelně spuštěných úloh závisí na stupni paralelismu nastaveném pro daný Backend, který je pro většinu Backendů pět. Počet souběžně běžících úloh v aktivní dávce však může být nižší, protože v době aktivace dávky mohou již jiné úlohy běžet.
Čím se liší spuštění N PUBů v režimu jedné úlohy od spuštění N jednopubových úloh v dávkovém režimu?
Hlavní rozdíl spočívá v kompromisu mezi časem a náklady:
Dávkový režim:
- Celková doba běhu je kratší, protože klasické zpracování může probíhat paralelně.
- Za každou úlohu je mírná režie, takže za dávkové úlohy nakonec zaplatíš o něco více. Tato režie koreluje s velikostí úlohy. Například celkové využití dvou úloh, z nichž každá obsahuje 40 Circuitů 100x100, je o šest sekund více než u jedné úlohy obsahující 80 Circuitů.
- Protože dávkový režim ti neposkytuje výhradní přístup k Backendu, úlohy v dávce mohou běžet souběžně s úlohami ostatních uživatelů nebo kalibračními úlohami.
- Pokud některé úlohy selžou, stále získáš výsledky z dokončených úloh.
- Uprostřed dávkové zátěže můžeš podniknout kroky na základě výsledků dokončených úloh. Například můžeš zrušit zbývající úlohy, pokud vypadají počáteční výsledky chybně.
Režim jedné úlohy:
- Celková doba běhu bude pravděpodobně delší, protože neexistuje paralelismus.
- Neplatíš za dodatečnou režii za úlohu spojenou s dávkovými zátěžemi.
- Všechny tvé Circuit poběží dohromady.
- Pokud tato jediná úloha selže, nezískaš částečné výsledky.
- Tvá úloha může narazit na limit, pokud obsahuje příliš mnoho Circuitů nebo pokud jsou Circuit příliš velké.
Obecně platí, že pokud každá z tvých úloh spotřebuje méně než minutu času QPU, zvaž jejich sloučení do větší úlohy (to platí pro všechny režimy spouštění).
Kolik úloh mohu odeslat v jedné dávce?
Přestože neexistuje žádné omezení počtu úloh, které můžeš v dávce odeslat, dávka má maximální dobu trvání. To znamená, že když čas nástěnných hodin dávky (který začíná spuštěním první dávkové úlohy) překročí systémem definovaný maximální čas, dávka již nebude přijímat nové úlohy a všechny úlohy ve frontě, které ještě nebyly spuštěny, budou zrušeny. Navíc existují limity na to, kolik využití mohou tvé úlohy čerpat v závislosti na tvém plánu. Chceš-li zjistit maximální dobu trvání dávky, použij metodu batch.details() a vyhledej hodnotu max_time.
Kdy budou moje dávkové úlohy spuštěny paralelně s úlohami ostatních uživatelů?
Stupeň paralelismu nastaveného pro Backend se také nazývá „prováděcí dráhy". Pokud jsou k dispozici jedna nebo více prováděcích drah a tvé dávkové úlohy jsou jako další na řadě ke spuštění, plánovač spustí dostatek úloh k zaplnění drah. Podobně platí, že pokud tvá dávka nemá dostatek úloh k zaplnění drah, plánovač spustí úlohy ostatních uživatelů.
Příklad: Backend, který jsi zvolil/a, má pět prováděcích drah a dvě z nich jsou momentálně obsazeny úlohami ostatních uživatelů. Tvá dávka šesti úloh je jako další na řadě ke spuštění.
Protože jsou k dispozici tři volné dráhy, plánovač spustí tři ze šesti dávkových úloh. Pokračuje ve spouštění úloh z tvé dávky, jakmile se úlohy dokončí a prováděcí dráhy se uvolní. Pokud se dráha uvolní a v tvé dávce již nejsou žádné další úlohy, plánovač spustí další úlohu ve frontě.
Musí všechny moje dávkové úlohy čekat ve frontě?
Protože QPU jsou omezené a sdílené prostředky, musí všechny úlohy čekat ve frontě. Jakmile se však první úloha z tvé dávky začne spouštět, všechny ostatní úlohy v dané dávce v podstatě přeskočí na začátek fronty a plánovač jim dává přednost.
Ukončí se dávka automaticky po skončení poslední přidružené úlohy?
Ano. S tímto automatickým rozpoznáváním je však spojena mírná režie, proto bys měl/a vždy explicitně uzavřít svou dávku a Session.
Mohou být dávky přerušeny kalibracemi nebo softwarovými upgrady
Ano. Dávkové zátěže mohou být přerušeny kalibracemi nebo softwarovými upgrady.
Počítá se čas kompilace jako využití v dávkovém režimu?
Ne. V dávkovém režimu se jako využití počítá pouze čas strávený na kvantovém hardwaru.