2. delavnica NVIDIA: Pospeševanje aplikacij CUDA C++ z več grafičnimi procesorji
Opis: Na delavnici boste spoznali kako izdelati aplikacijo v programskem ogrodju CUDA C/C++, ki učinkovito izkorišča vse razpoložljive grafične procesorje nameščene v lokalnem strežniku oziroma v enem od vozlišč visoko zmogljivega računalniškega centra. To lahko bistveno poveča zmogljivost vaših aplikacij in omogoča stroškovno učinkovito uporabo sistemov z več grafičnimi procesorji.
Podrobnejši opis: Programsko ogrodje CUDA C++ omogoča učinkovito izrabo grafičnih procesorjev za pospešitev delovanja računsko intenzivnih aplikacij na področjih kot so visokozmogljivo računalništvo, podatkovna znanost, bioinformatika, globoko učenje in drugje. Z sočasno uporabo več grafičnih pospeševalnikov lahko bistveno povečamo prepustnost oziroma skrajšamo skupni čas izvajanja opravil v primerjavi z uporabo ene pospeševalne enote. Dodatno lahko, s sočasnim prekrivanjem prenosa podatkov in računskih opravil, bistveno zmanjšajmo vpliv omejitve hitrosti prenosa podatkov med CPE in GPE. Kombinacija obeh tehnik nam omogoča maksimalno učinkovitost za strežnike z več grafičnimi pospeševalniki, bodisi v oblaku, omrežju ali lokalnih sistemih. Implementacija tehnik z več grafičnimi pospeševalniki na enem vozlišču je bistvenega pomena tudi za nadgradnjo aplikacij, ki se bodo izvajale na več vozliščih.
Potek izobraževanja: Delavnica bo potekala na daljavo preko brskalnika na oblačni infrastrukturi AWS.
Zahtevnost: Napredna
Jezik: Slovenski
Priporočeno predznanje: Praktično izkušnje s programiranjem aplikacij v programskem ogrodju CUDA C/C++, vključno z uporabo prevajalnika nvcc, zagonom jedra, pospešitvijo izvajanja zank, prenosi pomnilnika med napravami ter obravnave napak. Poznavanje ukazne vrstice Linux. Izkušnje z uporabo datotek Make za prevajanje kode C/C++.
Ciljna publika: Razvijalci visokozmogljivih aplikacij, ki uporabljajo programsko ogrodje CUDA lokalno ali v oblaku.
Na izobraževanju pridobljena znanja:
- Kako uporabiti tokove CUDA za prekrivanje prenosov podatkov z izvajanjem jeder na grafičnih procesorjih,
- kako učinkoviti uporabiti vse razpoložljive grafične procesorje na enem vozlišču,
- kako učinkovito združiti uporabo tehnike prekrivanja faz kopiranja podatkov in izračuna z uporabo več grafičnimi procesorjev, in
- kako uporabiti orodje NVIDIA Nsight™ Systems Visual Profiler za analizo in izboljšanje uporabe tehnik, obravnavanih na delavnici.
Omejitev števila udeležencev: 20
Virtualna lokacija: MS Teams
Date and Time
Location
Hosts
Registration
- Date: 16 Apr 2024
- Time: 10:00 AM to 06:00 PM
- All times are (UTC+02:00) Ljubljana
- Add Event to Calendar
Speakers
Domen Verber
Email:
Jani Dugonik
Email:
Agenda
Delavnica: Pospeševanje aplikacij CUDA C++ z več grafičnimi procesorji - Apr 16, 2024 -
Apr 16, 2024, MS Teams.
Daily Program: Tuesday, April 16, 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:30 AM)
Conveners: Domen Verber; Jani Dugonik
Session: Pregled aplikacije (Usmerite se z eno samo aplikacijo GPU CUDA C++, ki bo
izhodišče za tečaj. Opazujte trenutno zmogljivost posamezne aplikacije GPU CUDA C++ z
uporabo Nsight Systems.)
Time and Place: (10:30 AM - 10:45 AM)
Session: Uvod v tokove CUDA (- Naučite se pravil, ki urejajo sočasno vedenje toka CUDA. -
Uporabite več tokov CUDA za izvajanje hkratnih prenosov pomnilnika od gostitelja do
naprave in od naprave do gostitelja. - Uporabite več tokov CUDA za zagon jeder GPE. -
Opazujte več tokov v pogledu časovne osi Nsight Systems Visual Profiler.)
Time and Place: (10:45 AM - 12:15 PM)
Session: Odmor
Time and Place: (12:15 PM - 1:15 PM)
Session: Prekrivanje kopiranja/računanja s tokovi CUDA (- Naučite se ključnih konceptov za
učinkovito izvajanje prekrivanja kopiranja/računanja. - Raziščite zanesljive strategije
indeksiranja za prilagodljivo uporabo prekrivanja kopiranja/računanja v aplikacijah. -
Preoblikujte aplikacijo CUDA C++ z enim GPE-jem za izvedbo prekrivanja
kopiranja/računanja. - Oglejte si prekrivanje kopiranja/računanja na časovnici
vizualnega profilerja Nsight Systems.)
Time and Place: (1:15 PM - 2:45 PM)
Session: Več grafičnih procesorjev s CUDA C++ (- Naučite se ključnih konceptov za
učinkovito uporabo več grafičnih procesorjev na enem vozlišču s CUDA C++. - Raziščite
robustne strategije indeksiranja za prilagodljivo uporabo več grafičnih procesorjev v
aplikacijah. - Preoblikujte aplikacijo CUDA C++ z enim GPE-jem za uporabo več GPE. -
Oglejte si uporabo več grafičnih procesorjev na časovnici Nsight Systems Visual
Profiler.)
Time and Place: (2:45 PM - 3:45 PM)
Session: Odmor
Time and Place: (3:45 PM - 4:00 PM)
Session: Prekrivanje kopiranja/računanja z več grafičnimi procesorji (- Naučite se
ključnih konceptov za učinkovito izvajanje prekrivanja kopiranja/računanja na več
grafičnih procesorjih. - Raziščite robustne strategije indeksiranja za prilagodljivo
uporabo prekrivanja kopiranja/računanja na več grafičnih procesorjih. - Preoblikujte
aplikacijo CUDA C++ z enim GPE-jem za izvajanje prekrivanja kopiranja/računanja na več
GPE-jih. - Opazujte prednosti zmogljivosti za prekrivanje kopiranja/računanja na več
grafičnih procesorjih. - Oglejte si prekrivanje kopiranja/računanja na več grafičnih
procesorjih na časovnici vizualnega profilerja Nsight Systems. )
Time and Place: (4:00 PM - 5:00 PM)
Session: Ocena tečaja (Opravite nalogo za oceno in pridobite certifikat.)
Time and Place: (5:00 PM - 5:30 PM)
Session: Končni pregled (- Pregled ključnih spoznanj. - Naučite se zgraditi svoje okolje
za usposabljanje iz vsebnika osnovnega okolja DLI. - Izpolnite anketo na delavnici. )
Time and Place: (5:30 PM - 6:00 PM)