-
Notifications
You must be signed in to change notification settings - Fork 3.6k
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
[ARM NEON] Get rid of redundant instructions in ScalarQuantizer #3430
Closed
alexanderguzhva
wants to merge
1
commit into
facebookresearch:main
from
alexanderguzhva:improve_sq_arm
Closed
[ARM NEON] Get rid of redundant instructions in ScalarQuantizer #3430
alexanderguzhva
wants to merge
1
commit into
facebookresearch:main
from
alexanderguzhva:improve_sq_arm
Conversation
This file contains 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
alexanderguzhva
force-pushed
the
improve_sq_arm
branch
from
May 13, 2024 17:29
751ada0
to
200123f
Compare
alexanderguzhva
force-pushed
the
improve_sq_arm
branch
from
May 14, 2024 15:16
200123f
to
81157d7
Compare
rebased to master |
Signed-off-by: Alexandr Guzhva <[email protected]>
alexanderguzhva
force-pushed
the
improve_sq_arm
branch
from
May 14, 2024 16:42
81157d7
to
1aa80c3
Compare
So I trust you that the new syntax will compile on all GCCs and clang. |
@mdouze has imported this pull request. If you are a Meta employee, you can view this diff on Phabricator. |
abhinavdangeti
pushed a commit
to blevesearch/faiss
that referenced
this pull request
Jul 12, 2024
…h#3430) Summary: This PR removes unneeded ARM NEON SIMD instructions for ScalarQuantizer. The removed instructions are completely redundant, and I believe that it is a funky way of converting two `float32x4_t` variables (which hold 4 float values in a single SIMD register) into a single `float32x4x2_t` variable (two SIMD registers packed together). Clang compiler is capable of eliminating these instructions. The only GCC that can eliminate these unneeded instructions is GCC 14, which was released very recently (Apr-May 2024). mdouze Pull Request resolved: facebookresearch#3430 Reviewed By: mlomeli1 Differential Revision: D57369849 Pulled By: mdouze fbshipit-source-id: 09d7cf16e113df3eb9ddbfa54d074b58b452ba7f
aalekhpatel07
pushed a commit
to aalekhpatel07/faiss
that referenced
this pull request
Oct 17, 2024
…h#3430) Summary: This PR removes unneeded ARM NEON SIMD instructions for ScalarQuantizer. The removed instructions are completely redundant, and I believe that it is a funky way of converting two `float32x4_t` variables (which hold 4 float values in a single SIMD register) into a single `float32x4x2_t` variable (two SIMD registers packed together). Clang compiler is capable of eliminating these instructions. The only GCC that can eliminate these unneeded instructions is GCC 14, which was released very recently (Apr-May 2024). mdouze Pull Request resolved: facebookresearch#3430 Reviewed By: mlomeli1 Differential Revision: D57369849 Pulled By: mdouze fbshipit-source-id: 09d7cf16e113df3eb9ddbfa54d074b58b452ba7f
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.
This PR removes unneeded ARM NEON SIMD instructions for ScalarQuantizer.
The removed instructions are completely redundant, and I believe that it is a funky way of converting two
float32x4_t
variables (which hold 4 float values in a single SIMD register) into a singlefloat32x4x2_t
variable (two SIMD registers packed together).Clang compiler is capable of eliminating these instructions. The only GCC that can eliminate these unneeded instructions is GCC 14, which was released very recently (Apr-May 2024).
@mdouze