Obsahem této práce je seznámení se s principy paralelního programování, jeho základních rozdělení a implementace paralelních metod do stávajících programů v programovacím jazyce C resp. C++.
Anotace v angličtině
The aim of this thesis is to acknowledge with principles of parallel programming, its basic divisions and implementations of parallel methods into already existing programs in C or C++ programming language.
Obsahem této práce je seznámení se s principy paralelního programování, jeho základních rozdělení a implementace paralelních metod do stávajících programů v programovacím jazyce C resp. C++.
Anotace v angličtině
The aim of this thesis is to acknowledge with principles of parallel programming, its basic divisions and implementations of parallel methods into already existing programs in C or C++ programming language.
Vytvořte literární rešerši popisující:
- vlastnosti základních typů paralelních systémů (Flynnova taxonomie)
- vlastnost PRAM modelů a jejich vzájemné vztahy, vztah k SMP a možnosti simulací na jiných než SMP systémech
- základní metody paralelizace sekvenčních úloh
- problémy a překážky vznikající při paralelizaci úloh na výpočetních systémech
- vlastnosti a možnosti jazyk OpenMP při paralelizaci výpočetních úloh a jiných algoritmů na SMP systémech.
V praktické části dokumentu popište:
- základní paralelizační techniky, včetně analýzy časové a paměťové složitostí a implementace příkladů pomocí jazykce C/C++ a knihovny OpenMP
- paralelizaci základních výpočetních a datových algoritmů, včetně analýzy časové a paměťové složitosti a implementace v jazyce C/C++ s pomocí knihovny OpenMP.
Proveďte měření reálné doby běhu paralelizovaných algoritmů pro 1- 8 procesorů a výsledky popište a zpracujte ve formě přehledných tabulek. Komentujte dosažené výsledky.
Zásady pro vypracování
Vytvořte literární rešerši popisující:
- vlastnosti základních typů paralelních systémů (Flynnova taxonomie)
- vlastnost PRAM modelů a jejich vzájemné vztahy, vztah k SMP a možnosti simulací na jiných než SMP systémech
- základní metody paralelizace sekvenčních úloh
- problémy a překážky vznikající při paralelizaci úloh na výpočetních systémech
- vlastnosti a možnosti jazyk OpenMP při paralelizaci výpočetních úloh a jiných algoritmů na SMP systémech.
V praktické části dokumentu popište:
- základní paralelizační techniky, včetně analýzy časové a paměťové složitostí a implementace příkladů pomocí jazykce C/C++ a knihovny OpenMP
- paralelizaci základních výpočetních a datových algoritmů, včetně analýzy časové a paměťové složitosti a implementace v jazyce C/C++ s pomocí knihovny OpenMP.
Proveďte měření reálné doby běhu paralelizovaných algoritmů pro 1- 8 procesorů a výsledky popište a zpracujte ve formě přehledných tabulek. Komentujte dosažené výsledky.
Seznam doporučené literatury
Brian W. Kernighan, Dennis M. Ritchie, Programovací jazyk C, Computer Press, 2006, ISBN 80-251-0897-X.
Stephen Prata, Mistrovství v C++, 3. vydání, Computer Press, 2007, ISBN 978-80-251-1749-1.
Chandra, R., Dagum, L., Kohr, D., Maydan, D., McDonald, J., Menon, R., Parallel Programming in OpenMP, Morgan Kaufmann Publishersm, 2001, ISBN 1-55860-671-8.
Prof. P. Tvrdík, Paralelní systémy a algoritmy, Nakladatelství ČVUT, 2006, ISBN 80-01-03565-4.
J. Keller, Ch. W. Keßler, J. L. Träff, Practical PRAM Programming, John Wiley & Sons, Inc., 2001, ISBN 0-471-35351-5.
Jesse Liberty, Naučte se C++ za 21 dní, Computer Press, 2002, ISBN 80-7226-774-4.
MSDN:OpenMP in Visual C++ [online]. Dostupný z WWW: http://msdn2.microsoft.com/en-us/library/tt15eb9t.aspx
OpenMP [online]. Dostupný z WWW: http://www.openmp.org/blog/
OpenMP [online]. Dostupný z WWW: https://computing.llnl.gov/tutorials/openMP/
Seznam doporučené literatury
Brian W. Kernighan, Dennis M. Ritchie, Programovací jazyk C, Computer Press, 2006, ISBN 80-251-0897-X.
Stephen Prata, Mistrovství v C++, 3. vydání, Computer Press, 2007, ISBN 978-80-251-1749-1.
Chandra, R., Dagum, L., Kohr, D., Maydan, D., McDonald, J., Menon, R., Parallel Programming in OpenMP, Morgan Kaufmann Publishersm, 2001, ISBN 1-55860-671-8.
Prof. P. Tvrdík, Paralelní systémy a algoritmy, Nakladatelství ČVUT, 2006, ISBN 80-01-03565-4.
J. Keller, Ch. W. Keßler, J. L. Träff, Practical PRAM Programming, John Wiley & Sons, Inc., 2001, ISBN 0-471-35351-5.
Jesse Liberty, Naučte se C++ za 21 dní, Computer Press, 2002, ISBN 80-7226-774-4.
MSDN:OpenMP in Visual C++ [online]. Dostupný z WWW: http://msdn2.microsoft.com/en-us/library/tt15eb9t.aspx
OpenMP [online]. Dostupný z WWW: http://www.openmp.org/blog/
OpenMP [online]. Dostupný z WWW: https://computing.llnl.gov/tutorials/openMP/
Přílohy volně vložené
-
Přílohy vázané v práci
-
Převzato z knihovny
Ano
Plný text práce
Přílohy
Posudek(y) oponenta
Hodnocení vedoucího
Záznam průběhu obhajoby
Student prezentoval svou BP. Součástí prezentace byla praktická ukázka.
Po plynulé obhajobě následovaly tyto otázky:
1. Faktičké chyby - analýza časové a prostorové složitosti,
matoucí popis architektury (Dulík oponent )
2. Proč pouze QuickSort? (Dulík oponent )
3. Proč nejsou citace? (Dulík )
4. Asymptotická fce uvedená dole pod QuickSortem je správně? (Dulík)
5. Měření rychlosti provádění algoritmu? Jen Linux? (Hruška)
6. Grafy klesající nebo neklesající pro třídění? (Kureková)
7. Nelogické chování nárůstu času při růstu procesorů - lépe měřit? (Kureková)