Convert PQ 4 bit code to dynamic dispatch#4309
Open
mdouze wants to merge 8 commits intofacebookresearch:mainfrom
Open
Convert PQ 4 bit code to dynamic dispatch#4309mdouze wants to merge 8 commits intofacebookresearch:mainfrom
mdouze wants to merge 8 commits intofacebookresearch:mainfrom
Conversation
Contributor
|
This pull request was exported from Phabricator. Differential Revision: D73581633 |
This was referenced Apr 24, 2025
Contributor
|
@mdouze is it good to review? 'Facebook Internal' tests has been running for 5 days O_o |
Contributor
Author
Not it's not yet ready, we have a significant TODO list to add. |
Differential Revision: D73581632
Differential Revision: D72937710
Differential Revision: D72937708
Summary: Model to apply dynamic dispatch to functions that are auto-vectorized. Note that the implementation in knowhere prefers using function pointers than to do a switch. The advantage is that it is probably faster. The disadvantage is that it changes the function prototypes. Differential Revision: D72937711
Summary: Pull Request resolved: facebookresearch#4291 moved IndexIVFPQ and IndexPQ to dynamic dispatch. Since the code was already quite modular (thanks Alex!), this boils down to make independent cpp files for the different SIMD versions. Differential Revision: D72937709
…training code, split quantizer code into headers, Make headers more independent Summary: Move the interface of SIMD functions to use the simdXfloat32 API to mutualize code. Begin splitting the ScalarQuantizer.cpp Continue splitting. Purely in header files for now. Differential Revision: D72945865
) Summary: Pull Request resolved: facebookresearch#4296 Splits the ScalarQuantizer code into parts so that the AVX2 and AVX512 can be compiled independently. Differential Revision: D73037185
Summary: Pull Request resolved: facebookresearch#4309 Migration of the 4-bit codecs to dynamic dispatch. The migration consists in: - templatizing the SIMD ResultHandlers to the SIMDLevel - instantiating the AVX2 and AVX512 code in their own files (compile units) - removing any SIMD dependency from IndexFastScan and IndexIVFFastScan - adding dispatching code for the SIMD code Differential Revision: D73581633
Contributor
|
This pull request was exported from Phabricator. Differential Revision: D73581633 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary:
Migration of the 4-bit codecs to dynamic dispatch.
The migration consists in:
Differential Revision: D73581633