Přeskočit na hlavní obsah
Tento projekt je v betě. Našel jsi chybu? Otevřít issue na GitHubu. Máš otázku nebo nápad? Zeptej se v Discussions — rádi si poslechneme tvou zpětnou vazbu!
Jaká je kvalita překladu na této stránce?

Úvod do režimů spouštění Quantum Compute

Když byl IBM Quantum Compute Service zaveden, uživatelé mohli spouštět obvody pouze jako jednotlivé joby. S tím, jak vznikaly různé typy kvantových pracovních zátěží, se ukázala potřeba různých strategií plánování. Režimy spouštění určují, jak jsou tvoje joby plánovány, a výběr správného režimu umožňuje, aby tvoje pracovní zátěž běžela efektivně v rámci tvého rozpočtu. Existují tři režimy spouštění: job, session a batch.

Job mode​

Jeden požadavek na primitivum odeslaný bez správce kontextu. Obvody a vstupy jsou zabaleny jako primitive unified blocs (PUBs) a odeslány jako úloha ke spuštění na kvantovém počítači. Pro spuštění v job mode zadej při vytváření primitiva mode=backend. Příklady použití najdeš v Příkladech Estimatoru a Příkladech Sampleru.

Batch mode​

Správce více jobů pro efektivní spouštění experimentů tvořených pracovními zátěžemi s více joby. Tyto pracovní zátěže se skládají z nezávisle spustitelných jobů, které na sobě nejsou podmíněně závislé. V batch mode uživatelé odesílají všechny své joby najednou.

Systém paralelizuje nebo zpracovává ve vláknech krok předběžného zpracování (klasické výpočty) každého jobu primitiva, aby co nejtěsněji seskupil kvantové spouštění napříč joby, a poté provede kvantovou část každého jobu v rychlém sledu, aby dosáhl co nejefektivnějších výsledků. Další podrobnosti o zpracování ve vláknech najdeš na stránce s FAQ o režimech spouštění.

Sada jobů spouštěných v batch mode. Klasická část výpočtu každého jobu probíhá současně, poté jsou všechny joby odeslány na QPU. QPU je vyhrazena pro tvoje použití od okamžiku, kdy první job dosáhne QPU, až do dokončení zpracování posledního jobu na QPU. Mezi joby není žádná mezera, kdy by QPU byla nečinná.

Poznámky
  • Při použití batche není zaručeno, že joby poběží v pořadí, v jakém byly odeslány. Přestože tvoje batch joby poběží co nejblíže u sebe, nezískají exkluzivní přístup k backendu. Proto mohou tvoje batch joby běžet paralelně s joby jiných uživatelů, pokud je na QPU dostatečná kapacita zpracování. Navíc mezi batch joby mohou proběhnout kalibrační joby QPU.
  • Doba čekání ve frontě se nesnižuje pro první job odeslaný v rámci batche. Batch tedy nepřináší žádné výhody při spuštění jediného jobu.

Pro spuštění v batch mode zadej při vytváření primitiva mode=batch nebo spusť job ve správci kontextu batche. Příklady najdeš v návodu Spouštění jobů v batchi.

Session mode​

Vyhrazené časové okno pro spouštění pracovní zátěže s více joby. Během tohoto okna má uživatel exkluzivní přístup k systému a žádné jiné joby nemohou běžet – včetně kalibračních jobů. To uživatelům umožňuje experimentovat s variačními algoritmy předvídatelnějším způsobem a dokonce spouštět více experimentů současně s využitím paralelismu v softwarovém stacku. Používání sessions pomáhá vyhnout se zpožděním způsobeným zařazením každého jobu zvlášť do fronty, což může být zvláště užitečné u iterativních úloh vyžadujících častou komunikaci mezi klasickými a kvantovými prostředky. Nákladová funkce na obrázku představuje funkci kvantového variačního algoritmu spuštěného na místním počítači uživatele.

A sets of jobs being run in session mode and the other is being run in batch mode.  Between each job is the interactive TTL (interactive time to live).  The active window starts when the first job starts and ends after the last job is completed. After the final job of the first set of jobs completes, the active window ends and the session is paused (but not closed).  Another set of jobs then starts and jobs continue in a similar manner. The QPU is reserved for your use during the entire session.

Pro spuštění v session mode zadej při vytváření primitivu mode=session nebo spusť job ve správci kontextu session. Viz Spouštění jobů v session pro příklady.

Poznámky
  • Doba čekání ve frontě se nesnižuje pro první job odeslaný v rámci session. Session tedy nepřináší žádné výhody při spuštění jediného jobu.
  • Uživatelé plánu Open nemohou odesílat session joby.
  • Dry-run joby nepodporují session mode.

Základní pracovní postup​

Základní pracovní postup pro batche a sessions je podobný:

  1. První job v batchi nebo session vstupuje do normální fronty. U batchů je celá sada jobů plánována společně.

  2. Když první job začne běžet, spustí se časovač maximální doby životnosti (TTL) a nezastaví ani nepozastaví se, dokud není dosaženo jeho konce.

  3. Interaktivní časovač TTL se spustí po dokončení každého jobu. Pokud v okně interaktivního TTL nejsou připraveny žádné joby pracovní zátěže, je pracovní zátěž dočasně deaktivována a obnoví se normální výběr jobů. Job může deaktivovanou pracovní zátěž znovu aktivovat, pokud batch nebo session nedosáhly své maximální hodnoty TTL.

    poznámka

    Job musí projít normální frontou, aby znovu aktivoval pracovní zátěž.

  4. Pokud je dosaženo maximální hodnoty TTL, pracovní zátěž skončí a všechny zbývající joby ve frontě selžou. Žádný aktuálně běžící job nedokončí svůj běh, pokud by tím byl překročen limit nákladů instance.

Následující video ilustruje základní pracovní postup na příkladu sessions:

Úplné podrobnosti o časovačích TTL najdeš v průvodci Maximální doba spuštění.

Další kroky​