Předmět Paralelní algoritmy I (PA I)
Na serveru studentino.cz naleznete nejrůznější studijní materiály: zápisky z přednášek nebo cvičení, vzorové testy, seminární práce, domácí úkoly a další z předmětu PA I - Paralelní algoritmy I, Vysoká škola báňská - Technická univerzita Ostrava (VŠB-TU).
Top 10 materiálů tohoto předmětu
Materiály tohoto předmětu
Materiál | Typ | Datum | Počet stažení |
---|
Další informace
Cíl
Přehled v oblasti návrhu, realizace a hodnocení paralelních algoritmů. Praktické osvojení paralelních programovacíchtechnik pro vybrané paralelní architektury. Pracovní znalosti v oblasti paralelních systémů a jejich programování,zejména: samostatný návrh paralelních algoritmů, resp. paralelizace sekvenčních algoritmů. Praktická realizaceparalelního algoritmu na bázi modelu předávání zpráv. Analýza algoritmu a vyhodnocení implementace. Optimalizacea zvyšování efektivity.
Osnova
Přednášky: ==========1. Úvod do problematiky programování paralelních aplikací. Procesy a vlákna. Procesy a vlákna z pohledu operačníhosystému. SIMD a FMA instrukce moderních procesorů.2. Sekvenční vs. paralelní programování. Úskalí paralelního programování. Uváznutí (definice, vlastnosti, podmínky,detekce, eliminace). 3. Paralelní vs. distribuované aplikace. Klasifikace paralelních platforem. Systémy se sdílenou a distribuovanoupamětí. Flynnova taxonomie. 4. Programování systémů se sdílenou pamětí. Programování s pomocí vláken. Knihovna pthreads. Vlákna v jazycíchJava a C#. Synchronizace a vyloučení, uváznutí. 5. Rozhraní OpenMP. Podpora OpenMP v překladačích. Direktivy a funkce OpenMP. Redukce v OpenMP. 6. Model Fork-Join. Programovací jazyky Cilk a Cilk++. Paralelní Matlab. Paralelní programování v Pythonu, knihovnaNumPy.7. Programování systémů s distribuovanou pamětí. Komunikace pomocí zasílání zpráv. Posix fronty, sockety. RozhraníMPI, základní funkce MPI. MPI knihovny. 8. Model Partitioned Global Address Space (PGAS). Programovací jazyk Unified Parallel C (UPC). 9. Dávkové (neinteraktivní) spouštění distribuovaných úloh. Plánovače PBSPro a Torque.10. Programování v prostředí gridu a cloudu. Webové služby, distribuované aplikace s využitím webových služeb.Paradigma Map-Reduce, framework Hadoop.11. Úvod do programování akcelerátorů. Architektura GPGPU (organizace programu, organizace paměti). Datový paralelismus.Prostředí CUDA a jazyk CUDA-C. 12. Další rozhraní pro programování akcelerátorú: OpenCL, OpenACC, OpenMP 4.13. Architektura Intel MIC. Způsoby programování MIC a Xeon Phi. Nové a vznikající platformy. 14. Hybridní paralelní aplikace. Programování pomocí MPI-OpenMP, hybridní CPU-GPU architektury.Cvičení:========Obsah cvičení a procvičované úlohy budou korespondovat s látkou probíranou na přednáškách:1. Přehled prostředí pro tvorbu paralelních aplikací. SIMD instrukce.2. Implementace jednoduchého programu s více vlákny.3. Implementace jednoduchého programu ve více procesech. Komunikace pomocí socketů a front.4. Debugging a profilování paralelních programů.5. Implementace jednoduchého programu za pomoci OpenMP. Paralelizace sekvenčního programu pomocí OpenMP.6. Implementace jednoduchého programu v jazyce Cilk++. Příklad paralelního programování v Matlabu.7. Implementace jednoduchého programu pomocí rozhrani MPI. 8. Implementace jednoduchého programu v jazyce UPC.9. Použití plánovačů PBS, PBSPro a Torque, příkaz qsub a QSUB direktivy.10. Implementace jednoduchého map-reduce programu ve frameworku Hadoop.11. Implementace jednoduchého data-paralelního programu v CUDA-C.12. Příklady použití OpenCL, OpenACC a OpenMP 4.13. Programování Intel MIC. Implementace jednoduchého programu pro Intel MIC.14. Implementace jednoduchého hybridního programu pomocí MPI a OpenMP.
Literatura
1. Sylaby k předmětu Paralelní algoritmy I.2. Introduction to Parallel Computing (2nd Edition). Ananth Grama, George Karypis, Vipin Kumar, Anshul Gupta, Addison-Wesley,20033. Using OpenMP: Portable Shared Memory Parallel Programming, Volume 10, Barbara Chapman, Gabriele Jost, Ruud vander Pas, MIT Press, 2008
Požadavky
Žádné
Garant
doc. Ing. Pavel Krömer, Ph.D.
Vyučující
doc. Ing. Pavel Krömer, Ph.D.