Jakub Homola, doktorand z Fakulty elektrotechniky a informatiky VŠB – Technické univerzity Ostrava (FEI), který zároveň působí v národním superpočítačovém centru IT4Innovations, absolvoval prestižní stáž v americké Argonne National Laboratory (ANL). Během svého pobytu pracoval i na superpočítači Aurora, který patří mezi nejvýkonnější systémy světa.
V rámci stáže se zaměřil na to, jak zjednodušit vývoj aplikací pro různé typy grafických procesorů – od NVIDIA přes AMD až po Intel. Pomocí technologií Kokkos a KokkosKernels zkoumal možnosti, jak vědcům usnadnit využívání moderních superpočítačů bez nutnosti přepisovat aplikace pro každý typ hardwaru zvlášť.
Jeho stáž navázala na dlouhodobou spolupráci mezi Argonne National Laboratory a Laboratoří pro výzkum infrastruktury IT4Innovations vedenou Lubomírem Říhou. Zeptali jsme se Jakuba, jaké pro něj bylo pracovat v jednom z předních světových center pro výzkum v oblasti vysoce výkonného počítání, co mu stáž přinesla a jaké zkušenosti si odnáší.
JH: V rámci Ph.D. studia máme povinnost strávit nějaký čas
v zahraniční instituci. Začal jsem uvažovat o možnostech v Evropě, ale když mi můj školitel řekl, že spolupracuje s lidmi z Argonne
a že by byla možnost absolvovat stáž tam, souhlasil jsem. Mají tam několik placených stážových programů, přes které jsem se tam mohl dostat, ale kvůli příliš komplikované byrokracii
a pravděpodobně i politické situaci jsem mohl jet jen na neplacenou stáž (ale pořád jsem dostal mobilitní stipendium z VŠB-TUO a FEI). Přijímací proces se tím prakticky eliminoval, byrokracie ale bylo pořád dost.
Jaké to bylo začít na měsíc žít na jiném kontinentu – od hledání bydlení až po první dny v Argonne National Laboratory?
JH: Jako správný prokrastinátor jsem si začal hledat bydlení jen asi měsíc před začátkem stáže, takže už nebylo moc z čeho vybírat. Nechtěl jsem si půjčovat auto, takže jsem hledal něco s dobrým spojením hromadnou dopravou do Argonne a Chicaga. Přestože mi cesta mezi ubytováním a Argonne trvala něco přes hodinu, musím říct, že celkově jsem byl se svým výběrem městečka Aurora spokojený. První dojmy sice byly trochu nejisté, ale zalíbilo se mi tam. Je to celkem pěkné typické středně velké americké městečko, protéká jím řeka Fox, kolem které je pěkný park se stezkami a spoustou zeleně.
A ani mi vlastně nepřišlo nijak zvláštní žít na jiném kontinentu; člověk pořád nějak chodí do obchodu, dělá si jídlo, jezdí do práce, relaxuje, využívá volný čas apod., jenom prostě trochu jinak než doma, žádný extra kulturní šok se nekonal. Jediný výrazný rozdíl byl, že bez auta tam má člověk mnohem menší volnost, ale o tom jsem věděl a přizpůsobil tomu výběr ubytování.
První dny v Argonne jsem se samozřejmě všude trochu ztrácel, ostatní spolu-stážisti a kolegové ale byli vždycky nápomocní. A stážistů tam přes léto bývají stovky, takže jsou na to v Argonne připravení.
Na čem konkrétně jsi během stáže pracoval?
JH: Velká část dnešních superpočítačů, zejména těch nejvýkonnějších, dostává svůj výkon ne z klasických procesorů, ale z GPU akcelerátorů, které jsou daleko rychlejší a energeticky efektivnější. Typicky se používají GPU akcelerátory tří výrobců – NVIDIA, AMD a Intel. Každý výrobce ale používá jiný programovací model pro programování jejich akcelerátorů. Když vyvíjíte aplikaci, která má podporovat všechny tři typy GPU akcelerátorů, obvykle ji musíte uzpůsobit pro každého výrobce GPU zvlášť.
Existují ale softwarové knihovny (např. Kokkos a KokkosKernels, jimiž jsem se zabýval), které sjednocují přístup ke GPU akcelerátorům všech výrobců; detaily a rozdíly si řeší knihovna sama vevnitř, místo toho, aby to musel řešit sám programátor. To ušetří práci, protože stačí napsat jen jednu verzi kódu namísto tří.
Zároveň ale tyto knihovny musí dělat různé kompromisy, které snižují výkon dané aplikace. Cílem mé práce tedy bylo použít knihovny Kokkos a KokkosKernels, zhodnotit jejich použitelnost a zjistit, jak zásadně zmíněné kompromisy ovlivní výkon naší aplikace. A díky Argonne jsem dostal přístup i k superpočítači Aurora, na kterém jsem mohl testovat můj kód na GPU akcelerátorech firmy Intel.
Jak se lišilo prostředí a způsob práce v americké výzkumné instituci od toho, na co jsi zvyklý z Česka?
JH: Přišlo mi, že se tam klade mnohem větší důraz na spolupráci. Lidi se mezi sebou znají více a vědí o sobě, kdo co dělá, a kdykoliv je jenom možnost, že by někdo mohl s něčím pomoct, naplánuje se meeting v zasedačce a pokecá se. Taky to tam byl prakticky jeden velký open space, což téhle spolupráci napomáhá. Ale nemám dost zkušeností na to, abych mohl říct, jestli to bylo Amerikou, nebo tím, že to je prostě jenom jiná instituce s jinými lidmi a zvyklostmi.
Co tě během pobytu v Argonne nejvíce překvapilo – po odborné stránce nebo třeba i mimo laboratoř?
JH: Nejvíc mě asi překvapilo, jak vážně se tam bere informační bezpečnost. Protože je Argonne pod DOE (Department of Energy), tj. vládní agentura, dává se hodně velký pozor na špionáž, krádež znalostí, technologií apod. Prý už tam měli několik případů špionáže a vniknutí do počítačové sítě s cílem ukrást data a technologie. I když já jsem pracoval vesměs jen s open-source softwarem, pořád na mě všechna pravidla platila. Bylo to trochu nekomfortní a znepříjemňovalo to každodenní práci, ale chápu ten důvod.
Taky bylo zajímavé vidět, jak moc se obecně v USA řeší nebezpečí tornád a jak častá tornáda jsou. Jenom za těch 5 týdnů byly dvě výstrahy o zvýšeném nebezpečí výskytu tornád (tornado watch),
a ve vzdálenějším okolí se nějaká tornáda i objevila.
Co si ze stáže odnášíš do své další práce a co bys doporučil studentům a mladým výzkumníkům, kteří by chtěli získat podobnou zahraniční zkušenost?
JH: Z technických znalostí jsem se zejména naučil pracovat s ekosystémem kolem knihovny Kokkos, získal jsem přístup ke komunitě vývojářů a uživatelů Kokkosu, získal jsem zkušenosti s vyhodnocením přenositelnosti výkonu (performance portability) aplikací, nové informace o softwaru kolem Intel GPU akcelerátorů a mnoho dalšího. Myslím si ale, že pro mě byla stáž cennější, co se týče soft skills.
Práce v jiném kolektivu, s jinými lidmi, v jiném prostředí a trochu jiným způsobem mi dala zkušenosti odjinud, aniž bych musel opouštět svou současnou pozici. Ostatním bych určitě jen doporučil nějakou takovou stáž absolvovat – dost pravděpodobně vám to rozšíří obzory ve směru, o kterém jste ani nevěděli, že existuje. A buď vám otevře cesty do světa, nebo vás ujistí, že všude dobře, doma nejlíp.
Kdybys měl vybrat jeden moment ze stáže, na který budeš nejvíce vzpomínat, který by to byl?
JH: Uvažoval jsem dlouho, ale nenapadá mě nic, co by nějak vyčnívalo. Mám spoustu vzpomínek, od osobní prohlídky superpočítače Aurora přes cyklovýlet kolem jezera Michigan, chicagskou deep-dish pizzu, průvod městem Aurora v den obětí války (Memorial Day) až po den otevřených dveří v celém ANL v poslední den mé stáže, ale nic z toho se nedá vypíchnout. Každý z těchto zážitků měl něco do sebe a přestože mám i špatné vzpomínky (porouchal se mi noťas už v druhý týden stáže), celkově na dobu v USA vzpomínám rád.
Kubovi děkujeme za rozhovor.







