-
Notifications
You must be signed in to change notification settings - Fork 1.3k
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
Support for f16 vector metrics #4110
Comments
/bounty $300 |
💎 $300 bounty • QdrantSteps to solve:
Additional opportunities:
Thank you for contributing to qdrant/qdrant! Add a bounty • Share on socials
|
Happy to help with this. You just want SIMD implementations and tests for f16? (ie. code doesn't have to be refactored to account for f16 datatype correct?) Options |
Thanks 😃
yeah, integration of f16 into API and storage would be a separate issue. |
Found a crate based on simd for f16. |
💡 @TheQuantumFractal submitted a pull request that claims the bounty. You can visit your bounty board to reward. |
Great work @TheQuantumFractal ! |
@TheQuantumFractal: You've been awarded a $360 bounty by Qdrant! 👉 Complete your Algora onboarding to collect the bounty. |
🎉🎈 @TheQuantumFractal has been awarded $360! 🎈🎊 |
Is your feature request related to a problem? Please describe.
Currently Qdrant supports storage of raw vectors with 2 datatypes:
f32
anduint8
.In some applications it is also desirable to have
f16
datatype support.Qdrant
VectorStorage
itself is generic to the datatype and technically can store vectors of any type with no additional changes.There is, however, a component which depends on datatype and requires specialized implementation - that is metrics.
Describe the solution you'd like
Provide SIMD-optimized implementations for the following:
for
avx2
,sse
andneon
architectures in a similar way as it is implemented for f32.Please also include unit-tests to ensure correctness of the implementation.
Describe alternatives you've considered
VectorElementType
between f32 and f16, but this approach is less flexible and requires more changesAdditional context
The text was updated successfully, but these errors were encountered: