Paralelní algoritmy

V úvodních přednáškách se zaměříme na obecné principy návrhu paralelních algoritmů a jejich základní vlastnosti, které jsou důležité pro pochopení principu jak paralelních, tak i distribuovaných algoritmů. Dále si vysvětlíme základní paralelní algoritmy, typicky tvořící stavební kameny řešení reálných problémů. Úlohy na cvičení budou zaměřeny na hardwarové platformy, se kterými se studenti běžně setkají v praxi.

Kód
B4M35PAG
Semestr
zimní
Forma studia
prezenční
Rozsah
2P+2S
Kapacita
50
Obsazeno
45
Počet kreditů
6
Zakončení
zápočet a zkouška
Jazyk výuky
čeština
Přednášející
Obsah přednášek

1. Úvod do paralelního programování
2. Principy návrhu paralelních a distribuovaných algoritmů
3. Základní komunikační operace
4. Vlastnosti paralelních algoritmů
5. Řazení
6. Maticové algoritmy
7. Algoritmy pro lineární algebru, Test
8. Paralelní akcelerátory
9. Grafové algoritmy I.
10. Grafové algoritmy II.
11. Kombinatorické algoritmy
12. Dynamické programování
13. Rychlá Fourierova transformace

Náplň cvičení

1. Úvod do paralelního programování, nastavení prostředí
2. Paralelní programování v C++11 - základy
3. Paralelní programování v C++11 - pokročilé konstrukty
4. Zadaní semestrální práce a prvního domácího úkolu
5. OpenMP - základní konstrukty
6. OpenMP - pokročilé konstrukty
7. Zadání druhého domácího úkolu a odevzdání prvního
8. Konzultace semestrální práce
9. OpenMPI - distribuované algoritmy
10. Zadání třetího domácího úkolu a odevzdání druhého
11. Konzultace semestrální práce
12. Prezentace semestrální práce
13. Odevzdání třetího domácího úkolu, zápočet