Přeskočit na hlavní obsah

Úvod

Vítej na hranici

V průběhu dějin se naše vědecké chápání světa rychle rozvíjelo vždy, když se objevily nové nástroje – nástroje, které nám umožnily klást nové otázky, provádět rozsáhlejší experimenty a zkoumat nové oblasti výzkumu. Mezi takové nástroje patří teleskop, mikroskop nebo Velký hadronový urychlovač. Každý z nich otevřel přístup k novým vědeckým objevům. V 60. letech 20. století jsme také byli svědky rozvoje vysokovýkonného počítání (HPC), které se stalo klíčovým nástrojem pro řešení náročných výpočetních úloh, včetně mnoha důležitých vědeckých výzev.

Nyní máme k dispozici další důležitý nástroj vědeckého pokroku: kvantové počítače. Přestože jde stále o vznikající technologii, kvantové počítače mají potenciál výrazně změnit to, jaké výpočetní problémy dokážeme efektivně řešit. Tento kurz se zabývá tím, jak mohou tyto technologie ve vzájemné spolupráci posunout hranice toho, co je výpočetně možné.

Naše poslání je jasné, byť ambiciózní: poskytnout ti koncepční i praktické znalosti potřebné k tomu, abys s pomocí těchto technologií dokázal řešit některé z nejsložitějších problémů světa.

Toto video popisuje cíle kurzu a motivaci pro kombinování HPC a kvantového počítání.

HPC

Co přesně je vysokovýkonné počítání? Vysokovýkonné počítání se stalo základem pro řešení moderních výpočetních problémů. Nežijeme v době, kdy by bylo možné složité problémy řešit jednoduchými nástroji, jako je počítadlo nebo tužka a papír; místo toho pracujeme s otázkami a datovými sadami, které vyžadují obrovský výpočetní výkon.

Oblast vysokovýkonného počítání má své kořeny v rozvoji prvních superpočítačů v 60. letech 20. století. Byly to stroje navržené speciálně k řešení rozsáhlých vědeckých a inženýrských problémů rychleji, než dokázaly běžné počítače.

Jedním z prvních známých superpočítačů byl CDC 6600 (1964), postavený Seymouram Crayem, jenž bývá označován za otce superpočítání. CDC 6600 byl nejrychlejším počítačem své doby a využíval inovativní architekturu zahrnující paralelní funkční jednotky a pipelining – koncepty, které se v HPC používají dodnes.

Cray pokračoval v rozvoji oboru superpočítačem Cray-1 (1976), který zavedl vektorové zpracování – techniku, jež výrazně zvýšila rychlost operací s velkými poli dat, a proto se hodila zejména pro vědecké výpočty.

Jakmile se rychlost jednoprocesorových systémů začala vyrovnávat, HPC se začalo ubírat směrem k paralelnímu počítání – využívání mnoha procesorů, které společně pracují na různých částech problému. V 80. a 90. letech se v HPC rozšířily paralelní architektury. Na začátku nového tisíciletí se HPC přesunulo k clusterům z komoditního hardwaru – běžných serverů propojených vysokorychlostními sítěmi. Tato změna zpřístupnila superpočítání a umožnila širší přístup k HPC.

V průběhu celého tohoto vývoje stála IBM® v čele výzkumu a implementace HPC. Superpočítače IBM Blue Gene patřily k nejvlivnějším superpočítačovým rodinám první dekády a počátku druhé dekády 21. století. Byla to éra obrovského rozvoje masivně paralelních systémů, jejichž příkladem je Blue Gene/Q – jedna instance (Sequoia) měla 100 000 uzlů. Superpočítač Oak Ridge Summit, postavený IBM, byl v roce 2018 prvním HPC zdrojem, který dosáhl ExaOPS (1,88 mixed precision).

