Identifikační kód | RIV/00216224:14330/15:00083436 |
Název v anglickém jazyce | Optimizing CUDA code by kernel fusion: application on BLAS |
Druh | J - Článek v odborném periodiku |
Jazyk | eng - angličtina |
Obor - skupina | I - Informatika |
Obor | IN - Informatika |
Rok uplatnění | 2015 |
Kód důvěrnosti údajů | S - Úplné a pravdivé údaje o výsledku nepodléhající ochraně podle zvláštních právních předpisů. |
Počet výskytů výsledku | 1 |
Počet tvůrců celkem | 4 |
Počet domácích tvůrců | 4 |
Výčet všech uvedených jednotlivých tvůrců | Jiří Filipovič (státní příslušnost: CZ - Česká republika, domácí tvůrce: A, vedidk: 4842138) Matúš Madzin (státní příslušnost: SK - Slovenská republika, domácí tvůrce: A, vedidk: 8106746) Jan Fousek (státní příslušnost: CZ - Česká republika, domácí tvůrce: A, vedidk: 8419914) Luděk Matyska (státní příslušnost: CZ - Česká republika, domácí tvůrce: A, vedidk: 3574164) |
Popis výsledku v anglickém jazyce | Contemporary GPUs have significantly higher arithmetic throughput than a memory throughput. Hence, many GPU kernels are memory bound and cannot exploit arithmetic power of the GPU. Examples of memory-bound kernels are BLAS-1 (vector?vector) and BLAS-2 (matrix?vector) operations. However, when kernels share data, kernel fusion can improve memory locality by placing shared data, originally passed via off-chip global memory, into a faster, but distributed on-chip memory. In this paper, we show how kernelsperforming map, reduce or their nested combinations can be fused automatically by our source-to-source compiler. To demonstrate the usability of the compiler, we have implemented several BLAS-1 and BLAS-2 routines and show how the performance of their sequences can be improved by fusions. Compared with similar sequences using CUBLAS, our compiler is able to generate code that is up to 2.24x faster for the examples tested. |
Klíčová slova oddělená středníkem | GPU; CUDA; BLAS; Kernel fusion; Code generation |
Stránka www, na které se nachází výsledek | - |
DOI výsledku | 10.1007/s11227-015-1483-z |