Releases: unum-cloud/usearch
Release v2.16.2
Release: v2.16.2 [skip ci]
Release v2.16.1
Release: v2.16.1 [skip ci]
v2.16: Mixed-Precision K-Means
Many data scientists embark on their journey by implementing K-Means clustering, much like app developers starting with a calculator. But despite K-Means’ popularity, most implementations overlook the power of SIMD on modern CPUs. Efficient vector math, especially with single- and double-precision floating-point vectors, is challenging due to the computational cost of accuracy. Meanwhile, float16
, bfloat16
, and smaller types can fail under uneven distributions or when computing centroids for large clusters. So, what’s Unum’s solution? Mixed precision!
Thanks to strong community support and sponsorship from @sutoiku (LinkedIn, Website), we're introducing a high-performance K-Means implementation! It utilizes any numeric type for distance calculations, switching to float64
for centroid updates, a technique that boosts performance and enables billion-scale clustering on a single machine.
Release v2.15.3
Release: v2.15.3 [skip ci]
Hashes
- docs.tar.gz :
423fd002bd83e263c0a9cb2508b5b8c813dfae9f0c26c11321e11f07df1f5bde
- usearch-v2.15.3.tar.gz :
badb87b82ee5699e1555f55298a265f94edeae03f087bb16ca588f7a43b246c4
- usearch-v2.15.3.zip :
f3598138b6a8922e3770c4bfb094b91807209157438ce3a535fe11099890b316
- usearch_linux_amd64_2.15.3.deb :
eb5b4c47f03e35abeba4b9fb2708e6e2c0f63b25acbc876ea25956163609d1a3
- usearch_linux_amd64_2.15.3.so :
3052c1c37b75e45228bc0f94421c0e5133ad792f99229aa3df875a6836905458
- usearch_linux_arm64_2.15.3.deb :
4291fb414f4bb2051293b39ae0217c57081b293e1ac7ad9070a7c0be9ff29a1d
- usearch_linux_arm64_2.15.3.so :
930a7de642bfcc534203a0471f5b1803114de63b64b50d262e3202950c5955bd
- usearch_macos_arm64_2.15.3.zip :
a9639b285368df8fbac43456cb640ca287757a46a8ef9fa40800d2a2da2e84d7
- usearch_macos_x86_64_2.15.3.zip :
ee843f82305d2b8192e2488719fe89e5d7fe02d412e1a99cfe57c372f0807c80
- usearch_sqlite_linux_amd64_2.15.3.so :
281a3414455767fe1925b0a9de0551cce258d4bc9146ea4934179b63d70fa173
- usearch_sqlite_linux_arm64_2.15.3.so :
05c4ed19aa57ac778d9240c2d31b817adb19788e2d21a6215249b49daf5dea9c
- usearch_sqlite_macos_arm64_2.15.3.dylib :
f966a1eff9a6032b8c8de0383ab08e619dc0a65e4829386d19b5f7e131604487
- usearch_sqlite_macos_x86_64_2.15.3.dylib :
19b9c48b02dab0980e4fd482b4008fbfe4c8e7e2da6b719630f51a78b70d7613
- usearch_wasm_linux_arm64_2.15.3.tar.gz :
7c6735ff24b29962626889632537df40eac6bc57e6d41dff8c22c47b65a07951
- usearch_wasm_linux_x86_64_2.15.3.tar.gz :
b9137d94a68eed1864e027c37e9089154c3c559b1677ac465cd8dca9918482c0
v2.15.2: Android compatibility 🤖
Contributors, we are still looking to improve Android compatibility in Java SDK, potentially Kotlin bindings, and an extended CI pipeline to ensure consistent behavior. Thank you all for support and help 🤗
v2.15.1: Mixed Precision Kernels, Windows Builds, and Docs
What's Changed
- Test: Use
const
instead ofvar
in JS by @abetomo in #479 - Make: Rust Windows builds by @brkp in #472
- Docs: Update JavaScript code example by @abetomo in #478
- Mixed Precision Kernels, Windows Builds, and Docs by @ashvardanian in #476
New Contributors
- @brkp made their first contribution in #472
Full Changelog: v2.15.0...v2.15.1
v2.15: New Obj-C, Swift, and GoLang APIs
- Get API for ObjC and Swift #455
- Feature parity between C and GoLang #409
- Swift & Obj-C bindings for
filteredSearch
#471
Thanks to @abetomo, @sdenton4, @brittlewis12, @vardhan, and @MarkReedZ for help 🤗
`bf16` by default, even in Python 🐍
Previously, on modern CPUs the USearch index would default to f16
IEEE 16-bit floating point numbers, when used through high-level bindings, like Python. That format is more common in the Pythonic ecosystem, and it's supported by NumPy. Still, it's much less efficient and harder to convert to/from f32
. The alternative is to use bf16
, which is more hardware friendly, and upcast to f32
, when we need to export the data back to Python. That's the new default behavior.
What's Changed
- Default to
bf16
by @ashvardanian in #465
Full Changelog: v2.13.5...v2.14.0
Release v2.13.5
Release: v2.13.5 [skip ci]
Fixing Rust Dynamic Dispatch
Last few releases of USearch for Rust didn't include SimSIMD. Expect things to get much faster, if you are a 🦀 user 🤗