Dnes jsme v éře exascale, kdy superpočítače dokáží provést 101810^{18} operací za sekundu (exaflops). Prvním superpočítačem schopným dosáhnout tohoto milníku byl Frontier, umístěný v Oak Ridge National Laboratory.

Proč tedy potřebujeme tak výkonné výpočetní prostředky? Existují problémy zásadní pro lidské blaho, jejichž modelování nebo řešení takové extrémní prostředky vyžaduje. Patří mezi ně například klimatické modely, studium struktury a pohybu zemského pláště nebo simulace dynamiky tekutin.

Mnoho problémů tohoto druhu řešili výzkumníci IBM a jejich spolupracovníci pracující na systémech IBM. Toto trvalé vedoucí postavení je široce uznáváno. IBM výzkumníci například šestkrát získali Gordonovu Bellovu cenu.[1]

HPC je velmi aktivní oblast, v níž se hranice pravidelně posouvají. Pro přehled moderních schopností si prohlédni tento seznam 500 nejvýkonnějších superpočítačů.

Kvantové počítání

Kvantové počítání je nové výpočetní paradigma, které prostě nenaváže na postupný vývoj klasických počítačů. Jeho cílem je využít kvantové vlastnosti superpozice, provázanosti a kvantové interference k řešení problémů, které by byly pro klasické počítače samotné neřešitelné. Unikátností kvantového počítání se v tomto kurzu podrobně nezabýváme – více informací najdeš v kurzu Fundamentals of quantum information – místo toho budeme diskutovat o tom, jak by kombinace těchto dvou infrastruktur mohla vést k průlomům v aplikované vědě.

Hybridní přístup

Nejdůležitější je zdůraznit, že tato dvě výpočetní paradigmata nejsou konkurenti. Žijeme v době, kdy optimalizované pracovní postupy vyžadují, aby se obě paradigmata vzájemně doplňovala a aby každý úkol byl svěřen tomu, kdo jej zvládne nejefektivněji. Kvantové počítače klasické systémy nenahradí; budoucnost výpočetní vědy bude stále více záviset na hybridních pracovních postupech, v nichž HPC zajišťuje výkonné klasické zpracování a kvantové počítání přináší jedinečné schopnosti. Jako odborník, výzkumník nebo technolog ti porozumění tomu, jak tyto nástroje kombinovat, umožní stát se lídrem v příští éře vědeckého a technologického pokroku.

Prozkoumáme, jak jsou kvantové počítání a HPC připraveny umožnit průlomy v celé řadě odvětví, včetně:

  • Chemie: Urychlení identifikace nových léků a materiálů.

  • Energetika: Navrhování lepších katalyzátorů, baterií a čistých energetických řešení.

  • Finance: Modelování rizik, optimalizace portfolií a vývoj nových finančních nástrojů.

  • AI a strojové učení: Zlepšování trénování modelů, optimalizace a analýzy dat.

Proč překračujeme hranice klasického

V uvedených oblastech aplikací dosáhlo lidstvo s pomocí HPC značných úspěchů. I nejrychlejší superpočítače světa však narážejí na problémy, jakmile složitost úloh roste faktoriálně nebo exponenciálně s velikostí vstupu. Například výpis všech možných uspořádání 50 částic uvnitř složité molekuly vede k počtu konfigurací, který roste přinejmenším faktoriálně – a to tak rychle, že by nestačila paměť všech datových center na Zemi dohromady.

Dalším příkladem je plánování trasy doručování pro 10 000 měst: počet možných tras je tak astronomický, že i kdyby každý počítač, který kdy byl postaven, testoval jednu trasu za mikrosekundu, výpočet by trval o mnoho řádů déle, než je nynější stáří našeho Slunce. Tato čísla nejsou jen velká – rostou exponenciálně, což znamená, že každá přidaná částice nebo město znásobí výpočetní zátěž daleko za hranice jednoduchého škálování.

