-
Notifications
You must be signed in to change notification settings - Fork 514
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
Add avx512_spr documentation #9148
base: main
Are you sure you want to change the base?
Add avx512_spr documentation #9148
Conversation
Thank you for submitting your PR. The PR states are In progress (or Draft) -> Tech review -> Doc review -> Editorial review -> Merged. Before you submit your PR for doc review, make sure the content is technically accurate. If you need help finding a tech reviewer, tag a maintainer. When you're ready for doc review, tag the assignee of this PR. The doc reviewer may push edits to the PR directly or leave comments and editorial suggestions for you to address (let us know in a comment if you have a preference). The doc reviewer will arrange for an editorial review. |
9e0e8e6
to
d706841
Compare
_search-plugins/knn/knn-index.md
Outdated
@@ -64,18 +68,21 @@ SIMD optimization is applicable only if the vector dimension is a multiple of 8. | |||
|
|||
For x64 architecture, the following versions of the Faiss library are built and shipped with the artifact: | |||
|
|||
- `libopensearchknn_faiss.so`: The non-optimized Faiss library without SIMD instructions. | |||
- `libopensearchknn_faiss_avx512_spr.so`: The Faiss library containing advanced AVX512 SIMD instructions for Intel® Sapphire Rapids or a newer-generation processor. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
newer-generation processor, available on public clouds such as AWS on c/m/r 7i or newer instances.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
not sure if we can mention about AWS on opensource documentation, @kolchfa-aws do you know ?
Instead shall we mention the CPU flags like "newer-generation processor with CPU flags avx512_fp16, avx512_bf16, avx512_vpopcntdq" ?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
most customers reading this doc will try opensearch and its features on some public cloud. They're unlikely to understand intel product family names like 'Sapphire Rapids' etc. Hence the c/m/r7i would be helpful to them to pick the right product I thought.
I think its better to skip the CPU flag details. It's very low level system details, and it'll create more confusion to a reader of opensearch.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
got it, will update. Thanks!
Signed-off-by: Naveen Tatikonda <[email protected]>
d706841
to
967ef6c
Compare
@kolchfa-aws Can you pls review this PR. Thanks! |
Signed-off-by: Fanit Kolchina <[email protected]>
_search-plugins/knn/knn-index.md
Outdated
SIMD architecture helps boost overall performance by improving indexing throughput and reducing search latency. Starting with version 2.18, the k-NN plugin supports AVX512 SIMD | ||
instructions on x64 architecture and from version 2.19, the k-NN plugin supports advanced AVX512 SIMD instructions on x64 architecture if underlying system is an Intel® Sapphire | ||
Rapids or a newer-generation processor which will boost the performance of hamming distance and fp16 computation. | ||
Starting with version 2.13, the k-NN plugin supports [Single Instruction Multiple Data (SIMD)](https://en.wikipedia.org/wiki/Single_instruction,_multiple_data) processing if the underlying hardware supports SIMD instructions (AVX2 on x64 architecture and Neon on ARM64 architecture). SIMD is supported by default on Linux machines only for the Faiss engine. SIMD architecture helps boost overall performance by improving indexing throughput and reducing search latency. Starting with version 2.18, the k-NN plugin supports AVX512 SIMD instructions on x64 architecture. Starting with version 2.19, the k-NN plugin supports advanced AVX512 SIMD instructions on x64 architecture for Intel Sapphire Rapids or a newer generation processor, improving the performance of Hamming distance and FP16 computation. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can you change the last line to improving the performance of Hamming distance computation.
?
As of now, looks like fp16 optimization is not yet added so let us remove it.
Signed-off-by: Fanit Kolchina <[email protected]>
Description
Add avx512_spr documentation, the advanced avx512 instructions for Intel® Sapphire Rapids or a newer-generation processors on x64 architecture to boost the performance of hamming distance and fp16 computations.
Issues Resolved
Closes #9108
Version
2.19
Frontend features
If you're submitting documentation for an OpenSearch Dashboards feature, add a video that shows how a user will interact with the UI step by step. A voiceover is optional.
Checklist
For more information on following Developer Certificate of Origin and signing off your commits, please check here.