Název:

Aplikace paralelních počítačů

Zkratka:PDD
Ak.rok:2013/2014
Semestr:zimní
Studijní plán:
ProgramObor/
specializace
RočníkPovinnost
VTI-DR-4DVI4-volitelný
Vyučovací jazyk:čeština
Ukončení:zkouška (kombinovaná)
Výuka:
hod./sempřednáškasem./cvič.lab. cvič.poč. cvič.jiná
Rozsah:390000
 zkouškatestycvičenílaboratořeostatní
Body:1000000
Garant:Dvořák Václav, prof. Ing., DrSc. (UPSY)
Fakulta:Fakulta informačních technologií VUT v Brně
Pracoviště:Ústav počítačových systémů FIT VUT v Brně
Prerekvizity: 
Architektura a programování paralelních systémů (ARC), UPSY
 
Cíle předmětu:
  Vysvětlit možnosti paralelního programování na vícejádrových procesorech, na svazcích počítačů a na GP GPU. Získat přehled o technikách synchronizace a komunikace. Seznámit se s metodikou paralelizace a predikcí výkonnosti vybraných reálných aplikací, tvorbě správných programů a užití paralelních výpočtů v praxi.  

Okruhy otázek k SDZ:
1. Ukazatelé paralelního zpracování. Funkce konstantní účinnosti, definice škálovatelnosti.
2. Vzory paralelních algoritmů, podpůrné struktury programů a datové. 
3. Násobení matic se sdílenou pamětí, predikce výkonnosti.
4. Násobení matic se zasíláním zpráv, predikce výkonnosti.
5. Techniky zasílání zpráv mezi 2 partnery a kolektivní.
6. Paralelizace částicových systémů, predikce výkonnosti u zasílání zpráv..
7. Synchronizace u sdílené paměti.
8. Paralelizace výpočtů na mřížkách.
9. Částicové systémy na GPGPU, predikce výkonnosti.
10. Zásady paralelního programování orientovaného na výkonnost.

Anotace:
  Předmět podává přehled existujících použitelných paralelních platforem a modelů programování, zejména programování se sdílenou pamětí (OpenMP), zasíláním zpráv (MPI) a datově-paralelní programování (CUDA, OpenCL). Metodika paralelizace programů je doplněna studiem výkonnosti a aplikována na určitý konkrétní problém. Důraz je na praktických aspektech a implementaci.
Požadované prerekvizitní znalosti a dovednosti:
  Typy paralelních počítačů, programování v C/C++, základní numerické metody
Získané dovednosti, znalosti a kompetence z předmětu:
  Naučit se paralelizovat různé třídy úloh a predikovat jejich výkonnost. Umět využívat paralelismu a komunikace na úrovni vláken a procesů. Seznámit se s moderními standardními rozhraními, rozšířením jazyků a dalšími nástroji pro paralelní programování. Napsat a odladit paralelní program pro vybranou úlohu.
Dovednosti, znalosti a kompetence obecné:
  Paralelní architektury s distribuovanou a sdílenou pamětí, programování v C/C++ s MPI a OpenMP, GPGPU, paralelizace základních numerických metod.
Osnova přednášek:
 
  • Architektury paralelních počítačů, ukazatele výkonnosti a predikce výkonnosti. 
  • Vzory paralelního programování 
  • Techniky synchronizace a komunikace.  
  • Programování se sdílenými proměnnými v OpenMP
  • Programování zasíláním zpráv v MPI
  • Datově paralelní programování v CUDA/OpenCL
  • Příklady paralelizace úloh a paralelních aplikací 

 

Literatura referenční:
 
  • Pacecho, P.: Introduction to Parallel Programming. Morgan Kaufman Publishers, 2011, 392 s., ISBN: 9780123742605   
  • Kirk, D., and Hwu, W.: Programming Massively Parallel Processors: A Hands-on Approach, Elsevier, 2010, s. 256, ISBN: 978-0-12-381472-2
Literatura studijní:
 
  1. http://www.cs.kent.edu/~jbaker/ParallelProg-Sp11/
  2. http://dolores.sp.cs.cmu.edu/spring2013/
Kontrolovaná výuka:
  Obhajoba projektu, programového díla využívajícího některou variantu paralelního programování.
Zkouška probíhá jako obhajoba malého projektu, nejlépe z oblasti, na kterou se doktorand chce zaměřit v disertační práci. Projekt by měl demonstrovat potřebné zvýšení výkonnosti při řešení konkrétního problému použitím clusteru, vícejádrového procesoru nebo GPU. Podle toho je třeba zvolit programování v OpenMPI, OpenMP nebo CUDA/OpenCL, popřípadě v nějakém dalším specializovaném jazyce.
 

Vaše IPv4 adresa: 34.207.146.166
Přepnout na https

DNSSEC [dnssec]