An exhaustive algorithm based on GPU to process a kNN query

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.
    • Correction
    • Source
    • Cite
    • Save
    • Machine Reading By IdeaReader
    24
    References
    1
    Citations
    NaN
    KQI
    []