Algoritmy a datové struktury pro hešování na GPU
Algorithms and data structures for hashing on GPU
dc.contributor.advisor | Oberhuber Tomáš | |
dc.contributor.author | Askar Kolushev | |
dc.date.accessioned | 2021-01-29T00:41:57Z | |
dc.date.available | 2021-01-29T00:41:57Z | |
dc.date.issued | 2021-01-28 | |
dc.identifier | KOS-922950497905 | |
dc.identifier.uri | http://hdl.handle.net/10467/92872 | |
dc.description.abstract | Hešovaci tabulka je typ datové struktury, která umožňuje vloženi a vyhledáváni kličů se složitosti O(1). Některé hešovaci tabulky jsou optimalizované pro práci na grafických procesorech (GPU). Tato práce je zaměřena na studium různých typů hešovaci tabulek a algoritmů a jejich implementaci pro GPU. Cilem je seznámit se s programovánim pomoci nástroje CUDA(r) a knihovny Template Numerical Library (TNL - www.tnl-project.org). Teoretická část po-pisuje podstatu hešováni a představuje některé datové struktury a algoritmy přizpůsobené pro paralelni zpracováni na GPU. V praktické části jsou některé z těchto přistupů (jmenovitě Cuckoo hashing a HashGraph) implementovány s pomoci TNL. Nakonec je implementace testována. Testy porovnávaji výkon na GPU a CPU s implementaci kontejneru std::unordered set ze standardni šablonové knihovny (STL) jazyka C++. Výsledky ukazuji, že všechny tes-tované přistupy funguji na GPU mnohem rychleji. Nejrychlejšim nalezeným přistupem byl HashGraph verze 1.0. Ten je nejlepši pro použiti v mnoha apli-kacich, které vyžaduji vloženi a vyhledáváni neuspořádaných kličů na GPU. | cze |
dc.description.abstract | A hash table is a type of data structure that enables insertion and probing of keys having same format with an average complexity of O(1). Some hash tables are also more optimized for working on graphics processors (GPU). The goal of this work is to get familiar with programming for GPU using CUDA(r) framework and Template Numerical Library (TNL - www.tnl-project.org) and use it to realize several hashing approaches. Theoretical part describes the idea of hashing and introduces some data structures and algorithms intended to adapt it for parallel programming for GPU. In practical part, some of these approaches (namely, Cuckoo hashing and HashGraphs) are implemented using TNL. Finally, the implementation is tested. The tests compare its performance on GPU and CPU with the implementation of std::unordered set container in Standard Template Library of the C++ language. The results show that all tested approaches perform faster on GPU. The fastest approach found was HashGraph of version 1.0. Thus, it is the best examined choice to be used in many applications that require storing and probing unordered keys on GPU. | eng |
dc.publisher | České vysoké učení technické v Praze. Vypočetní a informační centrum. | cze |
dc.publisher | Czech Technical University in Prague. Computing and Information Centre. | eng |
dc.rights | A university thesis is a work protected by the Copyright Act. Extracts, copies and transcripts of the thesis are allowed for personal use only and at one?s own expense. The use of thesis should be in compliance with the Copyright Act http://www.mkcr.cz/assets/autorske-pravo/01-3982006.pdf and the citation ethics http://knihovny.cvut.cz/vychova/vskp.html | eng |
dc.rights | Vysokoškolská závěrečná práce je dílo chráněné autorským zákonem. Je možné pořizovat z něj na své náklady a pro svoji osobní potřebu výpisy, opisy a rozmnoženiny. Jeho využití musí být v souladu s autorským zákonem http://www.mkcr.cz/assets/autorske-pravo/01-3982006.pdf a citační etikou http://knihovny.cvut.cz/vychova/vskp.html | cze |
dc.subject | Hešováni | cze |
dc.subject | hešovaci tabulka | cze |
dc.subject | grafický procesor | cze |
dc.subject | GPU | cze |
dc.subject | CUDA | cze |
dc.subject | Template Numerical Library | cze |
dc.subject | TNL | cze |
dc.subject | Cuckoo hashing | cze |
dc.subject | HashGraph | cze |
dc.subject | Hashing | eng |
dc.subject | hash table | eng |
dc.subject | graphics processing unit | eng |
dc.subject | GPU | eng |
dc.subject | CUDA | eng |
dc.subject | Template Numerical Library | eng |
dc.subject | TNL | eng |
dc.subject | Cuckoo hashing | eng |
dc.subject | HashGraph | eng |
dc.title | Algoritmy a datové struktury pro hešování na GPU | cze |
dc.title | Algorithms and data structures for hashing on GPU | eng |
dc.type | bakalářská práce | cze |
dc.type | bachelor thesis | eng |
dc.contributor.referee | Janoušek Jan | |
theses.degree.discipline | Computer Science (Bachelor, in English) | cze |
theses.degree.grantor | katedra teoretické informatiky | cze |
theses.degree.programme | Informatics (in English) | cze |
Soubory tohoto záznamu
Tento záznam se objevuje v následujících kolekcích
-
Bakalářské práce - 18101 [348]