Autotuning of OpenCL Kernels with Global Optimizations
Název česky | Autotuning OpenCL kernelů s globálními optimalizacemi |
---|---|
Autoři | |
Rok publikování | 2017 |
Druh | Článek ve sborníku |
Konference | 1st Workshop on Autotuning and Adaptivity Approaches for Energy Efficient HPC Systems (ANDARE'2017) |
Fakulta / Pracoviště MU | |
Citace | |
www | https://dl.acm.org/citation.cfm?doid=3152821.3152877 |
Doi | http://dx.doi.org/10.1145/3152821.3152877 |
Obor | Informatika |
Klíčová slova | autotuning; OpenCL; CUDA; global optimization |
Popis | Autotuning je důležitá metoda pro automatické prozkoumávání optimalizací kódu. Může zahrnovat nízkoúrovňové optimalizace kódu, jako je memory blocking, unrolling smyček či prefetching paměti, stejně jako vysokoúrovňové optimalizace, jako umísťování výpočetních kernelů na vhodné hardwareové zařízení či optimalizaci paměťových přenosů mezi uzly, nebo akcelerátory a hlavní pamětí. V tomto článku předstacujeme metodu pro autotuning, která rozšiřuje stávající metody nízkoúrovňového autotuningu OpenCL či CUDA kernelů směrem ke komplexnějším optimalizacem. Konkrétně představujeme Kernel Tuning Tool (KTT), který implementuje mezi-kernelové globální optimalizace, což umožňuje tuning parametrů ovlivňujících více kernelů či také host kód. Na praktických příkladech demonstrujeme, jak pomocí globální optimalizace dokážeme implementovat parametry tuningu, které jsou neaplikovatelné, pokud tunink probíhá pro jednotlivé kernely separátně. Naše strategie tuningu umožňuje navíc brát v úvahu numerickou přesnost kompozice více kernelů a vyhledávat implementace pracující v rámci specifikované hranice numerické chyby. |
Související projekty: |