24
3

Arkade: k-Nearest Neighbor Search With Non-Euclidean Distances using GPU Ray Tracing

Abstract

High-performance implementations of kk-Nearest Neighbor Search (kkNN) in low dimensions use tree-based data structures. Tree algorithms are hard to parallelize on GPUs due to their irregularity. However, newer Nvidia GPUs offer hardware support for tree operations through ray-tracing cores. Recent works have proposed using RT cores to implement kkNN search, but they all have a hardware-imposed constraint on the distance metric used in the search -- the Euclidean distance. We propose and implement two reductions to support kkNN for a broad range of distances other than the Euclidean distance: Arkade Filter-Refine and Arkade Monotone Transformation, each of which allows non-Euclidean distance-based nearest neighbor queries to be performed in terms of the Euclidean distance. With our reductions, we observe that kkNN search time speedups range between 1.61.6x-200200x and 1.31.3x-33.133.1x over various state-of-the-art GPU shader core and RT core baselines, respectively. In evaluation, we provide several insights on RT architectures' ability to efficiently build and traverse the tree by analyzing the kkNN search time trends.

View on arXiv
Comments on this paper