Sponsored by:

Mouser Electronics logo.

3. delavnica NVIDIA: Prilagoditev globokega učenja CUDA za aplikacije C++ na več vozlišč

Loading Events

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čem 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.
Gradivo delavnice in naloge je v angleščini, predavanja pa bodo potekala v slovenskem jeziku.
Potek izobraževanja: Delavnica bo potekala v interaktivnem oblačnem okolju z dostopom preko brskalnika.
Zahtevnost: Napredna
Jezik: Slovenski
Priporočeno predznanje: Podrobnejše znanje programskega jezika Python in programskih knjižnic za izdelavo modelov strojnega učenja. Podrobnejše znanje teoretičnih in praktičnih vidikov izdelave globokih nevronskih mrež.
Ciljna publika: Študenti, akademiki in praktiki, ki jih zanimajo generativni modeli umetne inteligence.
Na izobraževanju pridobljena znanja:

Srednje izkušnje s pisanjem aplikacij CUDA C/C++.

Predlagane delavnice 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++
Omejitev števila udeležencev: 20
Virtualna lokacija: MS Teams
Speaker(s): Domen Verber, Jani Dugonik
Agenda:
Delavnica: Prilagoditev globokega učenja CUDA za aplikacije C++ na več vozlišč – May 21,
2024 – May 21, 2024, MS Teams.
Daily Program: Tuesday, May 21, 2024
Session: Uvod (Spoznajte inštruktorja. Ustvarite račun na courses.nvidia.com/join.
Spoznajte svoje interaktivno okolje JupyterLab, ki ga pospešuje GPE.)
Time and Place: (10:00 AM – 10:15 AM)
Conveners: Domen Verber; Jani Dugonik
Session: Paradigme programiranja z več GPE (Raziščite več tehnik za programiranje
aplikacij CUDA C++ za več grafičnih procesorjev z uporabo Monte Carlo približka programa
CUDA C++. – Uporabite CUDA za uporabo več grafičnih procesorjev. – Naučite se omogočiti
in uporabljati neposredno pomnilniško komunikacijo enakovrednih. – Napišite različico
SPMD z MPI, ki podpira CUDA. )
Time and Place: (10:15 AM – 12:15 PM)
Session: Odmor
Time and Place: (12:15 PM – 1:15 PM)
Session: Uvod v NVSHMEM (Naučite se pisati kodo z NVSHMEM in razumeti njegov simetrični
spominski model. – Uporabite NVSHMEM za pisanje kode SPMD za več grafičnih procesorjev.
– Uporabite simetrični pomnilnik, da vsem GPE omogočite dostop do podatkov na drugih
GPE. – Izvajajte prenose pomnilnika, ki jih sproži GPE.)
Time and Place: (1:15 PM – 3:15 PM)
Session: Odmor
Time and Place: (3:15 PM – 3:30 PM)
Session: Izmenjave Halo z NVSHMEM (Vadite pogoste motive kodiranja, kot so izmenjave
halojev in dekompozicija domen z uporabo NVSHMEM, in delajte na oceni. – Napišite
implementacijo NVSHMEM Jacobijevega reševalca Laplaceove enačbe. – Refaktorirajte enojni
reševalec valovnih enačb GPE 1D z NVSHMEM. – Opravite oceno in pridobite certifikat.)
Time and Place: (3:30 PM – 5:00 PM)
Session: Končni pregled (- Spoznajte kompromise aplikacij pri gručah GPE. – Preglejte
ključna spoznanja in odgovorite na vprašanja. – Izpolnite anketo na delavnici.)
Time and Place: (5:00 PM – 5:45 PM)
Virtual: https://events.vtools.ieee.org/m/408288

Share This Story, Choose Your Platform!

Go to Top