J 2015

Optimizing CUDA code by kernel fusion: application on BLAS

FILIPOVIČ, Jiří, Matúš MADZIN, Jan FOUSEK a Luděk MATYSKA

Základní údaje

Originální název

Optimizing CUDA code by kernel fusion: application on BLAS

Název česky

Optimalizace CUDA kódu pomocí fúzí kernelů: aplikace na BLAS

Autoři

FILIPOVIČ, Jiří (203 Česká republika, garant, domácí), Matúš MADZIN (703 Slovensko, domácí), Jan FOUSEK (203 Česká republika, domácí) a Luděk MATYSKA (203 Česká republika, domácí)

Vydání

The Journal of Supercomputing, Springer US, 2015, 0920-8542

Další údaje

Jazyk

angličtina

Typ výsledku

Článek v odborném periodiku

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í

Odkazy

Impakt faktor

Impact factor: 1.088

Kód RIV

RIV/00216224:14330/15:00083436

Organizační jednotka

Fakulta informatiky

UT WoS

000361531500013

Klíčová slova česky

GPU; CUDA; BLAS; fúze kernelů; generování kódu

Klíčová slova anglicky

GPU; CUDA; BLAS; Kernel fusion; Code generation

Štítky

Příznaky

Mezinárodní význam, Recenzováno
Změněno: 9. 7. 2019 13:16, doc. RNDr. Jiří Filipovič, Ph.D.

Anotace

V originále

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 kernels performing 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.

Návaznosti

EE2.3.30.0037, projekt VaV
Název: Zaměstnáním nejlepších mladých vědců k rozvoji mezinárodní spolupráce
MUNI/A/0945/2015, interní kód MU
Název: Rozsáhlé výpočetní systémy: modely, aplikace a verifikace V.
Investor: Masarykova univerzita, Rozsáhlé výpočetní systémy: modely, aplikace a verifikace V., DO R. 2020_Kategorie A - Specifický výzkum - Studentské výzkumné projekty
MUNI/A/1159/2014, interní kód MU
Název: Rozsáhlé výpočetní systémy: modely, aplikace a verifikace IV.
Investor: Masarykova univerzita, Rozsáhlé výpočetní systémy: modely, aplikace a verifikace IV., DO R. 2020_Kategorie A - Specifický výzkum - Studentské výzkumné projekty