Skip to content

Support file-based serialize/deserialize for DiskANN indices using Save/Load traits#1079

Draft
suhasjs wants to merge 21 commits into
mainfrom
mhildebr/saveload
Draft

Support file-based serialize/deserialize for DiskANN indices using Save/Load traits#1079
suhasjs wants to merge 21 commits into
mainfrom
mhildebr/saveload

Conversation

@suhasjs
Copy link
Copy Markdown
Contributor

@suhasjs suhasjs commented May 16, 2026

  • Does this PR have a descriptive title that could go in our release notes?
  • Does this PR add any new dependencies?
  • Does this PR modify any existing APIs?
  • Is the change to the API backwards compatible?
  • Should this result in any changes to our documentation, either updating existing docs or adding new ones?

Reference Issues/PRs

Initial attempt at #737

What does this implement/fix? Briefly explain your changes.

Introduces two new traits (diskann_record::save::Save and diskann_record::load::Load)and a new create diskann-record to support file-based serialization + deserialization. This PR also implements the traits for DiskANNIndex (and all nested structs) for a successful prototype.
Sample output can be found here.

Any other comments?

This PR is meant to be in a draft state until we're happy with the abstractions and the results.

Mark Hildebrand and others added 21 commits April 15, 2026 14:32
…borrow for Writer::finish() since it calls std::io::Write::flush() that needs a mutable borrow
… wherever needed + modify writer return type to Result<>
… diskann-providers with a new SingleUseWriteProvider (also for reads with SingleUseReadProvider)
…ad_from_bin<> to only use one read since VectorDataIterator already has the metadata needed for
@suhasjs suhasjs added this to the 2026-05 milestone May 16, 2026
@suhasjs suhasjs self-assigned this May 16, 2026
@suhasjs suhasjs added the enhancement New feature or request label May 16, 2026
@suhasjs suhasjs moved this to In Progress in DiskANN backlog May 16, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

Status: In Progress

Development

Successfully merging this pull request may close these issues.

1 participant