Diplomová práce

Auto-tuning vybraných výpočetních kernelů

Auto-tuning of Selected Computing Kernels

Bc. Richard Trembecký
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.

Práce zkontrolována:
14. 12. 2018 12:11, doc. RNDr. Jiří Filipovič, Ph.D., učo 72898
Jazyk práce
angličtina angličtina
Termín obhajoby
5. 2. 2019
Práce byla úspěšně obhájena

Vedoucí

doc. RNDr. Jiří Filipovič, Ph.D., učo 72898
CERIT SC ÚVT MU

Oponent

Ing. Jana Hozzová, Ph.D., učo 411498
CERIT SC ÚVT MU

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.

Masarykova univerzita Fakulta informatiky
Studijní program
Aplikovaná informatika
 
Název
Vložil
Vloženo
Práva
  • Přidání souboru

    Soubor nebo složku lze nahrát pomocí tlačítka Přidat.
  • Další operace se soubory

    Podrobnosti lze zjistit označením příslušného řádku.
  • Pohled pro experty

    Pro častou práci je možné zvolit režim Více možností.
  • Vyhledávání souborů

    Vyhledávaný výraz můžete zadat přímo do adresního řádku.
  • Rychlý přístup k souborům

    Pomocí funkce Nedávné je možné se rychle vrátit k právě prohlíženým souborům. Oblíbené soubory je také možné označit Hvězdičkou.