Charles Explorer logo
🇨🇿

Pokročilé programování v paralelním prostředí

Předmět na Matematicko-fyzikální fakulta |
NPRG058

Sylabus

V rámci předmětu budou studenti řešit následující problémy:

- Plánování na vícejádrových systémech a NUMA systémech

- Otázky synchronizace na vícejádrových CPU a víceprocesorových systémech

- Otázka efektivity datových přenosů mezi přídavným zařízením (např. GPU) a hlavní pamětí

- Vyvažování zátěže mezi CPU a přídavnými akcelerátory

- Transformace problémů na datově paralelní úlohy a jejich mapování na GPU

- Sdílený přístup do paměti, cache-aware programování a atomické operace na GPU

- Řešení nehomogenních úloh na GPU (perzistentní vlákna, dynamický paralelismus)

- Pouziti Xeon Phi zarizeni a hlavni rozdily mezi Intel MIC a GPU architekturami

Anotace

Praktický seminář, který přímo navazuje na přednášku Programování v paralelním prostředí, a který se zaměřuje na vybrané pokročilé aspekty paralelního programování.

Cílem je podrobně seznámit studenty praktickou formou s komplikovanějšími problémy v oblasti programování víceprocesorových NUMA serverů a práce s přídavnými paralelními zařízeními, zejména pak GPGPU (CUDA) a Intel Xeon Phi.

Bude předložena řada úloh, které studenti rozeberou společně na cvičení a následně vyzkouší naimplementovat v rámci domácích úkolů. Úlohy budou studentům opraveny a řešení budou podrobena kolektivní diskusi.