Skip to content

Releases: unum-cloud/usearch

Release v2.16.2

04 Nov 18:23
Compare
Choose a tag to compare

Release: v2.16.2 [skip ci]

Release v2.16.1

03 Nov 15:39
Compare
Choose a tag to compare

Release: v2.16.1 [skip ci]

v2.16: Mixed-Precision K-Means

29 Oct 21:09
Compare
Choose a tag to compare

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

10 Oct 04:10
Compare
Choose a tag to compare

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 🤖

28 Sep 04:31
Compare
Choose a tag to compare

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

28 Aug 19:04
Compare
Choose a tag to compare

What's Changed

  • Test: Use const instead of var 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

26 Aug 16:58
Compare
Choose a tag to compare
  • 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 🐍

19 Aug 16:14
Compare
Choose a tag to compare

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

Full Changelog: v2.13.5...v2.14.0

Release v2.13.5

18 Aug 03:34
Compare
Choose a tag to compare

Release: v2.13.5 [skip ci]

Fixing Rust Dynamic Dispatch

15 Aug 18:22
Compare
Choose a tag to compare

Last few releases of USearch for Rust didn't include SimSIMD. Expect things to get much faster, if you are a 🦀 user 🤗