Dávkové zpracování úloh na GPU v TNL
školitel: | doc. Ing. Tomáš Oberhuber, Ph.D. |
e-mail: | zobrazit e-mail |
typ práce: | bakalářská práce, diplomová práce |
zaměření: | MI_MM, MI_AMSM, MINF, APIN |
klíčová slova: | paralelní algoritmy, HPC, GPU, C++ |
popis: | Moderní grafické procesory (GPU) jsou optimalizovány pro výpočty s vysokým stupněm paralelismu. Pokud se na GPU provádějí malé úlohy jednotlivě, často se nedosáhne jejich plného výkonu – velká část výpočetní kapacity zůstane nevyužita. Proto je vhodné tyto menší úlohy sdružit do dávky a zpracovat je současně, tzv. batched processing. Tato technika je hojně využívána v: 1. lineární algebře (např. cuBLAS a cuSolver mají batched varianty funkcí), 2. optimalizačních metodách, 3. řešení systémů lineárních rovnic s různými parametry, 4. paralelních simulacích (např. se sadou různých počátečních podmínek). V knihovně TNL tato strategie umožní efektivně škálovat i výpočty, které samy o sobě GPU plně nevyužívají. Cíle práce: 1. Prostudovat principy dávkového zpracování na GPU (např. thread block per task, warp-level batching, grid-level batching). 2. Navrhnout rozhraní pro dávkové zpracování v rámci TNL (např. 3. BatchedLinearSystemSolver, BatchedSpMV, BatchedExplicitSolver). 3. Implementovat ukázkovou dávkovou verzi zvoleného numerického algoritmu (např. řešení ODE/PDE, SpMV, lineární systém). 4. Porovnat výkon dávkovaného a nedávkovaného řešení pro různé velikosti úloh. 5. (Volitelně) navrhnout dynamické rozvrhování práce v dávce (load balancing). 6. Ověřit použití v reálném scénáři – např. simulace více nezávislých fyzikálních jevů. Přínosy pro studenta: 1. Získá velice dobrou znalost programování pro GPU. 2. Získá praktické zkušenosti s pokročilým programováním v jazyce C++. 3. Osvojí si postupy potřebné pro vývoj větších softwarových projektů. |
literatura: | 1. Aggarwal, Isha, et al. \"Batched sparse iterative solvers for computational chemistry simulations on GPUs.\" 2021 12th Workshop on Latest Advances in Scalable Algorithms for Large-Scale Systems (ScalA). IEEE, 2021. 2. Oberhuber, Tomáš, Jakub Klinkovský, and Radek Fučík. \"TNL: Numerical library for modern parallel architectures.\" Acta Polytechnica 61.SI (2021): 122-134. |
naposledy změněno: | 20.05.2025 09:22:26 |
za obsah této stránky zodpovídá:
Pavel Strachota | naposledy změněno: 9.9.2021