dc.contributor.advisor | Kruliš, Martin | |
dc.creator | Hanák, Drahomír | |
dc.date.accessioned | 2023-11-06T21:11:17Z | |
dc.date.available | 2023-11-06T21:11:17Z | |
dc.date.issued | 2023 | |
dc.identifier.uri | http://hdl.handle.net/20.500.11956/184177 | |
dc.description.abstract | Similarity search is a commonly used technique in databases for finding objects si- milar to a query. It finds applications in content-based retrieval of complex objects like images, information retrieval, and statistical learning. Our thesis focuses on the imple- mentation and optimization of the k nearest neighbours (kNN) algorithm on a GPU, a commonly used technique in similarity search. We analyze and evaluate several existing GPU kNN implementations in various configurations and propose the best algorithm for each configuration. We also suggest optimizations of k-selection. In particular, we suggest a small k-selection approach, which achieves up to 80% of peak theoretical throughput on a typical configuration used in many applications of kNN and is faster than the current state-of-the-art. We implemented a fused algorithm, which solves kNN without mate- rializing the distance matrix, and a large k-selection, which outperforms an optimized, parallel sorting of the whole database by a significant margin. 1 | en_US |
dc.description.abstract | Podobnostní vyhledávání je často používaná technika v databázích pro hledání objektů podobných danému dotazu. Používá se ve vyhledávání podle vzoru komplexních objektů, jako jsou například obrázky, získávání informací a statistickém učení. Naše práce se za- měřuje na implementaci a optimalizaci algoritmu k nejbližších sousedů (kNN) na GPU, který se často používá pro podobnostní vyhledávnání. Analyzovali a vyhodnotlili jsme existující implementace kNN na GPU pro různé konfigurace problému. Pro každou kon- figuraci jsme navrhli nejrychlejší řešení. Také jsme navrhli několik optimalizací výběru k nejbližších sousedů. Implementovali jsme přístup, který dosanuje až 80% maximání teo- retické propustnosti na typické konfiguraci problému a je rychlejší než ostatní přístupy v literatuře. Také jsme implementovali algoritmus, který najde k nejbližších sousedů bez toho, aniž by musel uložit matici vzdáleností do paměti, a algoritmus pro velké hodnoty parametru k, který je podstatně rychlejší než optimalizované paralelní třídění. 1 | cs_CZ |
dc.language | English | cs_CZ |
dc.language.iso | en_US | |
dc.publisher | Univerzita Karlova, Matematicko-fyzikální fakulta | cs_CZ |
dc.subject | kNN|top-k|parallel|GPU|CUDA | cs_CZ |
dc.subject | kNN|top-k|parallel|GPU|CUDA | en_US |
dc.title | Meeting the challenges of k-nearest neighbor search implementation for GPU accelerators | en_US |
dc.type | diplomová práce | cs_CZ |
dcterms.created | 2023 | |
dcterms.dateAccepted | 2023-09-06 | |
dc.description.department | Katedra distribuovaných a spolehlivých systémů | cs_CZ |
dc.description.department | Department of Distributed and Dependable Systems | en_US |
dc.description.faculty | Matematicko-fyzikální fakulta | cs_CZ |
dc.description.faculty | Faculty of Mathematics and Physics | en_US |
dc.identifier.repId | 242060 | |
dc.title.translated | Analýza a řešení výzev implementace vyhledávání k nejbližších sousedů pro GPU akcelerátory | cs_CZ |
dc.contributor.referee | Yaghob, Jakub | |
thesis.degree.name | Mgr. | |
thesis.degree.level | navazující magisterské | cs_CZ |
thesis.degree.discipline | Informatika - Softwarové systémy | cs_CZ |
thesis.degree.discipline | Computer Science - Software Systems | en_US |
thesis.degree.program | Informatika - Softwarové systémy | cs_CZ |
thesis.degree.program | Computer Science - Software Systems | en_US |
uk.thesis.type | diplomová práce | cs_CZ |
uk.taxonomy.organization-cs | Matematicko-fyzikální fakulta::Katedra distribuovaných a spolehlivých systémů | cs_CZ |
uk.taxonomy.organization-en | Faculty of Mathematics and Physics::Department of Distributed and Dependable Systems | en_US |
uk.faculty-name.cs | Matematicko-fyzikální fakulta | cs_CZ |
uk.faculty-name.en | Faculty of Mathematics and Physics | en_US |
uk.faculty-abbr.cs | MFF | cs_CZ |
uk.degree-discipline.cs | Informatika - Softwarové systémy | cs_CZ |
uk.degree-discipline.en | Computer Science - Software Systems | en_US |
uk.degree-program.cs | Informatika - Softwarové systémy | cs_CZ |
uk.degree-program.en | Computer Science - Software Systems | en_US |
thesis.grade.cs | Výborně | cs_CZ |
thesis.grade.en | Excellent | en_US |
uk.abstract.cs | Podobnostní vyhledávání je často používaná technika v databázích pro hledání objektů podobných danému dotazu. Používá se ve vyhledávání podle vzoru komplexních objektů, jako jsou například obrázky, získávání informací a statistickém učení. Naše práce se za- měřuje na implementaci a optimalizaci algoritmu k nejbližších sousedů (kNN) na GPU, který se často používá pro podobnostní vyhledávnání. Analyzovali a vyhodnotlili jsme existující implementace kNN na GPU pro různé konfigurace problému. Pro každou kon- figuraci jsme navrhli nejrychlejší řešení. Také jsme navrhli několik optimalizací výběru k nejbližších sousedů. Implementovali jsme přístup, který dosanuje až 80% maximání teo- retické propustnosti na typické konfiguraci problému a je rychlejší než ostatní přístupy v literatuře. Také jsme implementovali algoritmus, který najde k nejbližších sousedů bez toho, aniž by musel uložit matici vzdáleností do paměti, a algoritmus pro velké hodnoty parametru k, který je podstatně rychlejší než optimalizované paralelní třídění. 1 | cs_CZ |
uk.abstract.en | Similarity search is a commonly used technique in databases for finding objects si- milar to a query. It finds applications in content-based retrieval of complex objects like images, information retrieval, and statistical learning. Our thesis focuses on the imple- mentation and optimization of the k nearest neighbours (kNN) algorithm on a GPU, a commonly used technique in similarity search. We analyze and evaluate several existing GPU kNN implementations in various configurations and propose the best algorithm for each configuration. We also suggest optimizations of k-selection. In particular, we suggest a small k-selection approach, which achieves up to 80% of peak theoretical throughput on a typical configuration used in many applications of kNN and is faster than the current state-of-the-art. We implemented a fused algorithm, which solves kNN without mate- rializing the distance matrix, and a large k-selection, which outperforms an optimized, parallel sorting of the whole database by a significant margin. 1 | en_US |
uk.file-availability | V | |
uk.grantor | Univerzita Karlova, Matematicko-fyzikální fakulta, Katedra distribuovaných a spolehlivých systémů | cs_CZ |
thesis.grade.code | 1 | |
uk.publication-place | Praha | cs_CZ |
uk.thesis.defenceStatus | O | |