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

Port of C++ implementation to Rust #380

Merged
merged 2 commits into from
Jun 26, 2023
Merged

Port of C++ implementation to Rust #380

merged 2 commits into from
Jun 26, 2023

Commits on Jun 26, 2023

  1. patelyash/index factory (#340)

    * gi# This is a combination of 2 commits.
    
    remove _u, _s typedefs
    
    * added some seed files
    
    * add seed files
    
    * New distance metric hierarchy
    
    * Refactoring changes
    
    * Fixing compile errors in refactored code
    
    * Fixing compile errors
    
    * DiskANN Builds with initial refactoring changes
    
    * Saving changes for Ravi
    
    * More refactoring
    
    * Refactor
    
    * Fixed most of the bugs related to _data
    
    * add seed files
    
    * gi# This is a combination of 2 commits.
    
    remove _u, _s typedefs
    
    * added some seed files
    
    * New distance metric hierarchy
    
    * Refactoring changes
    
    * Fixing compile errors in refactored code
    
    * Fixing compile errors
    
    * DiskANN Builds with initial refactoring changes
    
    * Saving changes for Ravi
    
    * More refactoring
    
    * Refactor
    
    * Fixed most of the bugs related to _data
    
    * Post merge with main
    
    * Refactored version which compiles on Windows
    
    * now compiles on linux
    
    * minor clean-up
    
    * minor bug fix
    
    * minor bug
    
    * clang format fix + build error fix
    
    * clang format fix
    
    * minor changes
    
    * added back the fast_l2 feature
    
    * added back set_start_points in index.cpp
    
    * Version for review
    
    * Incorporating Harsha's comments - 2
    
    * move implementation of abstract data store methods to a cpp file
    
    * clang format
    
    * clang format
    
    * Added slot manager file (empty) and fixed compile errors
    
    * fixed a linux compile error
    
    * clang
    
    * debugging workflow failure
    
    * clang
    
    * more debug
    
    * more debug
    
    * debug for workflow
    
    * remove slot manager
    
    * Removed the #ifdef WINDOWS directive from class definitions
    
    * Refactoring alignment factor into distance hierarchy
    
    * Fixing cosine distance
    
    * Ensuring we call preprocess_query always
    
    * Fixed distance invocations
    
    * fixed cosine bug, clang-formatted
    
    * cleaned up and added comments
    
    * clang-formatted
    
    * more clang-format
    
    * clang-format 3
    
    * remove deleted code in scratch.cpp
    
    * reverted clang to Microsoft
    
    * small change
    
    * Removed slot_manager from this PR
    
    * newline at EOF in_mem_Graph_store.cpp
    
    * rename distance_metric to distance_fn
    
    * resolving PR comments
    
    * minor bug fix for initialization
    
    * creating index_factory
    
    * using index factory to build inmem index
    
    * clang format fix
    
    * minor bug fix
    
    * fixing build error
    
    * replacing mem_store with abstract_mem_store + injecting data_store to Index
    
    * minor fix
    
    * clang format fix
    
    * commenting data_store injection to prevent double invocation and mem leak (for now)
    
    * fixing the build for fiters
    
    * moving abstract index to abstract_index.h
    
    * IndexBuildParamsbuilder to build IndexBuildParams properly with error checking
    
    * fixing build errors
    
    * fixing minor error
    
    * refactoring index search to be simple
    
    * clang format fix
    
    * refactoring search_mem_index to use index factory
    
    * clang fix
    
    * minor fix
    
    * minor fix for build
    
    * optimize for fast l2 restore
    
    * removing comments
    
    * removing comments
    
    * adding templating to IndexFactory (can't avoide it anymore)
    
    * fixing build error
    
    * fixing ubuntu build error
    
    * ubuntu build exception fix
    
    * passing num_pq_bytes
    
    * giving one more shot to config dricen arch with boost::any (type erasure)
    
    * clang fix
    
    * modifying search to use boost::any
    
    * fixing ubuntu build errors/warning
    
    * created indexconfigbuilder and fixed a typo
    
    * fixing error in pq build
    
    * some comments + lazy_delete impl
    
    * bumping to std c++17 & replacing boost::any with std::any
    
    * clang fix
    
    * c++ std 17 for ubuntu
    
    * minor fix
    
    * converting search to batch_search + A vector wrapper using std::any to store vector as a shared ptr
    
    * adding AnyVector to encapsulate vector in std::any + adding basic yaml parser(WIP)
    
    * adding wrapper code for vector and set, checked with Andrija
    
    * fixinh ubuntu build error
    
    * trying to resolve ubuntu build error
    
    * testing test streaming index with IndexFactory
    
    * fixing ubuntu build error
    
    * fixing search for test insert delete consolidate
    
    * refactored test_streaming_scenario
    
    * refactored test_insert_delete_consolidate to use AbstractIndex and Indexfactory
    
    * fixing ubuntu build error
    
    * making build method in abstract index consistent
    
    * some code cleanup + abstract_cpp to add implementation
    
    * remoing coments and code cleanup
    
    * build error fix
    
    * fixing -Wreorder warning
    
    * separating build structs to their header + refactor search and remove batch search
    
    * fixing ubuntu build errors
    
    * resolving segfault error from search_mem_index
    
    * fixing query_result_tag allocation
    
    * minor update
    
    * search fix
    
    * trying to fix windows latest build for dynamic index
    
    * ading temp loggin to debug windows latest build issue
    
    * removing logging for debug
    
    * fixning windows latest build error for dynamix index search
    
    * moving any wrappers to separate file + organizing code
    
    * fixing check error
    
    * updating private vsr naming convention
    
    * minor update
    
    * unravelig search methods in abstract index. Iteraton 1
    
    * minor fix
    
    * unused vars remove
    
    * returning a unique_ptr to Abstract Index from index factory
    
    * adding implementation from abstract_index.h to abstract_index.cpp
    
    * making abstract index api to be more explicit (expriment)
    
    * some code cleanup
    
    * removing detected memory leaks (free up index)
    
    * separtaing enums for data and graph stratagy
    
    * Index ctor(config) now uses injected datastore from IndexFactory
    
    * distance in index population in new config ctor
    
    * resolving some comments from Andrija
    
    * Resolving some restructuring comments by Andrija
    
    * minor fix
    
    * fixing ubuntu build error
    
    * warning fix
    
    * simplified get() in anywrappers
    
    * making index config a unique ptr and owned by IndexFactory
    
    * removing complex if/else calling recursively + added unimplemented TagT to AbsIdx
    
    * renaming get_instance to create_instance
    
    * clang format fix
    
    * removing const_cast from any_wrapper
    
    * fixing andrija's comments
    
    * removing warnings
    
    ---------
    
    Co-authored-by: harsha vardhan simhadri <harsha.v.simhadri@gmail.com>
    Co-authored-by: Gopal Srinivasa <gopalsr@microsoft.com>
    Co-authored-by: ravishankar <rakri@microsoft.com>
    Co-authored-by: Harsha Vardhan Simhadri <harsha-simhadri@users.noreply.github.com>
    5 people authored and varat73 committed Jun 26, 2023
    Configuration menu
    Copy the full SHA
    b2e4a24 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    bbb0ca0 View commit details
    Browse the repository at this point in the history