Show simple item record

Analýza a optimalizace GPU kernelů pomocí strojového učení
dc.contributor.advisorKruliš, Martin
dc.creatorŠťavík, Petr
dc.date.accessioned2020-07-22T09:59:32Z
dc.date.available2020-07-22T09:59:32Z
dc.date.issued2020
dc.identifier.urihttp://hdl.handle.net/20.500.11956/119111
dc.description.abstractGraphics processing units (GPUs) were originally used solely for the purpose of graph- ics rendering. This changed with the introduction of technologies like CUDA that enabled to use graphics processors as any other computing device. However, writing an efficient program for GPUs, also called GPU kernel, is one of the most difficult programming disciplines. The latest research in the field suggests that these difficulties could be po- tentially mitigated with machine learning methods. One especially successful approach is based on the utilization of recurrent neural networks (RNNs) over different representa- tions of source code. In this work, we present two RNN-based solutions that are able to derive performance characteristics of a CUDA GPU kernel directly from its intermediate representation called PTX. We assess the applicability of our two methods in two GPU op- timization tasks. In heterogeneous device mapping task, our methods are able to achieve accuracies of around 82%, results that are slightly worse than the current state of the art. In a more challenging achieved occupancy task, where the goal is to correctly predict one out of ten classes, our two methods achieve accuracies above 50%. These promising results indicate great potential in additional research focused in a similar direction. 1en_US
dc.description.abstractGrafické výpočetní jednotky (GPU) byly původně používány výhradně pro účely grafického vykreslování. To se změnilo zavedením technologií jako je CUDA, které umožnily použití grafických procesorů jako kterýchkoliv jiných výpočetních zařízení. Psaní efektivního programu pro GPU, nazývaného také GPU kernel, je však jednou z nejnáročnějších programovacích disciplín. Nejnovější výzkum v této oblasti naznačuje, že tyto problémy by mohly být potenciálně zmírněny metodami strojového učení. Jeden obzvláště úspěšný přístup je založen na využití rekurentních neuronových sítí (RNNs) nad různými reprezentacemi zdrojového kódu. V této práci představujeme dvě řešení založená na RNNs, která jsou schopna odvodit výkonové charakteristiky CUDA GPU kernelu přímo z jeho mezikódu, který se nazývá PTX. Použitelnost námi vyvinutých dvou metod vyhodnocujeme ve dvou optimalizačních úlohách pro GPU. V první úloze jsou naše metody schopny dosáhnout přesnosti okolo 82 %, což jsou výsledky, které jsou pouze o málo horší než kterých dosahují nedávné práce v této oblasti. Při druhé, náročnější úloze, kde je cílem správně klasifikovat jednu z deseti tříd, dosahují naše dvě metody přesnosti nad 50%. Tyto slibné výsledky naznačují velký potenciál dalšího výzkumu, který by se ubíral podobným směrem. 1cs_CZ
dc.languageEnglishcs_CZ
dc.language.isoen_US
dc.publisherUniverzita Karlova, Matematicko-fyzikální fakultacs_CZ
dc.subjectmachine learningen_US
dc.subjectneural networksen_US
dc.subjectGPUen_US
dc.subjectkernelen_US
dc.subjectoptimizationen_US
dc.subjectanalysisen_US
dc.subjectstrojové učenícs_CZ
dc.subjectneuronové sítěcs_CZ
dc.subjectGPUcs_CZ
dc.subjectkernelcs_CZ
dc.subjectoptimalizacecs_CZ
dc.subjectanalýzacs_CZ
dc.titleAnalysing and Optimizing GPU Kernels with Machine Learningen_US
dc.typediplomová prácecs_CZ
dcterms.created2020
dcterms.dateAccepted2020-07-01
dc.description.departmentDepartment of Software Engineeringen_US
dc.description.departmentKatedra softwarového inženýrstvícs_CZ
dc.description.facultyMatematicko-fyzikální fakultacs_CZ
dc.description.facultyFaculty of Mathematics and Physicsen_US
dc.identifier.repId218966
dc.title.translatedAnalýza a optimalizace GPU kernelů pomocí strojového učenícs_CZ
dc.contributor.refereeStraka, Milan
thesis.degree.nameMgr.
thesis.degree.levelnavazující magisterskécs_CZ
thesis.degree.disciplineSoftwarové systémycs_CZ
thesis.degree.disciplineSoftware Systemsen_US
thesis.degree.programComputer Scienceen_US
thesis.degree.programInformatikacs_CZ
uk.thesis.typediplomová prácecs_CZ
uk.taxonomy.organization-csMatematicko-fyzikální fakulta::Katedra softwarového inženýrstvícs_CZ
uk.taxonomy.organization-enFaculty of Mathematics and Physics::Department of Software Engineeringen_US
uk.faculty-name.csMatematicko-fyzikální fakultacs_CZ
uk.faculty-name.enFaculty of Mathematics and Physicsen_US
uk.faculty-abbr.csMFFcs_CZ
uk.degree-discipline.csSoftwarové systémycs_CZ
uk.degree-discipline.enSoftware Systemsen_US
uk.degree-program.csInformatikacs_CZ
uk.degree-program.enComputer Scienceen_US
thesis.grade.csVýborněcs_CZ
thesis.grade.enExcellenten_US
uk.abstract.csGrafické výpočetní jednotky (GPU) byly původně používány výhradně pro účely grafického vykreslování. To se změnilo zavedením technologií jako je CUDA, které umožnily použití grafických procesorů jako kterýchkoliv jiných výpočetních zařízení. Psaní efektivního programu pro GPU, nazývaného také GPU kernel, je však jednou z nejnáročnějších programovacích disciplín. Nejnovější výzkum v této oblasti naznačuje, že tyto problémy by mohly být potenciálně zmírněny metodami strojového učení. Jeden obzvláště úspěšný přístup je založen na využití rekurentních neuronových sítí (RNNs) nad různými reprezentacemi zdrojového kódu. V této práci představujeme dvě řešení založená na RNNs, která jsou schopna odvodit výkonové charakteristiky CUDA GPU kernelu přímo z jeho mezikódu, který se nazývá PTX. Použitelnost námi vyvinutých dvou metod vyhodnocujeme ve dvou optimalizačních úlohách pro GPU. V první úloze jsou naše metody schopny dosáhnout přesnosti okolo 82 %, což jsou výsledky, které jsou pouze o málo horší než kterých dosahují nedávné práce v této oblasti. Při druhé, náročnější úloze, kde je cílem správně klasifikovat jednu z deseti tříd, dosahují naše dvě metody přesnosti nad 50%. Tyto slibné výsledky naznačují velký potenciál dalšího výzkumu, který by se ubíral podobným směrem. 1cs_CZ
uk.abstract.enGraphics processing units (GPUs) were originally used solely for the purpose of graph- ics rendering. This changed with the introduction of technologies like CUDA that enabled to use graphics processors as any other computing device. However, writing an efficient program for GPUs, also called GPU kernel, is one of the most difficult programming disciplines. The latest research in the field suggests that these difficulties could be po- tentially mitigated with machine learning methods. One especially successful approach is based on the utilization of recurrent neural networks (RNNs) over different representa- tions of source code. In this work, we present two RNN-based solutions that are able to derive performance characteristics of a CUDA GPU kernel directly from its intermediate representation called PTX. We assess the applicability of our two methods in two GPU op- timization tasks. In heterogeneous device mapping task, our methods are able to achieve accuracies of around 82%, results that are slightly worse than the current state of the art. In a more challenging achieved occupancy task, where the goal is to correctly predict one out of ten classes, our two methods achieve accuracies above 50%. These promising results indicate great potential in additional research focused in a similar direction. 1en_US
uk.file-availabilityV
uk.grantorUniverzita Karlova, Matematicko-fyzikální fakulta, Katedra softwarového inženýrstvícs_CZ
thesis.grade.code1
uk.publication-placePrahacs_CZ


Files in this item

Thumbnail
Thumbnail
Thumbnail
Thumbnail
Thumbnail
Thumbnail
Thumbnail

This item appears in the following Collection(s)

Show simple item record


© 2017 Univerzita Karlova, Ústřední knihovna, Ovocný trh 560/5, 116 36 Praha 1; email: admin-repozitar [at] cuni.cz

Za dodržení všech ustanovení autorského zákona jsou zodpovědné jednotlivé složky Univerzity Karlovy. / Each constituent part of Charles University is responsible for adherence to all provisions of the copyright law.

Upozornění / Notice: Získané informace nemohou být použity k výdělečným účelům nebo vydávány za studijní, vědeckou nebo jinou tvůrčí činnost jiné osoby než autora. / Any retrieved information shall not be used for any commercial purposes or claimed as results of studying, scientific or any other creative activities of any person other than the author.

DSpace software copyright © 2002-2015  DuraSpace
Theme by 
@mire NV