Skip to content

Conversation

@twuebker
Copy link

Currently, Diskann is disabled due to various issues, e.g. AVX512 dependence. The code used for the Diskann source and the Python bindings is from a branch of the diskann repository which has not been updated since 2021. Instead, diskannpy should be used, which are the official bindings and part of the main branch of Diskann.

Refactor the diskann module to use the StaticMemoryIndex from the diskannpy library. Simplify Dockerfile and configuration, make the module minimal to reduce complexity, similar to the hnswlib module. Remove PQ since its primarily useful for indices that are stored on disk or take very long to build, and trades off recall [1].

[1] https://microsoft.github.io/DiskANN/docs/python/latest/diskannpy.html

Currently, an old implementation of the diskann python bindings is used.
Microsoft has an updated implementation called diskannpy available now.

Replace the old diskann module with a new version that uses the
StaticMemoryIndex from diskannpy. Add corresponding config and dockerfile. Also
reduce the complexity of the previous code by removing unnecessary functions,
leading to a minimal version comparable to the hnswlib module.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant