Analysing and Optimizing GPU Kernels with Machine Learning
Název práce v češtině: | Analýza a optimalizace GPU kernelů pomocí strojového učení |
---|---|
Název v anglickém jazyce: | Analysing and Optimizing GPU Kernels with Machine Learning |
Klíčová slova: | strojové učení, neuronové sítě, GPU, kernel, optimalizace, analýza |
Klíčová slova anglicky: | machine learning, neural networks, GPU, kernel, optimization, analysis |
Akademický rok vypsání: | 2019/2020 |
Typ práce: | diplomová práce |
Jazyk práce: | angličtina |
Ústav: | Katedra softwarového inženýrství (32-KSI) |
Vedoucí / školitel: | doc. RNDr. Martin Kruliš, Ph.D. |
Řešitel: | skrytý - zadáno a potvrzeno stud. odd. |
Datum přihlášení: | 18.10.2019 |
Datum zadání: | 25.10.2019 |
Datum potvrzení stud. oddělením: | 19.11.2019 |
Datum a čas obhajoby: | 01.07.2020 09:00 |
Datum odevzdání elektronické podoby: | 13.05.2020 |
Datum odevzdání tištěné podoby: | 28.05.2020 |
Datum proběhlé obhajoby: | 01.07.2020 |
Oponenti: | RNDr. Milan Straka, Ph.D. |
Zásady pro vypracování |
V současné době proniká strojové učení do většiny oblastí informatiky a v řadě z nich (např. v analýze obrazu) zaznamenává značné úspěchy. Jednou z oblastí, do které zatím zasáhlo strojové učení poměrně málo, je výkonnostní optimalizace kódu. Jedním z důvodů je fakt, že tato disciplína je velmi obtížná i pro člověka -- programátora.
V této práci se zaměříme na oblast paralelních výpočtů na GPU a jejich (semi)automatické optimalizace jak z hlediska návrhu kódu, tak z hlediska vhodné reprezentace dat v paměti nebo spouštěcích parametrů paralelních algoritmů. Prvním úkolem bude provést důkladnou rešerši současného stavu poznání, zejména pak stavu aktuálních vědeckých prototypů software. Cílem bude navrhnout úpravu těchto existujících nástrojů, případně na základě získaných poznatků navrhnout zcela nový nástroj, pro automatickou analýzu GPU kernelů a to zejména za účelem nalezení optimálních konfiguračních a spouštěcích parametrů a predikci doby běhu na základě znalosti velikosti dat a parametrů hardware. |
Seznam odborné literatury |
Desarkar, Maunendra Sankar, and Ramakrishna Upadrasta. "IR2Vec: A Flow Analysis based Scalable Infrastructure for Program Encodings." arXiv. org (2019).
Cummins, Chris, et al. "End-to-end deep learning of optimization heuristics." 2017 26th International Conference on Parallel Architectures and Compilation Techniques (PACT). IEEE, 2017. Ian Goodfellow, Yoshua Bengio, Aaron Courville: Deep Learning. http://www.deeplearningbook.org/ |