• Paralelní programování. Procesy a vlákna. Procesy a vlákna z pohledu operačního systému.
• Sekvenční vs. paralelní programování. Systémy upozornění a uvíznutí z pohledu paralelního programování (definice, vlastnosti, podmínky, detekce, eliminace).
• Paralelní versus distribuované aplikace. Klasifikace paralelních systémů. Sdílené paměťové systémy a distribuované paměťových systémů. Flynnova taxonomie.
• Programování sdílených paměťových systémů. Programování s vlákny. Knihovna pthreads, vlákna v jazyce C++, Java a C #. Synchronizace a vyloučení, zatuhnutí.
• Rozhraní OpenMP. Podpora OpenMP v moderních překladačích. OpenMP direktivy a funkce. Redukce v OpenMP.
• R a jeho balíčky pro paralelní programování
• Programování v gridu a cloudu. Webové služby a distribuované aplikace využívající webové služby. Map-reduce paradigma a rámec Hadoop.
• Přehled prostředí pro paralelní programování, instrukce SIMD.
• Programování na grafických kartách. Architektura GPGPU (organizace programu, organizace paměti). Datový paralelismus. Platforma CUDA a jazyk CUDA-C.
• Sekvenční vs. paralelní programování. Systémy upozornění a uvíznutí z pohledu paralelního programování (definice, vlastnosti, podmínky, detekce, eliminace).
• Paralelní versus distribuované aplikace. Klasifikace paralelních systémů. Sdílené paměťové systémy a distribuované paměťových systémů. Flynnova taxonomie.
• Programování sdílených paměťových systémů. Programování s vlákny. Knihovna pthreads, vlákna v jazyce C++, Java a C #. Synchronizace a vyloučení, zatuhnutí.
• Rozhraní OpenMP. Podpora OpenMP v moderních překladačích. OpenMP direktivy a funkce. Redukce v OpenMP.
• R a jeho balíčky pro paralelní programování
• Programování v gridu a cloudu. Webové služby a distribuované aplikace využívající webové služby. Map-reduce paradigma a rámec Hadoop.
• Přehled prostředí pro paralelní programování, instrukce SIMD.
• Programování na grafických kartách. Architektura GPGPU (organizace programu, organizace paměti). Datový paralelismus. Platforma CUDA a jazyk CUDA-C.