Předmět: Paralelní programování

« Zpět
Název předmětu Paralelní programování
Kód předmětu KI/PPG
Organizační forma výuky Přednáška + Cvičení
Úroveň předmětu Bakalářský
Rok studia 2
Semestr Letní
Počet ECTS kreditů 5
Vyučovací jazyk Čeština
Statut předmětu Povinně-volitelný
Způsob výuky Kontaktní
Studijní praxe Nejedná se o pracovní stáž
Doporučené volitelné součásti programu Není
Vyučující
  • Lísal Martin, prof. Ing. DSc.
  • Fišer Jiří, Mgr. Ph.D.
  • Posel Zbyšek, doc. RNDr. Ph.D.
Obsah předmětu
1. Principy a klasifikace paralelních systémů (Flynnova taxonomie, masivně paralelní systémy, SMP) 2. Efektivita paralelizace (Amdahlův zákon, Gustafson-Barsisův zákon) 3. Procesy: paralelismus na úrovni OS versus paralelismus na úrovni aplikací (vlákna a jejich role) 4. Paměť: nízkoúrovňový přístup k paměti (C ukazatelů a kešování u SMP) 5. OpenMP (jazyk C) 6. Praktický příklad v OpenMP 7. Parallel-LINQ a Parallel Tasks (v jazyce C#) 8. Praktický příklad v Parallel-LINQ 9. OpenCL (nehomogenní systémy s GPU) 10. Praktický příklad v OpenCL 11. MPI (implementace v C) 12. Praktický příklad v MPI 13. Automatická paralelizace (např. Parallel Computing Toolbox Matlabu)

Studijní aktivity a metody výuky
nespecifikováno
Výstupy z učení
Kurs přináší základní teoretické a především praktické informace související s paralelním programováním. Východiskem je popis paralelních systémů a principů paralelního programování. Hlavní důraz je kladen na těsně vázané systémy se symetrickým multiprocesingem využívající vlákna (OpenMPI a Parallel-LINQ), stručně jsou však představeny i systémy asymetrické (GPGPU) a masivně paralelní systémy. Na seminářích jsou presentovány paralelní řešení elementárních matematicky orientovaných algoritmů či běžných aplikačních operací.

Předpoklady
nespecifikováno
KI/PGL1

Hodnoticí metody a kritéria
nespecifikováno
seminární práce Implementace paralelního algoritmu na alespoň dvou platformách (C# TPL, OpenMP, Matlab, MPI) s benchmarkem a diskusí efektivity algoritmu v závislosti na vstupních parametrech (primárně na velikosti úlohy).
Doporučená literatura
  • Albahari J. C# 4.0 in a Nutshell: The Definitive Reference. O'Reilly Media, 2010. ISBN 978-0596800956.
  • AMD. OpenCL Zone.
  • Chandra R. Parallel Programming in OpenMP. Morgan Kaufmann, 2000. ISBN 978-1558606715.
  • Lísal M. Paralelní počítání. Univerzita J.E.Purkyně, 2006. ISBN 80-7044-784-2.
  • M. Lísal. Paralelní programování s aplikacemi. Ústí n. Lab., 2007.
  • Quinn M. Parallel Programming in C with MPI and OpenMP. McGraw-Hill, 2003. ISBN 978-0072822564.


Studijní plány, ve kterých se předmět nachází
Fakulta Studijní plán (Verze) Kategorie studijního oboru/specializace Doporučený ročník Doporučený semestr
Fakulta: Přírodovědecká fakulta Studijní plán (Verze): Informační systémy (A14) Kategorie: Informatické obory 2 Doporučený ročník:2, Doporučený semestr: Letní