Is your feature request related to a problem? Please describe.
The Vamana GPU build is dominated by GreedySearch on high-dimensional datasets. During each search, nodes reachable through more than one path are re-checked against the visited set and have their distances recomputed each time, which is redundant work that scales with graph degree.
Describe the solution you'd like
Reduce the per-search visited-set handling so each node's distance is computed at most once, lowering build latency for high-dimensional workloads without changing search results.
Describe alternatives you've considered
Keeping the current visited-list handling and accepting the redundant distance computations is the baseline; it is simple but leaves build time higher than necessary on high-dimensional data.
Additional context
Measured on NVIDIA L4 (graph_degree=64, visited_size=128): build time reduced 14-34% on sift/cohere/gist/openai with no change in recall@10.
Is your feature request related to a problem? Please describe.
The Vamana GPU build is dominated by GreedySearch on high-dimensional datasets. During each search, nodes reachable through more than one path are re-checked against the visited set and have their distances recomputed each time, which is redundant work that scales with graph degree.
Describe the solution you'd like
Reduce the per-search visited-set handling so each node's distance is computed at most once, lowering build latency for high-dimensional workloads without changing search results.
Describe alternatives you've considered
Keeping the current visited-list handling and accepting the redundant distance computations is the baseline; it is simple but leaves build time higher than necessary on high-dimensional data.
Additional context
Measured on NVIDIA L4 (graph_degree=64, visited_size=128): build time reduced 14-34% on sift/cohere/gist/openai with no change in recall@10.