Relative Nearest Neighbor Descent (RNN-Descent) is a state-of-the-art algorithm for constructing sparse approximate nearest neighbor (ANN) graphs by combining the iterative refinement of NN-Descent with the edge-pruning rules of the Relative Neighborhood Graph (RNG). It has demonstrated strong effectiveness in large-scale search tasks such as information retrieval and related tasks. However, as the amount and dimensionality of data increase, the complexity of graph construction in RNN-Descent rises sharply, making this stage increasingly time-consuming and even prohibitive for subsequent query processing. In this paper, we propose GRNND, the first GPU-parallel algorithm of RNN-Descent designed to fully exploit GPU architecture. GRNND introduces a disordered neighbor propagation strategy to mitigate synchronized update traps, enhancing structural diversity, and avoiding premature convergence during parallel execution. It also leverages warp-level cooperative operations and a double-buffered neighbor pool with fixed capacity for efficient memory access, eliminate contention, and enable highly parallelized neighbor updates. Extensive experiments demonstrate that GRNND consistently outperforms existing CPU- and GPU-based methods. GRNND achieves 2.4 to 51.7x speedup over existing GPU methods, and 17.8 to 49.8x speedup over CPU methods.
翻译:相对最近邻下降(RNN-Descent)是一种通过将NN-Descent的迭代优化与相对邻域图(RNG)的边剪枝规则相结合,来构建稀疏近似最近邻(ANN)图的先进算法。它已在信息检索及相关任务等大规模搜索任务中展现出强大的有效性。然而,随着数据量和维度的增加,RNN-Descent中图构建的复杂度急剧上升,使得该阶段耗时显著增加,甚至可能阻碍后续查询处理。本文提出GRNND,这是首个旨在充分利用GPU架构的RNN-Descent GPU并行算法。GRNND引入了一种无序邻居传播策略,以缓解同步更新陷阱,增强结构多样性,并避免并行执行过程中的早熟收敛。该算法还利用线程束级别的协作操作以及一个固定容量的双缓冲邻居池,以实现高效的内存访问、消除竞争并支持高度并行的邻居更新。大量实验表明,GRNND在性能上持续优于现有的基于CPU和GPU的方法。相较于现有GPU方法,GRNND实现了2.4至51.7倍的加速;相较于CPU方法,则实现了17.8至49.8倍的加速。