Název:

Aplikace paralelních počítačů

Zkratka:PDD
Ak.rok:2012/2013
Semestr:zimní
Studijní plán:
ProgramOborRočníkPovinnost
VTI-DR-4DVI4-volitelný
Vyučovací jazyk:čeština
Ukončení:zkouška (kombinovaná)
Výuka:
hod./sempřednáškasem./cvičenílab. cvičenípoč. cvičeníjiná
Rozsah:390000
 zkouškatestycvičenílaboratořeostatní
Body:00000
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 svazcích počítačů, SMP, na vícejádrových procesorech a GPU. 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.  
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:
  1. Architektury paralelních počítačů, ukazatele výkonnosti a predikce výkonnosti. 
  2. Vzory paralelního programování   
  3. Programování se sdílenými proměnnými v OpenMP
  4. Programování zasíláním zpráv v MPI
  5. Datově paralelní programování v CUDA/OpenCL
  6. Příklady paralelizace úloh a paralelních aplikací 

 

 

Literatura referenční:
  1. Pacecho, P.: Introduction to Parallel Programming. Morgan Kaufman Publishers, 2011, 392 s., ISBN: 9780123742605   
  2. 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/
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.