Dávkové zpracování úloh na GPU v TNL

Místo
Anotace

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ř. cuBLAScuSolver 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 (konkrétní zadání se domluví individuálně se studentem):

  1. Prostudovat principy dávkového zpracování na GPU (např. thread block per taskwarp-level batchinggrid-level batching).
  2. Navrhnout rozhraní pro dávkové zpracování v rámci TNL (např. BatchedLinearSystemSolverBatchedSpMVBatchedExplicitSolver).
  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ů.

Zdroje:

  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.
Téma si rezervujte v KOSu
Poslední změna