Kurz seznamuje studenty se základními principy paralelního programování a možnostmi efektivního využití současných výpočetních systémů. Zaměřuje se na základní terminologii, rozdíly mezi procesy, vlákny a úlohami, klasifikaci paralelních architektur podle Flynnovy taxonomie a problematiku urychlení výpočtů prostřednictvím paralelizace.
Výuka se věnuje analýze programových úloh z hlediska možností jejich paralelizace, práci se sdílenou pamětí a řešení problémů souběžného přístupu k datům. Studenti se seznámí se základními i pokročilejšími synchronizačními mechanismy, jako jsou zámky, mutexy, podmínkové proměnné, bariéry, monitory a atomické proměnné.
Součástí kurzu jsou praktické postupy paralelizace výpočetních úloh, zejména typu parallel for a parallel reduce, včetně rozdělování práce a statického či dynamického plánování. Pozornost je věnována technologiím a knihovnám pro paralelní programování, například POSIX, OpenMP, MPI, Parallel STL a Boost, a jejich využití ve sdílených i distribuovaných výpočetních systémech.
Kurz dále představuje vybrané příklady paralelizace z reálných softwarových aplikací a poskytuje základní úvod do problematiky kvantových výpočtů.
V rámci předmětu STAV se posluchači seznámí konkrétním grafickým zpracováním a prezentací statistických dat, s použitím systémů vybraných statistických SW pro statistické zpracování dat (např. Excel a Matlab). Posluchači budou seznámeni též se základními principy a využitím simulačních modelů.
Předpokládá se znalost alespoň jednoho programovacího jazyka, například C, Javy, C# nebo Pythonu, a schopnost samostatně v něm programovat. Studenti by měli rozumět základním abstraktním datovým strukturám a jejich využití a mít základní přehled o fungování počítače, zejména procesoru a periferních zařízení.
Po absolvování kurzu budou studenti rozumět základním principům a modelům paralelního programování, možnostem paralelizace výpočetních úloh a faktorům ovlivňujícím efektivitu paralelních výpočtů.
Budou se orientovat v základních technikách paralelizace a technologiích používaných pro jejich správnou implementaci. Získají přehled o synchronizačních mechanismech, jejich vlastnostech a možnostech využití při koordinaci souběžně vykonávaných procesů a vláken.
Absolventi budou schopni vysvětlit principy základních i vybraných pokročilých synchronizačních primitiv a rozpoznat situace, ve kterých je jejich použití nezbytné pro zajištění správného fungování paralelních programů.
Fakulta aplikovaných věd
KIV/UPP
Od 1. 12. 2026 do 31. 1. 2027
Letní semestr 2026/2027
Rozvrh bude v co nejbližší době upřesněn.
Místnost – XX000
X 00:00 – 00:00
Budova FAV, areál Bory
Kontaktní výuka : 39h
Projekt individuální: 38h
Příprava na zkoušku: 30h
Po kliknutí na tlačítko budete přesměrováni na web ePřihláška, kde se budete moci přihlásit ke studiu.
Univerzitní 22, Plzeň