Jak Začít?

Máš v počítači zápisky z přednášek
nebo jiné materiály ze školy?

Nahraj je na studentino.cz a získej
4 Kč za každý materiál
a 50 Kč za registraci!




Předmět Paralelní algoritmy II (PA II)

Na serveru studentino.cz naleznete nejrůznější studijní materiály: zápisky z přednášek nebo cvičení, vzorové testy, seminární práce, domácí úkoly a další z předmětu PA II - Paralelní algoritmy II, Vysoká škola báňská - Technická univerzita Ostrava (VŠB-TU).

Top 10 materiálů tohoto předmětu

Materiály tohoto předmětu

Materiál Typ Datum Počet stažení

Další informace

Cíl

Cílem předmětu je doplnit a rozšířit témata, se kterými se mohl posluchač seznámit v předmětu Paralelní algoritmyI (PAI). Vzhledem k charakteru a účelu předmětu se bude jednat o témata, která budou ilustrovat využití grafickýchprocesorů (GPU) pro řešení algoritmických úloh. Studenti budou blíže seznámeni s existujícími architekturami GPUa frameworky pro paralelní programování. S ohledem na skutečnost, že na VŠB vzniklo centrum nVidia Research, budeblíže vysvětlována architektura nVidia CUDA. Jedním z cílů je předat posluchačům znalosti, které mohou využít přiřešení praktických úloh ať už v rámci magisterských prací či grantových projektů realizovaných na VŠB. Získané znalosti a vědomosti: - orientace v základní architektuře grafických procesorů (GPU) - znalost softwarové architektury paralelního programu, štěpení úlohy do gridů, bloků, vláken - znalost vybraného frameworku pro paralelní programování na GPU - pochopení problematiky algoritmizace, převod sériových úloh na paralelní - posouzení distribuce paralelní úlohy na více GPU, clusterů - zvládnutí implementace praktické úlohy zpracování dat

Osnova

Přednášky jsou tematicky rozděleny tak, aby získané znalosti mohli studenti aplikovat na cvičeních.Obsah jednotlivých předášek:1. Úvod do paralelních výpočtů na GPU, GPU historie a CUDA2. Architektura CUDA, integrace na úrovni C++ projektu3. Práce s vlákny, kernel funkce4. Typy CUDA pamětí, vzory pro jejich využití5. Řešení konfliktů paměti GPU 6. Řízení běhu programu, distribuce algoritmu7. Výkon algoritmu v závislosti na jeho paralelizaci na GPU8. Základní vektorové a maticové operace9. Optimalizace na datové úrovni aplikace, efektivní datové struktury.10. Optimalizace z pohledu maximálního využití GPU11. Doplňková knihovna CUBLAS12. Případové studieObsah jednotlivých cvičení (cvičení jsou na počítačových učebnách):1. Vytvoření základní šablony aplikace, první spuštění, ukázková aplikace2. Ukázky transferu dat na/z GPU3. Hierarchie vláken, základní běh vlákna, limity, volání kernel funkcí, parametry a omezení4. Typy CUDA pamětí, vzory pro jejich využití5. Optimalizace přístupů do paměti, volba vhodné datové struktury6. Streamy, paralelní volání kernel funkcí, synchronizace na úrovni vláken, bloků, GPU vs. CPU7. Případová studia, experiment s více variantami řešení téže úlohy8. Základní vektorové a maticové operace, případová studie zpracování dat, paralelní redukce9. Integrace podpůrných knihoven pro lineární algebru10. Ukázka grafické úlohy a její řešení při různém nastavení, využití bufferování11. Případové studie, představení konkrétní praktické úlohy, nástin jejího řešení, demonstrace experimentů12. Ladění programu s využitím nástrojů nVidia nSight

Literatura

[1] Bjarne Stroustrup. The C++ Programming Language, 4th Edition.Addison-Wesley Professional, 4th edition, 5 2013.[2] Graham Sellers, Richard S. Wright, and Nicholas Haemel. OpenGL SuperBible: Comprehensive Tutorial and Reference(6th Edition). Addison-Wesley Professional, 6th edition, 7 2013.[3] John Cheng, Max Grossman, and Ty McKercher. Professional CUDA C Programming. Wrox, 1st edition, 9 2014.

Požadavky

Žádné

Garant

Ing. Petr Gajdoš, Ph.D.

Vyučující

Ing. Petr Gajdoš, Ph.D.