Opis: Na tej delavnici se boste naučili orodij in tehnik, potrebnih za pisanje aplikacij CUDA C++, ki se lahko učinkovito prilagajajo gručam grafičnih procesorjev NVIDIA. To boste storili z delom na kodi iz več aplikacij CUDA C++ v interaktivnem okolju v oblaku, ki ga podpira več grafičnih procesorjev NVIDIA. Izpostavili se boste peščici programskih metod z več GPE-ji, vključno z vmesnikom za posredovanje sporočil (MPI), ki podpira CUDA, preden nadaljujete z glavnim poudarkom tega tečaja, NVSHMEM TM.
Podrobnejši opis: Današnje visokozmogljivo računalništvo (HPC) in aplikacije za globoko učenje koristijo in celo zahtevajo računalniško moč GPE na ravni gruče. Pisanje aplikacij CUDA®, ki lahko pravilno in učinkovito uporabljajo grafične procesorje v gruči, zahteva poseben nabor veščin. Na tej delavnici se boste naučili orodij in tehnik, potrebnih za pisanje aplikacij CUDA C++, ki se lahko učinkovito prilagajajo gručam grafičnih procesorjev NVIDIA.
To boste storili z delom na kodi iz več aplikacij CUDA C++ v interaktivnem okolju v oblaku, ki ga podpira več grafičnih procesorjev NVIDIA. Izpostavili se boste peščici programskih metod z več GPE-ji, vključno z vmesnikom za posredovanje sporočil (MPI), ki podpira CUDA, preden nadaljujete z glavnim poudarkom tega tečaja, NVSHMEM TM. NVSHMEM je vmesnik za vzporedno programiranje, ki temelji na OpenSHMEM, ki zagotavlja učinkovito in razširljivo komunikacijo za gruče GPE NVIDIA. NVSHMEM ustvari globalni naslovni prostor za podatke, ki obsegajo pomnilnik več grafičnih procesorjev in se do njih lahko dostopa s podrobnimi operacijami, ki jih sproži GPE, operacijami, ki jih sproži CPE, in operacijami na tokovih CUDA. NVSHMEM-ovi asinhroni prenosi podatkov, ki jih sproži GPE, odpravljajo stroške sinhronizacije med CPE in GPE. Omogočajo tudi dolgo delujoča jedra, ki vključujejo komunikacijo in računanje, s čimer zmanjšajo režijske stroške, ki lahko omejijo delovanje aplikacije pri močnem skaliranju. NVSHMEM je bil zelo učinkovito uporabljen v sistemih, kot je superračunalnik Summit v Oak Ridge Leadership Computing Facility (OLCF), superračunalnik Sierra nacionalnega laboratorija Lawrence Livermore in NVIDIA DGX TM A100.
Potek izobraževanja: Delavnica bo potekala na daljavo preko brskalnika na oblačni infrastrukturi AWS.
Zahtevnost: Napredna
Jezik: Slovenski
Priporočeno predznanje: Srednje izkušnje s programiranjem aplikacij CUDA C/C++
Predlagani materiali za izpolnjevanje predpogojev:
– Osnove pospešenega računalništva s CUDA C/C++
– Pospeševanje aplikacij CUDA C++ z več grafičnimi procesorji
– Pospeševanje aplikacij CUDA C++ s sočasnimi tokovi
– Skaliranje delovnih obremenitev v več grafičnih procesorjih s CUDA C++
Ciljna publika: Razvijalci HPC, ki uporabljajo CUDA v omrežju ali oblaku.
Na izobraževanju pridobljena znanja:
- Napisati kodo, ki jo bo izvedel pospeševalnik GPU.
- Izpostavite in izrazite paralelizem na ravni podatkov in navodil v aplikacijah C/C++ z uporabo CUDA.
- Uporabite pomnilnik, ki ga upravlja CUDA, in optimizirajte selitev pomnilnika z uporabo asinhronega vnaprejšnjega pridobivanja.
- Izkoristite ukazno vrstico in vizualne profile za vodenje svojega dela.
- Uporabite sočasne tokove za paralelizem na ravni navodil.
- Pišite aplikacije CUDA C/C++ s pospeševanjem GPE ali refaktorirajte obstoječe aplikacije, ki uporabljajo samo CPE, z uporabo pristopa, ki temelji na profilu.
Omejitev števila udeležencev: 20
Virtualna lokacija: MS Teams
Organizator:
Predavatelji:
Ime: | Domen Verber |
Opis: | Domen Verber je docent na Fakulteti za elektrotehniko in računalništvo Univerze v Mariboru (UM FERI) ter ambasador NVIDIA Deep Learning Institute za Univerzo v Mariboru in njihov specialist za umetno inteligenco in HPC. S problematiko HPC in umetne inteligence se ukvarja že več kot 25 let. |
domen.verber@um.si, deep.learning@um.si |
Ime: | Jani Dugonik |
Opis: | Jani Dugonik je raziskovalec na Fakulteti za elektrotehniko, računalništvo in informatiko Univerze v Mariboru (UM FERI). Že več kot 10 let dela na področju obdelave naravnega jezika (predvsem strojnega prevajanja) in evolucijskih algoritmov. |
jani.dugonik@um.si |
Več informacij lahko poiščete na spletni strani dogodka, kjer se lahko tudi prijavite.