Skip to content

Ezra/distance functions#42

Closed
ezra-varady wants to merge 2 commits intolanterndata:mainfrom
ezra-varady:ezra/distance-functions
Closed

Ezra/distance functions#42
ezra-varady wants to merge 2 commits intolanterndata:mainfrom
ezra-varady:ezra/distance-functions

Conversation

@ezra-varady
Copy link
Copy Markdown
Collaborator

Initial implementations of AVX2 vectorized distance functions for linux-x86_64 (L1, L2, L2SQ, cosine). It should be fairly easy to extend it to BSD and intel macs, windows will require a separate implementation. I tested the code, and I'm reasonably confident it works. I have yet to profile it, but I wanted to get eyes on it before going much further. The choice of dim=8 to switch to the vectorized path was convenient for testing but is almost certainly premature. My hope is that this will provide a significant performance increase on vectors of higher dimension. I added a CMake file to detect AVX to support building distfunc.c with avx2 enabled as well which makes up the bulk of this PR

…n some tests locally to make sure things are working, but I havent run benchmarks to identify the critical point, so its likely that the switch to the vectorized version at dim=8 is premature
@Ngalstyan4 Ngalstyan4 closed this Aug 18, 2023
var77 added a commit that referenced this pull request Oct 8, 2024
* Fix data_producer deadloc, remove unwraps

* Bump versions
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants