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://dx.doi.org/10.1145/3152821.3152877.
Další formáty:   BibTeX LaTeX RIS
Základní údaje
Originální název Autotuning of OpenCL Kernels with Global Optimizations
Název česky Autotuning OpenCL kernelů s globálními optimalizacemi
Autoři FILIPOVIČ, Jiří (203 Česká republika, garant, domácí), Filip PETROVIČ (703 Slovensko, domácí) a Siegfried BENKNER (40 Rakousko).
Vydání Portland (USA), 1st Workshop on Autotuning and Adaptivity Approaches for Energy Efficient HPC Systems (ANDARE'2017), od s. nestránkováno, 6 s. 2017.
Nakladatel ACM
Další údaje
Originální jazyk angličtina
Typ výsledku Stať ve sborníku
Obor 10201 Computer sciences, information science, bioinformatics
Stát vydavatele Spojené státy
Utajení není předmětem státního či obchodního tajemství
Forma vydání elektronická verze "online"
WWW URL
Kód RIV RIV/00216224:14610/17:00098442
Organizační jednotka Ústav výpočetní techniky
ISBN 978-1-4503-5363-2
Doi http://dx.doi.org/10.1145/3152821.3152877
Klíčová slova česky autotuning; OpenCL; CUDA; globální optimalizace
Klíčová slova anglicky autotuning; OpenCL; CUDA; global optimization
Štítky rivok
Příznaky Mezinárodní význam, Recenzováno
Změnil Změnil: doc. RNDr. Jiří Filipovič, Ph.D., učo 72898. Změněno: 5. 4. 2018 17:51.
Anotace
Autotuning is an important method for automatically exploring code optimizations. It may target low-level code optimizations, such as memory blocking, loop unrolling or memory prefetching, as well as high-level optimizations, such as placement of computation kernels on proper hardware devices, optimizing memory transfers between nodes or between accelerators and main memory. In this paper, we introduce an autotuning method, which extends state-of-the-art low-level tuning of OpenCL or CUDA kernels towards more complex optimizations. More precisely, we introduce a Kernel Tuning Toolkit (KTT), which implements inter-kernel global optimizations, allowing to tune parameters affecting multiple kernels or also the host code. We demonstrate on practical examples, that with global kernel optimizations we are able to explore tuning options that are not possible if kernels are tuned separately. Moreover, our tuning strategies can take into account numerical accuracy across multiple kernel invocations and search for implementations within specific numerical error bounds.
Anotace česky
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.
Návaznosti
EF16_013/0001802, projekt VaVNázev: CERIT Scientific Cloud
VytisknoutZobrazeno: 29. 7. 2024 00:12