Závěrečná práce: Bc. Richard Trembecký: Auto-tuning vybraných výpočetních kernelů
Diplomová práce
Auto-tuning vybraných výpočetních kernelů
Auto-tuning of Selected Computing Kernels
Anotace
Práca sa zameriava na nasadenie autotuningu na troch vybraných OpenCL kerneloch, demonštráciu ich výkonu na rozličnom hardware a analýzu vplyvu jednotlivých tuniacich parametrov na výkon kernelov.
Abstract
This thesis is about auto-tuning three OpenCL kernel compositions from the PolyBench suite. The kernels are first analyzed for possible optimizations; then they are modified with tunable parameters accordingly. At last, a host code using the KTT auto-tuning framework is added. The thesis then presents the results of the auto-tuning on several GPU devices with different hardware architectures and analyzes the importance of individual parameters and performance portability.
Zadání práce
Při urychlování běhu aplikací jsou výkonově kritické části kódu často implementovány jako paralelní kernely (např. v OpenCL či CUDA), které dokáží běžet na akcelerátorech, popř. i konvenčním CPU. Implementace vysoce optimalizovaných kernelů je velmi náročná: programátor musí identifikovat, které aspekty kódu ovlivňují jeho efektivitu, implementovat různé varianty kódu a experimentovat s jejich kombinacemi. Pro testování různých kombinací variant kódu slouží nástroje pro autotuning, jako je Kernel Tuning Tool (KTT), vyvýjený na Ústavu výpočetní techniky. I s využitím autotuningu je však stále kritické dokázat identifikovat, které vlastnosti kódu by měl nástroj pro autotuning měnit.
Práce se zaměřuje na nasazení autotuningu na vybraných OpenCL kernelech, demonstraci jejich výkonu na rozdílném hardware a analýzu vlivu jednotlivých tunících parametrů na výkon kernelů. Student využije nástroj KTT pro automatický tuning tří OpenCL kernelů vybraných z benchmarku PolyBench (alternativně lze vybírat také z benchmarků Parboil, Rodinia či SHOC). Všechny vybrané kernely musí provádět výpočty nad hustými datovými strukturami (jako vektory či matice) s dobrou prostorovou lokalitou (výkon kernelů bude tudíž omezen propustností paměti či aritmetickým výkonem, nikoliv však latencí paměťového subsystému GPU).
U vybraných kernelů student nejprve analyzuje prostor možných optimalizací s ohledem na běh na GPU a CPU (či od nich odvozených Intel MIC), následně implementuje verzi kernelů pro autotuning a vyhodnotí jejich běh na několika architekturách GPU a alespoň jedné architektuře CPU. V rámci vyhodnocení student změří zrychlení oproti originálnímu kódu, přenositelnost výkonu (výkon na jiném hardware, než pro který byl kernel optimalizován) a analyzuje, které parametry mají nejvyšší vliv na výkon implementací na testovaných architekturách.
14. 12. 2018 12:11, doc. RNDr. Jiří Filipovič, Ph.D., učo 72898
- Zadáno/změněno 5. 2. 2019 15:50, Helena Kryštofová
- Záznam založen 14. 11. 2018 10:16, Jana Zemanová, učo 9619
- Zveřejnit od 13. 12. 2018 11:22, Eva Drštková
- Práce převzata 13. 12. 2018 11:22, Eva Drštková
- Pořadí pokusu: 2
Přílohy
Literatura
- FILIPOVIČ, Jiří; Filip PETROVIČ a Siegfried BENKNER. Autotuning of OpenCL Kernels with Global Optimizations. Online. In 1st Workshop on Autotuning and Adaptivity Approaches for Energy Efficient HPC Systems (ANDARE'2017). Portland (USA): ACM, 2017, s. nestránkováno, 6 s. ISBN 978-1-4503-5363-2. Dostupné z: https://doi.org/10.1145/3152821.3152877.
Práce na příbuzné téma
Seznam prací, které mají shodná klíčová slova.
-
Auto-tuning vybraných výpočetních kernelů
Mgr. Richard Trembecký -
Evolution of Nvidia GPU from microarchitectures Pascal to Ampere
Mgr. Marek Toma, učo 485275 -
Key derivation functions and their GPU implementations
Mgr. Ondrej Mosnáček, učo 409879 -
GPU akcelerované útoky hrubou silou se zaměřením na uživatelská hesla
Mgr. Daniel Sák -
Rychlá vizualizace molekulárních dat pomocí GPU
Mgr. Jakub Kremláček, učo 410131 -
Using LLM to optimize a GPU-accelerated code
Bc. Lukáš Dadák -
Kalibrace hyperspektrálního obrazového senzoru v reálném čase pomocí OpenCL
Mgr. Tri Le Mau -
GPU-based Poisson disk sub-sampling
Ing. Marek Horský




