Backend
Turbocharging PiPNN for Proximity and $k$-NN Graph Building
arXiv cs.IR0 views
arXiv:2611.05690v1 Announce Type: cross Abstract: Graph-based Approximate Nearest Neighbor Search (ANNS) indexes such as HNSW and Vamana deliver state-of-the-art query performance at the cost of large indexing times. The recently introduced PiPNN method drastically accelerated index construction by way of a partitioning-based algorithm leveraging dense matrix multiplication and top-$K$ aggregation kernels. In this paper, we unlock the full potential of PiPNN's hardware-friendly algorithm design. We introduce PiPNN II, which optimizes multiple steps of the PiPNN recipe, giving up to $8\times$ speedups for graph-based ANNS index construction. In addition, we present GPiPNN, a GPU implementation which builds comparable ANNS indices up to $43.7\times$ faster than Jasper and up to $50\times$ faster than CAGRA. We also extend PiPNN II and GPiPNN to compute high-quality $k$-NN graphs directly, which unlocks massive speedups over methods used in many existing systems for clustering, anomaly detection, and more. For 10-NN graph building at $90\%$ recall, we obtain up to a $13\times$ speedup on CPUs and $6.6\times$ on GPUs as compared to the prior best methods. PiPNN II can build a billion-scale 10-NN graph in under 16 minutes. Common to both PiPNN II and GPiPNN is the use of quantization to reduce memory traffic and leverage fast low-precision matrix operations. Top-$K$ emerges as a new bottleneck, which we optimize with specialized code for specific $K$, and by fusing with the matrix kernel to avoid materializing the distance matrix to memory. On CPUs, we demonstrate further performance improvements by leveraging our matrix kernels in the RobustPrune procedure proposed in Vamana and used in PiPNN. On GPUs, we flatten recursive partitioning into segmented batches, use one fused top-$K$ abstraction for partitioning and leaf scoring, and prune with already-witnessed direct edges rather than new candidate-to-candidate scoring passes.
Source:https://arxiv.org/abs/2611.05690PreviousCombining Relevant Expert Knowledge Using Mixtures of Feedback Fuzzy Cognitive MapsNextToward a Compositional Knowledge Architecture for a Shared Organizational Cortex
Related posts
How to let Claude Code and Codex talk directly across two computers without copy-pasting logs
0dev.to
Why Is There a Delay When I’m Typing? (I Tested the Bottlenecks So You Don’t Have To)
0dev.to

Moving City GIS Into Unreal Engine: Coordinate Systems, LOD, and the Boring Parts
0dev.to
My AI Agent Said 'Done.' It Wasn't. A Field Guide to Trusting Nothing an Agent Tells You
0dev.to
Bridging Context and Execution: An Engineering Assessment of Connected AI Workflows
0dev.to
把 AI CLI 包成 OpenAI 相容 API:從 stdin、JSON 輸出到逾時處理(附可跑範例)
0dev.to