Můžeme přidávat další GPU, ale manipulace s takovým množstvím dat již nyní spotřebovává megawatty energie a vyžaduje budovy velikosti skladišť. V určitém bodě klasický hardware není možné dále prakticky ani cenově dostupně škálovat. Proto se výzkumníci obrací ke kvantovým procesorům, které ukládají informace v superpozicích a mohou někdy přímo řešit tyto problémy s exponenciálním růstem – zvládají konkrétní případy, jež klasické stroje nemohou dokončit v žádném rozumném časovém rámci.

HPC nakonec naráží na fundamentální limity dané kombinatorikou a termodynamikou. Kvantové výpočty tyto limity neodstraňují, ale v některých velmi specifických scénářích je mohou obejít.

Proč ne jen kvantové počítače?

Pokud kvantové výpočty dokážou obejít určitá omezení klasického výpočetnictví, proč se nespoléháme výhradně na kvantové počítače? Prvním a nejzřejmějším důvodem je, že kvantové počítače stále potřebují ke svému fungování klasické stroje. Úlohy jako kompilace a přenos Circuit do kvantového procesoru, ukládání výsledků měření a základní post-processing provádějí klasické výpočetní systémy.

Proč tedy potřebujeme navíc vysokovýkonné výpočty? Existuje několik důvodů. Mnoho současných i budoucích aplikací kvantového výpočetnictví řeší problémy s mimořádně velkými prohledávacími prostory. Kvantové algoritmy mohou tento prostor výrazně zmenšit, ale v praxi může být zbývající problém stále dostatečně velký, aby z HPC zdrojů těžil. Navíc existují algoritmy, které vyvažují silné stránky HPC a kvantového výpočetnictví tak, že dostatečnou část práce přenechávají HPC a celkový algoritmus je tím odolnější vůči vlivu kvantového šumu.

Konkrétním příkladem je algoritmus sample-based quantum diagonalization (SQD). Tento algoritmus, jemuž se budeme věnovat v lekci 4, ukazuje, jak HPC a kvantové výpočty mohou v praxi vzájemně doplňovat. Pro další kontext viz kurz Quantum Diagonalization Algorithms na IBM Quantum Learning.

Tento kurz je určen odborníkům a studentům, kteří pracují – nebo plánují pracovat – v těsném kontaktu s infrastrukturou vysokovýkonného výpočetnictví (HPC) a/nebo kvantového výpočetnictví. S rychlým pokrokem v kvantových technologiích předpokládáme blízkou budoucnost, v níž budou kvantové procesory integrovány vedle tradičních HPC zdrojů za účelem dosažení přesnějších výsledků a otevření nových přístupů k řešení problémů. Kurz je určen pro zájemce, kteří chtějí pochopit, jak takovéto hybridní workflow budovat a spouštět.

Protože účastníci mohou přicházet z různých prostředí, počítáme se dvěma hlavními typy studujících: ti, kdo mají zkušenosti s HPC, ale do světa kvantového výpočetnictví teprve vstupují, a ti, kdo jsou dobře obeznámeni s kvantovým výpočetnictvím, ale HPC je pro ně nové. Aby si každý z kurzu co nejvíce odnesl, uvádíme níže doporučení k přípravě pro obě skupiny.

Pro nováčky v HPC

Kurz předpokládá znalost základních konceptů HPC, jako jsou distribuovaná paměťová programování, předávání zpráv, modely paralelního programování a správa zdrojů. Budeme také používat nástroje jako správce úloh Slurm. Přestože mnohé z těchto konceptů budou v případě potřeby stručně představeny, předchozí seznámení s nimi zpřístupní látku snadněji. Užitečné zdroje zahrnují:

Další zdroje jsou také k dispozici v tomto GitHub repozitáři.

Pro nováčky v kvantovém výpočetnictví

