ashvardanian / SimSIMD

Up to 200x Faster Inner Products and Vector Similarity — for Python, JavaScript, Rust, C, and Swift, supporting f64, f32, f16 real & complex, i8, and binary vectors using SIMD for both x86 AVX2 & AVX-512 and Arm NEON & SVE 📐
https://ashvardanian.com/posts/simsimd-faster-scipy/
Apache License 2.0
797 stars 42 forks source link

Disabling usage of AVX-512 instructions #68

Closed Charlyo closed 4 months ago

Charlyo commented 5 months ago

First of all, thank you for this amazing project!

However, in my laptop equiped with and i7 10750h, the AVX512 capability is activated despite the processor not accepting the instruction. Is there any way to disable AVX-512 instructions in python (like a method "set capability").

Thank you for the time and effort.

ashvardanian commented 5 months ago

Hi @Charlyo! What's your CPU model? Which language binding are you using?

Charlyo commented 5 months ago

Hello again!

My CPU model is The Core i7 - 10750h.

ashvardanian commented 4 months ago

:tada: This issue has been resolved in version 3.8.0 :tada:

The release is available on GitHub release

Your semantic-release bot :package::rocket:

ashvardanian commented 4 months ago

Hi @Charlyo! I've just pushed a patch that should fix your issue. Please let me know how it works 🤗

Charlyo commented 4 months ago

Really good news! Thank you very much, @ashvardanian!! Will try once I have some time. Let me know once you have time to implement the AVX2 implementation as well :)

ashvardanian commented 4 months ago

Many functions already have AVX2 acceleration. Any specific ones that you are looking for, @Charlyo ?

Charlyo commented 4 months ago

Basically hamming distance with uint8 type coded binary hash. Would be awesome to have xor + popcount implemented in AVX2.

ashvardanian commented 4 months ago

Sure, the #69 is coming later :)