Popis předmětu - B4M35PAG
Přehled studia |
Přehled oborů |
Všechny skupiny předmětů |
Všechny předměty |
Seznam rolí |
Vysvětlivky
Návod
B4M35PAG |
Paralelní algoritmy |
Role: | PO |
Rozsah výuky: | 2P+2S |
Katedra: | 13135 |
Jazyk výuky: | CS |
Garanti: | Šůcha P. |
Zakončení: | Z,ZK |
Přednášející: | Šůcha P. |
Kreditů: | 6 |
Cvičící: | Osob je mnoho |
Semestr: | Z |
Webová stránka:
https://cw.fel.cvut.cz/wiki/courses/b4m35pag/start
Anotace:
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.
Osnovy 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. | | Maticové algoritmy |
6. | | Algoritmy pro lineární algebru |
7. | | Řazení, TEST |
8. | | Paralelní akcelerátory |
9. | | Grafové algoritmy I. |
10. | | Grafové algoritmy II. |
11. | | Kombinatorické algoritmy |
12. | | Dynamické programování |
13. | | Rychlá Fourierova transformace |
Osnovy 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 |
Literatura:
[1] | | Ananth Grama, Anshul Gupta, George Karypis, Vipin Kumar: Introduction to Parallel Computing, Second Edition, Addison Wesley, 2003. |
[2] | | Georg Hager, Gerhard Wellein: Introduction to High Performance Computing for Scientists and Engineers, CRC Press, 2011. |
[3] | | James Reinders, Jim Jeffers: Intel Xeon Phi Coprocessor High-Performance Programming, Newnes, 2013. |
Požadavky:
Základní znalost jazyka C++ a algoritmizace.
Předmět je zahrnut do těchto studijních plánů:
Stránka vytvořena 14.3.2025 15:50:53, semestry: Z/2025-6, L/2024-5, L/2025-6, Z/2024-5, připomínky k informační náplni zasílejte správci studijních plánů |
Návrh a realizace: I. Halaška (K336), J. Novák (K336) |