Skip to content

Add the ability to clone and read binary indexes to the C API.#1

Closed
aalekhpatel07 wants to merge 3 commits intoEnet4:mainfrom
aalekhpatel07:binary-indexes
Closed

Add the ability to clone and read binary indexes to the C API.#1
aalekhpatel07 wants to merge 3 commits intoEnet4:mainfrom
aalekhpatel07:binary-indexes

Conversation

@aalekhpatel07
Copy link

This is in addition to Enet4/faiss-rs#79 which contains the faiss-sys related changes to consume these two functions and the rest of the C API for binary indexes.

Signed-off-by: Aalekh Patel <aalekh.gwpeck.7998@icloud.com>
Signed-off-by: Aalekh Patel <aalekh.gwpeck.7998@icloud.com>
@Enet4
Copy link
Owner

Enet4 commented Mar 25, 2024

Hello! The changes seem to be in order, but I would appreciate it if you sent this PR to the upstream repository instead, so that the bindings may continue to link to the main development branch.

@aalekhpatel07
Copy link
Author

aalekhpatel07 commented Mar 25, 2024

Certainly! Thanks for your feedback.

This is the tracking PR for the changes upstream.

@aalekhpatel07
Copy link
Author

PR issued to upstream instead: facebookresearch#3318

Enet4 pushed a commit that referenced this pull request Aug 30, 2025
…Lists (facebookresearch#3327)

Summary:
Pull Request resolved: facebookresearch#3327

**Context**
1. [Issue 2621](facebookresearch#2621) discuss inconsistency between OnDiskInvertedList and InvertedList. OnDiskInvertedList is supposed to handle disk based multiple Index Shards. Thus, we should name it differently when merging invls from index shard.
2. [Issue 2876](facebookresearch#2876) provides usecase of shifting ids when merging invls from different shards.

**In this diff**,
1. To address #1 above, I renamed the merge_from function to merge_from_multiple without touching merge_from base class.
why so? To continue to allow merge invl from one index to ondiskinvl from other index.

2. To address #2 above, I have added support of shift_ids in merge_from_multiple to shift ids from different shards. This can be used when each shard has same set of ids but different data. This is not recommended if id is already unique across shards.

Reviewed By: mdouze

Differential Revision: D55482518

fbshipit-source-id: 95470c7449160488d2b45b024d134cbc037a2083
Enet4 pushed a commit that referenced this pull request Aug 30, 2025
…ookresearch#3527)

Summary:
Pull Request resolved: facebookresearch#3527

**Context**
Design Doc: [Faiss Benchmarking](https://docs.google.com/document/d/1c7zziITa4RD6jZsbG9_yOgyRjWdyueldSPH6QdZzL98/edit)

**In this diff**
1. Be able to reference codec and index from blobstore (bucket & path) outside the experiment
2. To support #1, naming is moved to descriptors.
3. Build index can be written as well.
4. You can run benchmark with train and then refer it in index built and then refer index built in knn search. Index serialization is optional. Although not yet exposed through index descriptor.
5. Benchmark can support index with different datasets sizes
6. Working with varying dataset now support multiple ground truth. There may be small fixes before we could use this.
7. Added targets for bench_fw_range, ivf, codecs and optimize.

**Analysis of ivf result**: D58823037

Reviewed By: algoriddle

Differential Revision: D57236543

fbshipit-source-id: ad03b28bae937a35f8c20f12e0a5b0a27c34ff3b
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.

3 participants