An exhaustive algorithm based on GPU to process a kNN query - Riquelme, Javier A.; Barrientos, Ricardo J.; Hernandez-Garcia, Ruber; Navarro, Cristobal A. (2020 39th International Conference of the Chilean Computer Science Society (SCCC), 2020)
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.