Kurz využívá základní nástroje a koncepty kvantového výpočetnictví s minimálním úvodním opakováním. Doporučujeme, aby měli účastníci alespoň pracovní znalost Qiskitu, orientaci v kvantových Gate a Circuit a určitou zkušenost s algoritmy využívajícími vzorkování. Níže uvedené zdroje by měly poskytnout užitečnou přípravu.

  • Průvodce IBM Quantum® Composerem: Průvodce Composerem, grafickým nástrojem pro kvantové programování, který umožňuje přetahovat operace a sestavovat tak kvantové Circuit, jež pak spustíš na kvantovém hardwaru.
  • Úvod do Qiskitu: Sada průvodců, která ti pomůže nainstalovat a nakonfigurovat Qiskit.
  • Hello world: Krátký tutoriál o Qiskitu, v němž nastavíš a spustíš svůj první kvantový program.
  • Quantum diagonalization algorithms: Kurz pokrývající několik typů kvantových algoritmů, včetně SQD, který bude v tomto kurzu použit.

Další zdroje jsou také k dispozici v tomto GitHub repozitáři.

Studující všech zaměření mohou ocenit tento průvodce; pokrývá SPANK plugin pro správu kvantových zdrojů a několik slov o Slurmu.

Existuje několik způsobů, jimiž jedinečnost kvantového výpočetnictví způsobuje, že se procedurálně liší od klasických výpočetních zdrojů způsoby, které jsou pro tento kurz podstatné. Například neexistuje dobrý kvantový analog RAM. Informace jsou ukládány a zpracovávány ve stavech samotných Qubitů. Přestože měření mohou umožnit zaznamenat některé vlastnosti Qubitů klasicky, taková měření ničí velkou část bohatství kvantového stavu, včetně superpozice a provázanosti. Dále kvantové výpočetní zdroje nejsou v současnosti umístěny na stejném uzlu jako ostatní HPC zdroje a uživatelé kvantových zdrojů často nemají stejnou úroveň kontroly nad plánováním, jakou mohou mít nad klasickými HPC zdroji. Tyto skutečnosti budou znovu zdůrazněny v příslušných lekcích. Hlavní poselství je však toto: kvantové počítače změní svět a musejí být integrovány s HPC, ale nejsou „jen dalším" HPC zdrojem, který lze ovládat a používat stejně jako CPU, GPU atd. Kvantové počítače mění způsob, jakým lze přistupovat k mnoha výpočetním problémům.

O tomto kurzu

Na konci tohoto kurzu budeš umět víc než jen opakovat technické termíny – pochopíš, jak spravovat moderní hybridní workflow, které přiřazuje konkrétní dílčí úlohy kvantovému procesoru, zatímco CPU a GPU zvládají zbývající práci. Naučíš se psát skripty pro úlohy, které plynule přecházejí mezi klasickými uzly a QPU, interpretovat výsledky s přesností a rozpoznat, kde kvantová akcelerace může skutečně zlepšit výpočty (a kde ne). Stejně důležité je, že budeš trénovat růstové myšlení: v novém a rychle se vyvíjejícím oboru se nikdo nenaučí vše najednou a skutečný pokrok přichází iterováním, experimentováním a kladením otázek. Kurz je rozdělen do 5 kapitol, které pokrývají následující témata:

Osnova kurzu

  • Lekce 1 – Tato lekce pokryla pozadí a motivaci
  • Lekce 2 – Výpočetní zdroje a jejich správa
  • Lekce 3 – Programovací modely zahrnující heterogenní výpočetní prostředí
  • Lekce 4 – Kvantové algoritmy pro hybridní workflow, konkrétně SQD
  • Lekce 5 – Výhled do budoucnosti a směřování

Vnímej tento kurz jako své odpalovací rameno – místo, kde si vybuduješ mentální výbavu a sebedůvěru k prozkoumávání kvantově-klasické hranice ještě dlouho po dokončení poslední lekce.

Reference

[1] https://www.hpcwire.com/off-the-wire/gordon-bell-prize-awarded-to-ibm-and-leading-university-researchers/