Opis: Delavnica obravnava temeljna orodja in tehnike za pospeševanje aplikacij napisanih v programskem jeziku C oziroma C++ s programskim ogrodjem CUDA C/C++. Udeleženci delavnice se bodo spoznali z implementacijo aplikacij, ki se izvajajo na grafičnih pospeševalnikih in nekaj osnovnih tehnik optimizacije za pohitritev njihovega delovanja. Od udeležencev delavnice se ne zahteva nobeno predznanje dela z grafičnimi procesorji.
Podrobnejši opis: Na delavnici bomo prikazali kako lahko pospešimo izvajanje programske kode zapisane v programskem jeziku C oziroma C++ z uporabo programskega ogrodja CUDA C/C++, ki omogoča izvajanje aplikacij na grafičnih procesorjih.
Spoznali bomo:
– kako napisati aplikacijo, ki se bo izvajala na grafičnem pospeševalniku,
– kako lahko izkoristimo vzporedno izvajanjem delov programske kode na velikem številu procesnih jeder, ki jih ponuja grafična procesna enota,
– kako učinkovito uporabimo različne tehnike upravljanja s pomnilnikom v okolju CUDA za optimizacijo delovanja pospešenih aplikacij,
– kako preverimo učinkovitost posameznih tehnik optimizacije z uporabo orodij za profiliranje, ki se izvajajo preko ukazne vrstice ali preko grafičnega vmesnika,
– kako lahko dodatno pospešimo izvajanje aplikacij z uporabo programskih tokov, ki jih ponuja ogrodje CUDA.
Po zaključku delavnice boste znali pospešiti in optimizirali obstoječe aplikacije zapisane v C/C++ z uporabo osnovnih orodij in tehnik, ki jih ponuja ogrodje CUDA. Razumeli boste iterativni slog razvoja rešitev CUDA, ki vam bo omogočil hitro izdelavo pospešenih aplikacij.
Po končani delavnici lahko pridobite certifikat Inštituta za globoko učenje podjetja NVIDIA.
Potek izobraževanja: Delavnica bo potekala na daljavo preko brskalnika na oblačni infrastrukturi AWS.
Zahtevnost: Osnovna
Jezik: Slovenski
Priporočeno predznanje: Osnovno znanje C/C++, vključno s poznavanjem vrst spremenljivk, zank, pogojnih stavkov, funkcij in delo z nizi. Predhodno poznavanje programskega ogrodja CUDA ni potrebno.
Ciljna publika: Razvijalci visokozmogljivih aplikacij in študenti, ki uporabljajo ali bi želeli uporabljati programsko ogrodje CUDA lokalno, v omrežju ali v oblaku.
Omejitev števila udeležencev: 20
Virtualna lokacija: MS Teams
Povezava za prijavo na delavnico: https://indico.ijs.si/event/2055/
Speaker(s): Domen Verber, Jani Dugonik
Agenda:
Delavnica: Osnove pospešenega računalništva s CUDA C/C++ – Mar 26, 2024 – Mar 26, 2024,
MS Teams.
Daily Program: Tuesday, March 26, 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: Pospeševanje aplikacij s CUDA C/C++ ( Naučite se osnovne sintakse in konceptov,
da boste lahko pisali aplikacije C/C++, ki podpirajo GPE, s CUDA: – Napišite, prevedite
in zaženite kodo GPE. – Nadzor vzporedne hierarhije niti. – Dodelite in sprostite
pomnilnik za GPE. )
Time and Place: (10:15 AM – 12:15 PM)
Session: Odmor
Time and Place: (12:15 PM – 1:15 PM)
Session: Upravljanje pomnilnika pospešenih aplikacij s CUDA C/C++ ( Naučite se profilerja
ukazne vrstice in upravljanega pomnilnika CUDA, pri čemer se osredotočite na izboljšave
aplikacij, ki temeljijo na opazovanju, in globoko razumevanje obnašanja upravljanega
pomnilnika: – Profilirajte kodo CUDA s profilerjem ukazne vrstice. – Poglobite se v
enoten pomnilnik. – Optimizirajte enotno upravljanje pomnilnika.)
Time and Place: (1:15 PM – 3:15 PM)
Session: Odmor
Time and Place: (3:15 PM – 3:30 PM)
Session: Asinhrono pretakanje in vizualno profiliranje za pospešene aplikacije s CUDA
C/C++ (Prepoznajte priložnosti za izboljšano upravljanje pomnilnika in paralelizem na
ravni navodil: – Profilirajte kodo CUDA z NVIDIA Visual Profiler. – Uporabite sočasne
tokove CUDA.)
Time and Place: (3:30 PM – 5:30 PM)
Session: Končni pregled (- Preglejte ključna spoznanja. – Ocena tečaja. – Izpolni anketo
na delavnici. )
Time and Place: (5:30 PM – 6:00 PM)
Virtual: https://events.vtools.ieee.org/m/408286
This event has passed.