Závěrečná práce: Bc. Bedřich Lakomý, učo 172901: Generátor efektivního kódu fúzovaných CUDA kernelů
Diplomová práce
Generátor efektivního kódu fúzovaných CUDA kernelů
The generator of efficient CUDA code of fused kernels
Anotace
KAS je source-to-source kompilátor pro tvorbu CUDA C kernelů z elementárních funkcí. Tato práce optimalizuje kód generovaný KASem pomocí následujících úprav KASu: snížení náročnosti přepočtu koordinát vláken v případě volání funkcí s rozdílnou velikostí bloku, vynechávání některých redundantních synchronizací, využití registrů pro mezivýsledky (dosud jen sdílená paměť), zavedení přístupových vzorů …více
Abstract
KAS is a source-to-source compiler for fusing CUDA C kernels from elementary functions. This thesis presents some optimizations for KAS that make it output code with higher performance. The performed optimizations are as follows: omiting some redundant synchronizations, using registers for intermediate results storage (was only shared memory sofar), adding access patterns for elementary functions and …více
Zadání práce
Aritmetický výkon dnešních GPU výrazně převyšuje jejich paměťovou propustnost, díky čemuž je rychlost běhu mnoha kernelů omezena rychlostí globální paměti. Je-li spuštěna sekvence kernelů, které spolu sdílí část vstupů či výstupů, je často možné snížit množství dat přenášených z/do globální paměti pomocí fúze kernelů (sdílená data tak mohou být uložena v rychlejších lokálních pamětech). Problematika fúzí kernelů je již nějakou dobu na FI studována a vznikl zde experimentální překladač optimalizující CUDA kód za pomoci fúzí.
Úkolem diplomové práce je vylepšit generátor kódu experimentálního překladače tak, aby generoval efektivnější výsledný kód fúzovaných kernelů. Student implementuje do generátoru logiku umožňující minimalizaci aritmetiky nutné k přepočtu koordinát vláken pro jednotlivé fúzované funkce. Dále student definuje jazyk, kterým bude možno popsat vzor přístupu jednotlivých fúzovaných funkcí do sdílené paměti. Implementuje vyhodnocení ekvivalence výrazů v tomto jazyku tak, aby bylo možno při shodném vzoru přístupu do paměti vynechat synchronizaci mezi vlákny v bloku a prozkoumá možnost předávat v tomto případě mezidata pomocí registrů (pro tento případ je nutné navrhnout úpravy metody predikce výkonu).
30. 5. 2012 12:10, doc. RNDr. Jiří Filipovič, Ph.D., učo 72898
- Zadáno/změněno 26. 6. 2012 10:58, Helena Kryštofová
- Záznam založen 26. 4. 2012 09:49, Miroslava Tomíčková, učo 114718
- Zveřejnit od 28. 5. 2012 09:44, Alena Dvořáková
- Práce převzata 28. 5. 2012 09:44, Alena Dvořáková
Vedoucí
Literatura
- AHO, Alfred V. Compilers : principles, techniques, & tools. 2nd ed. Boston: Pearson/Addison Wesley, 2007, xxiv, 1009. ISBN 0321486811.
- FILIPOVIČ, Jiří; Igor PETERLÍK a Jan FOUSEK. GPU Acceleration of Equations Assembly in Finite Elements Method -- Preliminary Results. In Symposium on Application Accelerators in High Performance Computing 2009. 2009.
- FOUSEK, Jan; Jiří FILIPOVIČ a Matúš MADZIN. Automatic Fusions of CUDA-GPU Kernels for Parallel Map. In Hideharu Amano and Wayne Luk. Second International workshop on highly-efficient accelerators and reconfigurable technologies (HEART). London (UK), 2011, s. 42-47.
Práce na příbuzné téma
Seznam prací, které mají shodná klíčová slova.
-
Framework pro auto-tuning paralelních kernelů
Mgr. Filip Petrovič -
Refaktorizace kódu a implementace urychlujících algoritmů do programu AutoGrid
Bc. Marek Olšák, učo 207860 -
Implementace výpočtu ideálních odezev filtrů optického toku na GPU
RNDr. David Wiesner, Ph.D., učo 255597 -
Paralelní návrh a GPU implementace kompresního standardu HTJ2K
Mgr. Pavel Fikar -
Funkce n proměnných v ekonomických aplikacích
Bc. Klára Bradová -
Optimalizace manažerského rozhodování
Ing. Jan Zavřel, učo 137859 -
Metody pro detekci obrazového pozadí
Mgr. Ondřej Kubíček, učo 140447 -
Zprostředkování životního pojištění a jeho optimalizace
Mgr. Ing. Karel Urbanovský, učo 269053




