Delavnica: Osnove pospešenega računalništva z uporabo programskega ogrodja CUDA C/C++

Europe/Ljubljana
MS Teams

MS Teams

Domen Verber, Jani Dugonik
Description

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

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

    • Uvod (Spoznajte inštruktorja. Ustvarite račun na courses.nvidia.com/join. Spoznajte svoje interaktivno okolje JupyterLab, ki ga pospešuje GPE.)
      Conveners: Domen Verber, Jani Dugonik
    • 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. )
    • Odmor
    • 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.)
    • Odmor
    • 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.)
    • Končni pregled (- Preglejte ključna spoznanja. - Ocena tečaja. - Izpolni anketo na delavnici. )