Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[FEA] Improve Vamana/DiskANN build #393

Open
2 of 7 tasks
bkarsin opened this issue Oct 3, 2024 · 2 comments
Open
2 of 7 tasks

[FEA] Improve Vamana/DiskANN build #393

bkarsin opened this issue Oct 3, 2024 · 2 comments
Assignees
Labels
feature request New feature or request improvement Improves an existing functionality

Comments

@bkarsin
Copy link
Contributor

bkarsin commented Oct 3, 2024

Initial Vamana build has limited features and several items to improve performance or usability. Once these items are addressed, we can consider moving it out of the "experimental" namespace. They include:

  • Reduce global memory footprint - this limits dataset and graph construction size. Simple ways include batching reverse edge generation, but will still be limited by requiring the entire dataset and graph be resident in device memory. Need to investigate storing the graph in host memory and the potential performance impacts as well.
  • Add support for any dimension dataset (current have alignment issues with odd or < 16 for uint8 / int8.
  • Auto-select and optimize queue_size for different visited_size values. Also, add support for any visited_size value (currently only poewers of 2.
  • Improve performance for high-degree graph build. This seems limited by GreedySearch, which becomes increasingly costly. Things to investigate include reducing shared memory/registers to improve occupancy, improving priority queue efficiency, or trying other data structures.
  • Add additional distance metrics - currently only L2 is supported. At least inner product and cosine are needed.
  • Add support in C and python APIs.
  • Create documentation and collect more extensive benchmark results.
@bkarsin bkarsin added feature request New feature or request improvement Improves an existing functionality labels Oct 3, 2024
@bkarsin bkarsin self-assigned this Oct 3, 2024
@bkarsin
Copy link
Contributor Author

bkarsin commented Nov 21, 2024

Fixed alignment issue for datasets with dimensions not a multiple of 16, but this introduced a bug that I am currently working on. Resulting delay means we need to push this issue off to the next release.

@bkarsin
Copy link
Contributor Author

bkarsin commented Jan 7, 2025

PR #558 addresses dataset dimension support and documentation

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature request New feature or request improvement Improves an existing functionality
Projects
Status: In Progress
Development

No branches or pull requests

1 participant