Releases: ashvardanian/SimSIMD
Releases Β· ashvardanian/SimSIMD
v4.3.1
v4.3.0
v4.2.2
v4.2.1
v4.2.0
v4.1.1
SIMD on Windows π€ πͺ
This release refactors compiler attributes and intrinsics usage to make it compatible with MSVC. Most noticeably, function defined like this:
__attribute__((target("+simd")))
inline static void simsimd_cos_f32_neon(simsimd_f32_t const* a, simsimd_f32_t const* b, simsimd_size_t n, simsimd_distance_t* result) { }
Now look like this:
#pragma GCC push_options
#pragma GCC target("+simd")
#pragma clang attribute push(__attribute__((target("+simd"))), apply_to = function)
inline static void simsimd_cos_f32_neon(simsimd_f32_t const* a, simsimd_f32_t const* b, simsimd_size_t n, simsimd_distance_t* result) { }
#pragma clang attribute pop
#pragma GCC pop_options
Thanks to that SimSIMD on Windows is gonna be just as fast as on Linux and MacOS π€ πͺ
4.1.0 vs 4.0.0 Change Log (2024-03-23)
Add
- Bench against TF, PyTorch, JAX (5e64152)
- Complex dot-products for Rust (936fe73)
- Double-precision interfaces for JS (07f2aca)
Docs
- List all APIs (0a987a3)
Fix
- Avoid
vld2_f16
on MSVC (ce9800e) - Complex dispatch in Rust & C (d349bcd)
- Missing
_mm_rsqrt14_ps
in MSVC (21e30fe) - Missing
float16_t
in MSVC Arm64 builds (94442c3)
Improve
- Pragmas for MSVC compatibility (9d8a8d0), closes #74
- Silence TF warnings (0cffc9c)
- Type-casting (353fe43)
Make
v4.0.0
This is a packed redesign! Let's start with what's cool about it and later cover the mechanics.
- Extends dot products covering the entire matrix:
- all IEEE 754 floating-point formats (f16, f32, f64)
- real, complex, complex-conjugate dot-products
- Arm NEON & SVE, x86 Haswell, Skylake, Ice Lake, Sapphire Rapids
- Add support for
complex32
Python type ... that:
SimSIMD is now the fastest and most popular library for computing half-precision products/similarities for Fourier Series and other complex data π₯³
What breaks:
- Return types are now 64-bit floats, up from 32.
- Inner products are now defined as
AB
, instead of1 - AB
for broader applicability.
v3.9.0
v3.8.1
3.8.1 (2024-02-22)
Docs
- Reorg contribution guide (e8be593)
Fix
- Detect tests running in QEMU (80b9fec)
- Numerical issues (cdd7516)
- NumPy and SciPy issues with PyPy (9bd4ada)
Improve
- Accurate tail math on Aarch64 (5b39a8e)
- Accurate tail math with AVX2 (f61d5be)
- Drop NumPy dependency (819a406)
- Rust bench performance and style (#85) (da62146), closes #85
- Test and ship w/out NumPy and SciPy (5b800d3)