An exhaustive algorithm based on GPU to process a kNN query

The Nearest Neighbors search is a widely used technique with applications on several classification problems. Particularly, the k-nearest neighbor (kNN) algorithm is a well-known method used in modern information retrieval systems aiming to obtain relevant objects based on their similarity to a give...

Full description

Saved in:
Bibliographic Details
Published in2020 39th International Conference of the Chilean Computer Science Society (SCCC) pp. 1 - 8
Main Authors Riquelme, Javier A., Barrientos, Ricardo J., Hernandez-Garcia, Ruber, Navarro, Cristobal A.
Format Conference Proceeding
LanguageEnglish
Published IEEE 16.11.2020
Subjects
Online AccessGet full text
DOI10.1109/SCCC51225.2020.9281231

Cover

More Information
Summary:The Nearest Neighbors search is a widely used technique with applications on several classification problems. Particularly, the k-nearest neighbor (kNN) algorithm is a well-known method used in modern information retrieval systems aiming to obtain relevant objects based on their similarity to a given query object. Although algorithms based on an exhaustive search have proven to be effective for the kNN classification, their main drawback is their high computational complexity, especially with high-dimensional data. In this work, we present a novel and parallel algorithm to solve kNN queries on a multi-GPU platform. The proposed method is comprised of two stages, which first is based on pivots using the value of K to reduce the search space, and the second one uses a set of heaps to return the final results. Experimental results showed that using between 1-4 GPUs, the proposed algorithm achieves speed-ups of 117x, 224x, 330x, and 389x, respectively. Besides, the obtained results were compared with previous approaches of the state-of-the-art (cp-select and CUB Library), evidencing the superiority of our proposal.
DOI:10.1109/SCCC51225.2020.9281231