Jack Dongarra navštívil národní superpočítačové centrum IT4Innovations v září 2024 při příležitosti konference PPAM, kterou IT4Innovations spolupořádalo. Lubomír Říha využil tuto jedinečnou příležitost k rozhovoru s Jackem Dongarrou, který si můžete poslechnout na Spotify.
Jack Dongarra je již přes pět desetiletí klíčovou osobností v oblasti vysoce výkonného počítání (HPC), kde zcela změnil způsob, jakým se přistupuje k vědeckým výpočtům a analýze dat. Jeho vášeň pro svět počítačů začala během stáže v Argonne National Laboratory. Následně v Los Alamos pracoval na Cray-1, jednom z prvních vektorových superpočítačů, což zásadně formovalo jeho kariéru. Dongarra stál u zrodu benchmarku LINPACK a žebříčku TOP500, který od roku 1993 hodnotí nejrychlejší superpočítače světa. Jeho inovace, jako software pro lineární algebru a rozhraní pro předávání zpráv (Message Passing Interface, MPI), umožnily softwaru držet krok s rychle se vyvíjejícím hardwarem.
Dnes Dongarra působí na University of Tennessee a v Oak Ridge National Laboratory. Výsledky jeho práce zásadně ovlivnily moderní vědecký výzkum a v roce 2021 mu vynesly prestižní ocenění ACM A.M. Turing Award, označované jako Nobelova cena za informatiku.
Na konferenci PPAM 2024, kterou pořádala Czestochowa University of Technology ve spolupráci s IT4Innovations, vedl rozhovor s uznávaným Jackem Dongarrou Lubomír Říha, vedoucí Laboratoře pro výzkum infrastruktury IT4Innovations.
Během své kariéry jste se podílel na mnoha projektech, které se staly základem HPC aplikací a knihoven. Když se zpětně ohlédnete za svou prací, který projekt považujete za nejvýznamnější nebo osobně nejzajímavější?
Dongarra: Měl jsem to štěstí, že jsem se mohl podílet na mnoha projektech. Některé z těchto projektů byly velmi úspěšné, ale ne všechny. Některé z nich se staly součástí toho, jak se dnes dělá informatika nebo jak o ní přemýšlíme, nebo jak jsou lidé zvyklí ji dělat. Projekt, který měl největší dopad, je pravděpodobně MPI. Rozhraní pro předávání zpráv používají všechny programy, včetně vědeckých programů, které vyžadují paralelní zpracování. Dnes se téměř vše zpracovává paralelně a všichni toto rozhraní používají. Je to de facto standard, který se v praxi používá. Není schválen žádnou vrcholnou organizací nebo subjektem, který schvaluje standardy. MPI se stalo standardem, jak já říkám, velmi organickým způsobem. Definovali jej samotní vývojáři. Vyvstala potřeba standardu a tak se vývojáři spojili a během velmi krátké doby vytvořili standard, který byl okamžitě přijat jak dalšími vývojáři tak i celou IT a vědeckou komunitou.
Projekt přitom trval krátce. Na jeho realizaci se podílelo mnoho chytrých lidí. Okamžitě byl přijat a měl obrovský dopad na komunitu. Řekl bych, že mě práce na tomto projektu bavila a zároveň byla nejzajímavější díky jeho významu. Podílel jsem se ale na mnoha projektech. Tento je jen jeden z mnoha.
Jak dlouho myslíte slovem krátce?
Dongarra: Rok a půl. Během velmi krátké doby, v podstatě za 18 měsíců, jsme se z ničeho dostali ke standardu, který byl zaveden a přijat. V tomto období na něm usilovně pracovalo zhruba 40 lidí. Jejich práce nebyla hrazena ze žádných zdrojů. Lidé ji dělali, protože ji dělat chtěli a mohli k této práci využít čas ve své kanceláři. Byl to obrovský úspěch.
Povídáme si na konferenci PPAM, které jste se zúčastnil již po jedenácté. Co vás přiměje se na tuto akci vracet? A jak dlouho se znáte s Romanem Wyrzykowskim, hlavním organizátorem konference?
Dongarra: Romana znám od své první konference PPAM. Vastně se ani nevzpomínám, jak jsme se seznámili. Určitě se naše cesty několikrát během různých setkání zkřížily. Pravděpodobně mě slyšel přednášet a pozval mě do Polska. A proč se stále vracím? Protože mě stále zvou, abych se vrátil. To je jeden z důvodů. Také rád poznávám různá místa v Polsku. Navštívil jsem mnoho polských měst, kde jsem nikdy předtím nebyl. Je to zábavná konference, dobře organizovaná a obvykle se jí účastní samí skvělí lidé. Rád se sem vracím za starými přáteli, jako je právě on.
Co pohání Vaši vášeň pro vysoce výkonné výpočty a numerické algoritmy? A když se podíváte do budoucna, jak si představujete vývoj této oblasti v příštích několika letech?
Dongarra: Vystudoval jsem numerickou lineární algebru, což je mé základní odborné vzdělání, a myslím, že mohu přispět díky svým znalostem vysoce výkonných výpočtů. Znalost vysoce výkonných výpočtů znamená, že chceme, aby věci běžely rychle. Chceme využívat funkce, které jsou v architektuře, abychom pomohli řídit vyvíjený software. Chceme navrhovat algoritmy, které mohou efektivně běžet na dnešních i budoucích počítačích. Jsme motivováni, abychom získali něco, co přináší přesné řešení, které lze získat s co nejlepším využitím hardwaru. Chceme mít něco, co bude rychlé, přesné a řekl bych také přenosné. Chceme mít něco, v čem můžeme přecházet z jednoho prostředí do druhého, aniž bychom museli provádět zásadní změny. To jsou všechno věci, které patří k vysoce výkonným výpočtům a numerickým algoritmům. Je to něco, co podle mého názoru představuje výzvu a umožňuje člověku využít své znalosti informatiky.
A jak se situace změní v budoucnu? Předvídat, co se stane, je těžké. Za mou padesátiletou kariéru jsme mohli být svědky velkých změn, které se odehrály. Přešli jsme od sekvenčních počítačů k vektorovým počítačům, k počítačům využívajícím sdílenou paměť, od paralelních počítačů ke strojům, které byly spojeny s distribuovaným paralelismem, k architekturám, které přidávaly grafické procesorové jednotky pro zrychlení výkonu. Otázkou je, jaký bude další krok. Sám nedokážu předpovědět, jaký bude další vývoj. Kdybych se měl podívat na dnešní počítač, řekněme, že vidíme běžný procesor a pak něco, co zvyšuje výpočetní výkon. To, co zvyšuje výkon, bereme jako urychlovač. Dnes je tím urychlovačem grafický procesor, ale zítra to může být něco jiného. Takto bychom mohli pokračovat dále. V případě CPU a GPU se zanedlouho stane něco, co způsobí jejich těsnější propojení. Pak je vcelku pravděpodobné, že se objeví různé druhy počítačů, možná takových, které se budou specializovat na věci související s umělou inteligencí, nebo něco, co bude založeno na neuromorfních výpočtech, stejně tak jako náš mozek, či na analogových výpočtech, které se uplatňovaly před mnoha a mnoha lety a možná mohou najít své uplatnění i dnes. Rozšíření toho, co máme, sestavení více věcí než jen akcelerátorů pro zvýšení výkonu – takto by mohl vypadat budoucí vývoj.
Jaké jsou podle vás největší výzvy, kterým oblast HPC v současnosti čelí, a to jak z technického hlediska, tak z hlediska širšího přijetí? Jak si představujete integraci nových technologií, jako jsou kvantové výpočty a umělá inteligence, do budoucích HPC řešení?
Dongarra: Významné technologické výzvy v oblasti vysoce výkonných výpočtů souvisejí s tím, jak efektivně využít stávající hardware. To je jedna věc. Jde však o mnohem širší záležitost. Přemýšlím o tom v souvislosti s tím, jak nakupujeme počítače. Ve vědeckém prostředí se počítač nakupuje následujícím způsobem: Dostaneme určitou částku peněz, kterou nám obvykle poskytne vláda. Řeknou vám, že máte tyto peníze na nákup dalšího superpočítače. Pak požádáme dodavatele počítačů, aby předložili nabídku na počítač, který se do této částky vejde a bude mít určitou výkonnostní kapacitu. To je způsob, jakým superpočítače kupujeme. Vyhlásíme tendr, v němž stojí, ať nám nabídnete počítač s takovýmto výpočetním výkonem a my máme tolik peněz, které vám můžeme dát. Dodavatelé pak jdou a navrhnou počítač a snaží se, aby odpovídal špičkovému výkonu, který jsme požadovali, s co nejnižšími náklady. A tak obvykle vznikne špatně vyvážený počítač. Teoreticky má vysoký špičkový výkon, kterého je ale velmi těžké, vlastně téměř nemožné dosáhnout. Lepší by bylo, kdyby se při návrhu počítače sešli dohromady lidé z praxe společně s počítačovými architekty a vývojáři softwaru, nechat je diskutovat o tom, jak vytvořit počítač pro dané využití. Vše záleží na využití. Tyto počítače stavíme proto, aby řešily náročné problémy z praxe. Zapojme tedy lidi z praxe do návrhu počítačů.
Dnes je to podle mě tak, že se počítač navrhne, vyrobí a předá dál. Dodavatel superpočítač prodá koncovému zákazníkovi a lidé, kteří se zabývají aplikacemi, se pak několik dalších let snaží přijít na to, jak na tomto počítači efektivně spouštět své aplikace. Nakonec se jim to podaří. Na novém počítači vše dobře běží, ale než se jim to podaří, dostanou nový počítač, protože trvá zhruba čtyři nebo pět let, než se naučí, jak ten stávající plně využívat. A v té době už opět dostávají nový počítač. Potřebujeme lepší způsob, jak navrhovat počítače společně s jejich architekty, odborníky na aplikace a vývojáři softwaru. Všichni by měli být u jednoho stolu při samotném návrhu. Jednou z hlavních výzev je navrhnout stroj, který lze efektivně používat bez zásadních zásahů do softwaru. A právě taková umělá inteligence má obrovský vliv na to, jak dnes řešíme problémy.
Umělá inteligence se významně podílí na většině aplikací a bude mít i nadále pozitivní vliv na způsob, jakým aplikace vyvíjíme. Vnímám ji jako nástroj, který budou využívat vědci zabývající se výpočetními vědami k řešení svých výzkumných problémů.
Kvantová výpočetní technika je zajímavou technologií. Myslím si, že se o ní příliš mluví v tom smyslu, že lidé od ní hodně očekávají, ale pravděpodobně tato očekávání nesplní, alespoň ne v nejbližší době. Myslím, že kvantové výpočty jsou oblastí, kde je potřeba investovat do výzkumu, abychom pochopili, jak můžeme tuto technologii efektivně využít. A až tomu konečně lépe porozumíme, můžeme teprve pak mít technologii připravenou k implementaci do návrhu kvantového počítače, který by se dal použít.
Obávám se, že se dnes kolem kvantové výpočetní techniky dělá příliš mnoho humbuku a vynakládá se na ně příliš mnoho úsilí. Měli bychom poodstoupit a dívat se na ni jako na výzkumné úsilí a pochopit, jak by se to dalo udělat a jak to může celkově zapadnout do našeho způsobu řešení vědeckých problémů.
Počátkem 90. let 20. století se v oblasti HPC přešlo od specializovaných čipů, jako jsou vektorové počítače, ke komoditnímu hardwaru, který využíval procesory původně určené pro servery a jiné výpočetní úlohy. Tento přechod znamenal počátek masivně paralelních strojů. V poslední době se díky množství úloh umělé inteligence změnila architektura akcelerátorů GPU, kdy se více křemíku vyčlenilo pro jednotky, které poskytují výrazně vyšší výkon s nižší přesností, nikoliv s dvojnásobnou přesností, která se tradičně používá v HPC. Považujete tento posun za pozitivní nebo negativní pro HPC, které stále vyžaduje vysokou dvojitou přesnost?
Dongarra: Jak říkáte, došlo k posunu od výroby specializovaných počítačů k používání komoditních součástek v našich počítačích. Tento posun nastal, protože komoditní součástky se staly mnohem rychlejšími. Stalo se tak v důsledku Moorova zákona a Dennardova škálování. To nám umožnilo dát vše dohromady a vyvinout něco, co má široké využití. Výsledkem může být, že skutečné náklady na procesor jsou velmi nízké díky tomu, že máme tyto komoditní součástky. U specializovaných počítačů, které se stavěly v dřívějších dobách, nebyl trh dostatečně velký, aby je uživil. Výsledkem bylo, že firmy, které tyto počítače vyráběly, skončily s podnikáním a na řadu přišly komoditní procesory.
Co se stane v budoucnu, až bude AI stále důležitější a architektury se budou věnovat spíše obsluze AI než samotnému poskytování služeb?Říkejme tomu tradiční vědecké výpočty. Jedna věc je, že AI nepotřebuje dvojitou přesnost. AI si vystačí s jednoduchou přesností. Panují obavy, že nové procesory se mohou vzdát vyšších přesností, kterou mají dnešní čipy. Takže se může stát, že zde nebudou takové části čipu, jako je 64bitová a 32bitová aritmetika s plovoucí desetinnou čárkou. Čipy budou možná sloužit pouze pro potřeby umělé inteligence, což je 16bitová, 8bitová nebo dokonce 4bitová aritmetika s plovoucí desetinnou čárkou. Tím by tradiční vědecká výpočetní komunita zůstala bez možnosti provádět výpočty s vyšší přesností, což může vést k určitým problémům z hlediska některých přesností, kterých můžeme dosáhnout. V tom vidím problém.
A co se stane, pokud k tomu skutečně dojde? Nevím. Začíná nás to však nabádat k tomu, abychom se zabývali používáním jednodušší přesnosti při numerických výpočtech a měli smíšenou přesnost. Myslím, že je to skvělá oblast výzkumu – využívat selektivně jak nižší, tak vyšší přesnost, a tím dosahovat co nejlepších výsledků. Doufám, že vyšší přesnost nezmizí úplně, ale dokázal bych si představit, že se výrobci rozhodnou vyvíjet čipy, které nebudou mít vyšší přesnost a že tento prostor využijí pro jiné funkce, které mohou souviset s umělou inteligencí. To může způsobit, že čipy s dvojitou přesností budou dražší a určitým způsobem by nás to omezovalo. Jde o aktivní oblast výzkumu, jak používat smíšenou přesnost, jak si vystačit s jednodušší přesností. Myslím, že to všechno je dobrá oblast výzkumu, a byl bych rád, kdyby dvojitá přesnost v našem hardwaru zůstala.
Co podle vás bude hlavní technologickou hnací silou dalších významných skoků, které bychom mohli očekávat u supepočítačů zahrnutých v žebříčku TOP500?
Dongarra: Je pro mě těžké předvídat, co se bude dít. Jediné, co se rýsuje, je možná integrace mezi CPU a GPU, která bude mít jistě velký dopad. Už víme, že nejdůležitějším aspektem vysoce výkonných počítačů není rychlost, s jakou provádíme výpočty; je to rychlost, s jakou můžeme přesouvat data, abychom mohli provádět výpočty, aby data byla na výpočty připravena. Nejnákladnější částí je komunikace. Pokud se nám podaří snížit náklady na komunikaci v počítači, můžeme ušetřit a bude to efektivnější. Jednou z věcí, která nám pomohla, je zásobníková paměť. O zásobníkové paměti se uvažuje i dnes. Existuje trojrozměrná zásobníková paměť složená z dvourozměrných komponent, která umožňuje, aby se data pohybovala v tomto třetím rozměru, takže je to mnohem rychlejší, než kdybychom to museli rozprostřít po dvourozměrné ploše. Co se týče integrace, dnes máme vedle sebe paměťový zásobník a procesor. Stále existují data, která se musí přenášet ze zásobníku do CPU, a to pomocí spojů, které jsou malé, krátké a nepříliš efektivní. V budoucnu bude procesor integrován se zásobníkovou pamětí a data tak budou moci proudit v tomto třetím rozměru do čipů mnohem vyšší rychlostí a doufejme, že se tím zlepší celková efektivita. V důsledku toho se sníží rychlost pohybu dat. Podle mě je to slibná oblast, ale nevím, jestli je to zásadní skok, či nikoliv. Opět platí, že přidání dalších prvků do řetězce CPU, GPU a dalších komponent, které mohou zrychlit části počítače, může pomoci. Už vidím, jak jednou budeme schopni vybírat to, co dáváme do našich počítačů, ve smyslu, že budeme mít komponenty jako konvenční CPU a komponenty, které jsou akcelerované numerickými procesory, a možná budeme mít něco, co souvisí s analogovým počítačem, co můžeme přidat do této kombinace, možná něco, co má neuromorfní schopnosti. A v závislosti na kombinaci aplikací si můžeme zvolit, co si koupíme, tedy počítač a přizpůsobit ho tak, aby byl efektivnější pro aplikace, které máme.
Podíváme-li se do USA, připravovaný systém El Capitan v Lawrence Livermore National Laboratory je založen na jednotkách APU – CPU a GPU akcelerátorech integrovaných do stejného čipu se sdílenou pamětí. Jaký dopad bude mít podle vás tento plně koherentní paměťový model na vývoj HPC aplikací a knihoven?
Dongarra: Rozhodně to vše zjednodušuje. Nemusíme explicitně posílat data z jedné části procesoru do části akcelerátoru, která provádí výpočet, a později data načítat. Všechna budou k dispozici v paměti velmi přirozeným způsobem, takže tok informací se zrychlí tak, aby byl efektivnější. To bude podle mého názoru velká změna ve způsobu, jakým pracujeme. Zjednoduší to programovací zásobník a programovací komponenty, které používáme. Budeme díky tomu efektivnější, co se používání těchto komponent týče, a bude to přirozenější způsob integrace procesoru a části počítače, která provádí numerické výpočty. Celkově to bude velká změna, a to pozitivní. Je to něco, co jsme už hodně dlouho připravovali, a konečně se toho dočkáme. Myslím, že to zjednoduší používání těchto počítačů.
Kromě práce v USA jste v minulosti informoval i o čínských superpočítačích. Existuje stále aktivní spolupráce s čínskými laboratořemi, nebo se tato spolupráce utlumila, když Čína přestala přihlašovat své počítače do žebříčku TOP500? Můžete se podělit o nějaké poznatky o současném stavu vývoje HPC v Číně?
Dongarra: Číňané mají samozřejmě zájem o vývoj vysoce výkonných počítačů a používají je, stejně jako mnoho jiných zemí, k vědeckým výpočtům a americká vláda přijala rozhodnutí omezit dodávky některých komponent do Číny. Toto omezení stanovilo limity nebo hranice či podmínky, za nichž mohou Číňané získat vysoce výkonné výpočetní technologie. Konkrétně se nesmějí prodávat například grafické procesory určitého rozsahu. Procesory určitého druhu se Číně nesmějí prodávat. Myslím, že to Čínu zpočátku zastavilo, protože vyvíjela počítače s využitím západních technologií; zastavilo to Čínu a přimělo ji to otočit se a vyvíjet a investovat do vlastních technologií. Dnes Čína disponuje řadou systémů, které jsou na úrovni některých amerických systémů, nebo ji překračují. Mají několik počítačů na úrovni exascale a ty jsou vyvíjeny s použitím čínských komponentů. Mají součástky, které byly navrženy a uvedeny do provozu, a které v Číně dnes běží. Otázkou je, kde byly tyto díly vyrobeny. Byly vyrobeny v Číně, na Tchaj-wanu nebo na jiném místě? Když jsem se na to zeptal svých čínských přátel, odpověděli, že byly vyrobeny na Tchaj-wanu. Když jsem na ně zatlačil, řekli, že byly vyrobeny v Číně. A když jsem se jich zeptal, zda nebyly vyrobeny na Tchaj-wanu? Řekli, no, Tchaj-wan je přece součástí Číny. To je jejich odpověď na tuto otázku.
Čína přestala předkládat výsledky. V posledních dvou vydáních žebříčku TOP500 se myslím neobjevily žádné nové počítače. Je to přímý důsledek toho, že USA zavedly embargo na technologie směřující do Číny. Myslím, že Číňané se obávají, že pokud se provalí, že mají technologii vyvinutou v Číně, mohlo by dojít k dalším omezením. Myslím, že je nešťastné, že k tomu došlo. Bohužel omezení byla zavedena a myslím si, že výsledkem toho je, že Čína vyvíjí vlastní technologii. Tato technologie se dnes v Číně používá k vývoji superpočítačů. A to je něco, nad čím my, západní země, zejména USA, dnes opravdu nemáme kontrolu. A nevíme, co přesně mají.
Proslýchá se, že v Číně jsou čtyři počítače. Tři z nich jsou podle mého názoru tradiční velké superpočítače, které možná přesahují to, co mají USA na úrovni exascale. Jsou to tři různé počítače s různou architekturou. Jeden z nich je skutečně velmi výkonný a používá se pro věci související s umělou inteligencí. Rozvoji čínské vědy a technologie pomáhají tedy čtyři počítače s čistě čínskými komponenty.