Fakulta informačních technologií VUT v Brně

Detail předmětu

Paralelní výpočty na GPU

PCG Ak. rok 2019/2020 zimní semestr 5 kreditů

Předmět pokrývá architekturu a programování grafických karet Nvidia a částečně i AMD. Nejprve je detailně rozebrána architektura grafických karet. Následně je popsán model vykonávání programu pomocí techniky SIMT a víceúrovňové rozdělení výpočtu do vláken a bloků. Následuje popis hierarchie paměti CUDA, techniky synchronizace a redukce. Následuje popis pokročilých technik dynamického paralelismu a data-flow zpracování na GPU zakončené možnostmi využití více GPU v distribuovaných systémech s technologií NVlink a MPI společně s technikami překrývání výpočtu a komunikace. Předmět dále popisuje vysokoúrovňové knihovny pro akceleraci algoritmů na GPU. Zbytek předmětu se věnuje technologii OpenACC, která významně zjednodušuje programování grafických karet pomocí pragma nápověd pro kompilátor.

Garant předmětu

Zástupce garanta předmětu

Jazyk výuky

česky

Zakončení

zkouška (písemná)

Rozsah

26 hod. přednášky, 12 hod. pc laboratoře, 14 hod. projekty

Bodové hodnocení

60 zkouška, 15 půlsemestrální test, 25 projekty

Zajišťuje ústav

Přednášející

Cvičící

Kadlubiak Kristián, Ing. (UPSY FIT VUT)
Kukliš Filip, Ing. (UPSY FIT VUT)

Získané dovednosti, znalosti a kompetence z předmětu

Znalost využití grafických karet pro akceleraci obecných výpočtů, orientace v oblasti akcelerovaných výpočetních systémů a knihoven.

Dovednosti, znalosti a kompetence obecné

Pochopení důsledků hardwarových omezení na efektivitu softwarových řešení.

Cíle předmětu

Detailně se seznámit s architekturou a programováním grafických karet v oblasti obecných výpočtů pomocí knihoven Nvidia CUDA a standardu OpenACC. Naučit se navrhovat akcelerované programy využívající potenciál grafických karet. Seznámit se dostupnými knihovnami pro akceleraci výpočtu na grafických kartách. 

Proč je předmět vyučován

Budoucnost nejen superpočítačových systémů, ale i běžných PC je v heterogenních systémech, kde sekvenční a kontrolní část provádí běžný procesor, zatímco výpočetně náročné části jsou převedeny na akcelerátor, v tomto případě grafickou kartu. Tento předmět Vás provede úskalím programování grafických karet pomocí nízkoúrovňové knihovny Nvidia CUDA i vysokoúrovňového rozhraní OpenACC. Získáte tak potřebné znalosti pro zápis, testování a optimalizaci masivně paralelních výpočetních úloh.

Požadované prerekvizitní znalosti a dovednosti

Látka vyučovaná v předmětech AVS, PRL a částečně PPP.

Literatura studijní

Literatura referenční

  • Kirk, D., and Hwu, W.: Programming Massively Parallel Processors: A Hands-on Approach, Elsevier, 2010, s. 256, ISBN: 978-0-12-381472-2
  • Sanders, J., & Kandrot, E: CUDA by Example: An Introduction to General-Purpose GPU Programming. Review Literature And Arts Of The Americas. Addison-Wesley, 2010.
  • Storti,D., and Yurtoglu, M.: CUDA for Engineers: An Introduction to High-Performance Parallel Computing, Addison-Wesley Professional; 1 edition, 2015. ISBN 978-0134177410.
  • Chandrasekaran, S., and Juckeland, G.: OpenACC for Programmers: Concepts and Strategies,  Addison-Wesley Professional, 2017, ISBN 978-0134694283

Osnova přednášek

  1. Architektura grafických jednotek GPU. 
  2. CUDA model vykonávání programu. 
  3. CUDA hierarchie pamětí. 
  4. Synchronizace a redukce. 
  5. Dynamický paralelismus a unifikovaná paměť. 
  6. Návrh a optimalizace algoritmů pro GPU. 
  7. Víceproudové zpracování, překrytí komunikace a výpočtu. 
  8. Multi-GPU systémy. 
  9. Knihovna Nvidia Thrust. 
  10. Základy knihovny OpenACC. 
  11. Správa paměti v OpenACC. 
  12. Optimalizace s OpenACC. 
  13. Knihovny pro akceleraci výpočtů pomocí GPU.

Osnova ostatní - projekty, práce

  • Vývoj aplikace v prostředí Nvidia CUDA
  • Vývoj aplikace v prostředí OpenACC

Průběžná kontrola studia

Vyhodnocení dvou projektů v celkovém rozsahu 14 hodin, půlsemestrální písemka.

Kontrolovaná výuka

  • Zameškaná cvičení je možné nahradit v alternativní termín.
  • V poslední týdnu semestru budou probíhat náhradní cvičení.

Podmínky zápočtu

Získání 20 ze 40 bodů za projekty a půlsemestrální písemku.

Rozvrh

DenTypTýdnyMístn.OdDoPSKSkupInfo
Popřednáškavýuky G202 16:0017:50 1MIT 2MIT xx
Stpoč. labvýuky O204 08:0009:50 1MIT 2MIT xx
Stpoč. labvýuky O204 10:0011:50 1MIT 2MIT xx
Stpoč. labvýuky O204 12:0013:50 1MIT 2MIT xx

Zařazení předmětu ve studijních plánech

Nahoru