From 1f3abb4f6bec32ef48c2f8ee1ec821028dfe10b6 Mon Sep 17 00:00:00 2001 From: ethanglaser Date: Mon, 5 Oct 2026 16:39:38 -0700 Subject: [PATCH 1/5] Bump LTO shared lib for C API --- bindings/c/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bindings/c/CMakeLists.txt b/bindings/c/CMakeLists.txt index 3b97ec33..e0213956 100644 --- a/bindings/c/CMakeLists.txt +++ b/bindings/c/CMakeLists.txt @@ -144,7 +144,7 @@ if (SVS_RUNTIME_ENABLE_LVQ_LEANVEC) else() # Links to LTO-enabled static library, requires GCC/G++ 11.2 if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU" AND CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL "11.2" AND CMAKE_CXX_COMPILER_VERSION VERSION_LESS "11.3") - set(SVS_URL "https://github.com/intel/ScalableVectorSearch/releases/download/nightly/svs-shared-library-lto-nightly-2026-09-11-1512.tar.gz" + set(SVS_URL "https://github.com/intel/ScalableVectorSearch/releases/download/nightly/svs-shared-library-lto-nightly-2026-10-05-1605.tar.gz" CACHE STRING "URL to download SVS shared library") else() # The fallback is correct but slower, so nothing downstream fails and CI From d7c40a6b54cfa25b40a5ef4a46f316c0fad68ea1 Mon Sep 17 00:00:00 2001 From: Rafik Saliev Date: Tue, 6 Oct 2026 02:27:50 -0700 Subject: [PATCH 2/5] fix: shortcut fix for undefined references ld error --- bindings/c/src/data_builder/simple.hpp | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/bindings/c/src/data_builder/simple.hpp b/bindings/c/src/data_builder/simple.hpp index 7be4f672..d79c5a69 100644 --- a/bindings/c/src/data_builder/simple.hpp +++ b/bindings/c/src/data_builder/simple.hpp @@ -69,9 +69,7 @@ class SimpleDataBuilder { return total_size; } - auto get_dataset(const data_type& data) const { - return svs::c_runtime::decompressed_dataset(data, svs::data::GetDatumAccessor{}); - } + auto get_dataset(const data_type& data) const { return data; } }; template From d75babdd7d39cf04e3d17873fdd2198030103a90 Mon Sep 17 00:00:00 2001 From: Rafik Saliev Date: Tue, 6 Oct 2026 13:14:22 +0200 Subject: [PATCH 3/5] Update SVS URL --- bindings/c/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bindings/c/CMakeLists.txt b/bindings/c/CMakeLists.txt index e0213956..b000a504 100644 --- a/bindings/c/CMakeLists.txt +++ b/bindings/c/CMakeLists.txt @@ -144,7 +144,7 @@ if (SVS_RUNTIME_ENABLE_LVQ_LEANVEC) else() # Links to LTO-enabled static library, requires GCC/G++ 11.2 if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU" AND CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL "11.2" AND CMAKE_CXX_COMPILER_VERSION VERSION_LESS "11.3") - set(SVS_URL "https://github.com/intel/ScalableVectorSearch/releases/download/nightly/svs-shared-library-lto-nightly-2026-10-05-1605.tar.gz" + set(SVS_URL "https://github.com/intel/ScalableVectorSearch/releases/download/nightly/svs-shared-library-lto-nightly-2026-10-06-1612.tar.gz" CACHE STRING "URL to download SVS shared library") else() # The fallback is correct but slower, so nothing downstream fails and CI From 0b638fdcbb80779355e3e5018d8b5e68ff0fb047 Mon Sep 17 00:00:00 2001 From: Rafik Saliev Date: Tue, 6 Oct 2026 14:18:54 +0200 Subject: [PATCH 4/5] Update SVS URL to 1613 --- bindings/c/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bindings/c/CMakeLists.txt b/bindings/c/CMakeLists.txt index b000a504..ca7f4d0c 100644 --- a/bindings/c/CMakeLists.txt +++ b/bindings/c/CMakeLists.txt @@ -144,7 +144,7 @@ if (SVS_RUNTIME_ENABLE_LVQ_LEANVEC) else() # Links to LTO-enabled static library, requires GCC/G++ 11.2 if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU" AND CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL "11.2" AND CMAKE_CXX_COMPILER_VERSION VERSION_LESS "11.3") - set(SVS_URL "https://github.com/intel/ScalableVectorSearch/releases/download/nightly/svs-shared-library-lto-nightly-2026-10-06-1612.tar.gz" + set(SVS_URL "https://github.com/intel/ScalableVectorSearch/releases/download/nightly/svs-shared-library-lto-nightly-2026-10-06-1613.tar.gz" CACHE STRING "URL to download SVS shared library") else() # The fallback is correct but slower, so nothing downstream fails and CI From 51525eaecac2d3311f987dd8399df35a3736790d Mon Sep 17 00:00:00 2001 From: Rafik Saliev Date: Tue, 6 Oct 2026 09:13:54 -0700 Subject: [PATCH 5/5] code review fix: return a reference from SimpleDataBuilder::get_dataset() --- bindings/c/src/data_builder/simple.hpp | 2 +- bindings/c/src/dispatcher_dynamic_vamana.cpp | 2 +- bindings/c/src/dispatcher_vamana.cpp | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/bindings/c/src/data_builder/simple.hpp b/bindings/c/src/data_builder/simple.hpp index d79c5a69..070da551 100644 --- a/bindings/c/src/data_builder/simple.hpp +++ b/bindings/c/src/data_builder/simple.hpp @@ -69,7 +69,7 @@ class SimpleDataBuilder { return total_size; } - auto get_dataset(const data_type& data) const { return data; } + const data_type& get_dataset(const data_type& data) const { return data; } }; template diff --git a/bindings/c/src/dispatcher_dynamic_vamana.cpp b/bindings/c/src/dispatcher_dynamic_vamana.cpp index a9241de1..3fa616ad 100644 --- a/bindings/c/src/dispatcher_dynamic_vamana.cpp +++ b/bindings/c/src/dispatcher_dynamic_vamana.cpp @@ -215,7 +215,7 @@ svs::DynamicVamana copy_dynamic_vamana_index( svs::data::copy(src_graph.get_data(), graph.get_data()); // Copy/convert the data from the source index to the new data instance - const auto src_data = src_builder.get_dataset(src_index_impl->view_data()); + decltype(auto) src_data = src_builder.get_dataset(src_index_impl->view_data()); using allocator_type = typename DstDataBuilder::allocator_type; using value_type = typename allocator_type::value_type; diff --git a/bindings/c/src/dispatcher_vamana.cpp b/bindings/c/src/dispatcher_vamana.cpp index aec3a0b9..35f07071 100644 --- a/bindings/c/src/dispatcher_vamana.cpp +++ b/bindings/c/src/dispatcher_vamana.cpp @@ -177,7 +177,7 @@ svs::Vamana copy_vamana_index( svs::data::copy(src_graph.get_data(), graph.get_data()); // Copy/convert the data from the source index to the new data instance - const auto src_data = src_builder.get_dataset(src_index_impl->view_data()); + decltype(auto) src_data = src_builder.get_dataset(src_index_impl->view_data()); using value_type = typename DstDataBuilder::allocator_type::value_type; auto data = dst_builder.build(src_data, pool, allocator_builder.build());