From dec519a5d75f0ccb96eb4e019af9deefedd9741c Mon Sep 17 00:00:00 2001 From: ethanglaser Date: Mon, 16 Mar 2026 10:57:53 -0700 Subject: [PATCH 1/5] Use lto ivf nightly shared library build for runtime bindings --- bindings/cpp/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bindings/cpp/CMakeLists.txt b/bindings/cpp/CMakeLists.txt index 5f9b95f6..1ecadafc 100644 --- a/bindings/cpp/CMakeLists.txt +++ b/bindings/cpp/CMakeLists.txt @@ -121,7 +121,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-02-05-1017.tar.gz" + set(SVS_URL "https://github.com/intel/ScalableVectorSearch/releases/download/nightly/svs-shared-library-lto-ivf-nightly-2026-03-15-88.tar.gz" CACHE STRING "URL to download SVS shared library") else() message(WARNING From 6d2363de8ac92f77ee32779cabe36b3f6b605393 Mon Sep 17 00:00:00 2001 From: ethanglaser Date: Mon, 16 Mar 2026 11:01:33 -0700 Subject: [PATCH 2/5] Update runtime bindings and shared examples to use v0.2.0 libs --- bindings/cpp/CMakeLists.txt | 4 ++-- examples/cpp/shared/CMakeLists.txt | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/bindings/cpp/CMakeLists.txt b/bindings/cpp/CMakeLists.txt index 1ecadafc..f63143dc 100644 --- a/bindings/cpp/CMakeLists.txt +++ b/bindings/cpp/CMakeLists.txt @@ -121,14 +121,14 @@ 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-ivf-nightly-2026-03-15-88.tar.gz" + set(SVS_URL "https://github.com/intel/ScalableVectorSearch/releases/download/v0.2.0/svs-shared-library-0.2.0-lto-ivf.tar.gz" CACHE STRING "URL to download SVS shared library") else() message(WARNING "Pre-built LVQ/LeanVec SVS library requires GCC/G++ v.11.2 to apply LTO optimizations." "Current compiler: ${CMAKE_CXX_COMPILER_ID} ${CMAKE_CXX_COMPILER_VERSION}" ) - set(SVS_URL "https://github.com/intel/ScalableVectorSearch/releases/download/nightly/svs-shared-library-nightly-2026-02-05-1017.tar.gz" + set(SVS_URL "https://github.com/intel/ScalableVectorSearch/releases/download/v0.2.0/svs-shared-library-0.2.0-ivf.tar.gz" CACHE STRING "URL to download SVS shared library") endif() include(FetchContent) diff --git a/examples/cpp/shared/CMakeLists.txt b/examples/cpp/shared/CMakeLists.txt index db460d4b..4c6b93db 100644 --- a/examples/cpp/shared/CMakeLists.txt +++ b/examples/cpp/shared/CMakeLists.txt @@ -24,7 +24,7 @@ find_package(svs QUIET) if(NOT svs_FOUND) # If sourcing from pip/conda, the following steps are not necessary, simplifying workflow # If not found, download tarball from GitHub release and follow steps to fetch and find - set(SVS_URL "https://github.com/intel/ScalableVectorSearch/releases/download/v0.1.0/svs-shared-library-0.1.0.tar.gz" CACHE STRINGS "URL to download SVS shared library tarball if not found in system") + set(SVS_URL "https://github.com/intel/ScalableVectorSearch/releases/download/v0.2.0/svs-shared-library-0.2.0.tar.gz" CACHE STRINGS "URL to download SVS shared library tarball if not found in system") message(STATUS "SVS not found in system, downloading from: ${SVS_URL}") From 13fa8996a618a1ef740a77f037ca004d9cbcd463 Mon Sep 17 00:00:00 2001 From: ethanglaser Date: Mon, 16 Mar 2026 11:58:27 -0700 Subject: [PATCH 3/5] Trying latest nightly --- bindings/cpp/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bindings/cpp/CMakeLists.txt b/bindings/cpp/CMakeLists.txt index f63143dc..f95e306f 100644 --- a/bindings/cpp/CMakeLists.txt +++ b/bindings/cpp/CMakeLists.txt @@ -121,7 +121,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/v0.2.0/svs-shared-library-0.2.0-lto-ivf.tar.gz" + set(SVS_URL "https://github.com/intel/ScalableVectorSearch/releases/download/nightly/svs-shared-library-lto-ivf-nightly-2026-03-15-88.tar.gz" CACHE STRING "URL to download SVS shared library") else() message(WARNING From 46ffacfe61b6c5ef3e3110223ecdb8c17852a72d Mon Sep 17 00:00:00 2001 From: ethanglaser Date: Mon, 16 Mar 2026 12:23:17 -0700 Subject: [PATCH 4/5] Revert last and update training.cpp --- bindings/cpp/CMakeLists.txt | 2 +- bindings/cpp/src/training.cpp | 14 ++++++++++++++ 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/bindings/cpp/CMakeLists.txt b/bindings/cpp/CMakeLists.txt index f95e306f..f63143dc 100644 --- a/bindings/cpp/CMakeLists.txt +++ b/bindings/cpp/CMakeLists.txt @@ -121,7 +121,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-ivf-nightly-2026-03-15-88.tar.gz" + set(SVS_URL "https://github.com/intel/ScalableVectorSearch/releases/download/v0.2.0/svs-shared-library-0.2.0-lto-ivf.tar.gz" CACHE STRING "URL to download SVS shared library") else() message(WARNING diff --git a/bindings/cpp/src/training.cpp b/bindings/cpp/src/training.cpp index 23afd332..5e9af67b 100644 --- a/bindings/cpp/src/training.cpp +++ b/bindings/cpp/src/training.cpp @@ -90,6 +90,20 @@ Status LeanVecTrainingData::build( "LeanVecTrainingData is not supported in this build configuration." ); } +Status LeanVecTrainingData::build( + LeanVecTrainingData** SVS_UNUSED(training_data), + size_t SVS_UNUSED(dim), + size_t SVS_UNUSED(n), + const float* SVS_UNUSED(x), + size_t SVS_UNUSED(n_q), + const float* SVS_UNUSED(x_q), + size_t SVS_UNUSED(leanvec_dims) +) noexcept { + return Status( + ErrorCode::NOT_IMPLEMENTED, + "LeanVecTrainingData is not supported in this build configuration." + ); +} Status LeanVecTrainingData::destroy(LeanVecTrainingData* SVS_UNUSED(training_data) ) noexcept { return Status( From fb72a581f598c47f99237d584583cb961baddbe0 Mon Sep 17 00:00:00 2001 From: ethanglaser Date: Mon, 16 Mar 2026 12:24:44 -0700 Subject: [PATCH 5/5] Don't cancel cpp runtime tests just because one fails --- .github/workflows/build-cpp-runtime-bindings.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/build-cpp-runtime-bindings.yml b/.github/workflows/build-cpp-runtime-bindings.yml index 515c5414..fc94eae8 100644 --- a/.github/workflows/build-cpp-runtime-bindings.yml +++ b/.github/workflows/build-cpp-runtime-bindings.yml @@ -111,6 +111,7 @@ jobs: - name: "IVF public only" suffix: "-ivf" enable_ivf: "ON" + fail-fast: false steps: - uses: actions/checkout@v6