From 0cd256c4bcd3e9be994cb4866dc7d23fed9070f1 Mon Sep 17 00:00:00 2001 From: ray Date: Mon, 8 Jun 2026 10:27:52 +0800 Subject: [PATCH 1/2] fix: add aio to nightly build --- .github/workflows/nightly_coverage.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/nightly_coverage.yml b/.github/workflows/nightly_coverage.yml index 5a4df407a..687e7fbd3 100644 --- a/.github/workflows/nightly_coverage.yml +++ b/.github/workflows/nightly_coverage.yml @@ -48,7 +48,7 @@ jobs: - name: Install system dependencies run: | sudo apt-get update - sudo apt-get install -y lcov + sudo apt-get install -y lcov libaio-dev shell: bash - name: Install dependencies From 7e39a7e068f93ea195a7dc30beba3fc96833e19a Mon Sep 17 00:00:00 2001 From: ray Date: Mon, 8 Jun 2026 11:50:44 +0800 Subject: [PATCH 2/2] refactor: add option to enable diskann --- CMakeLists.txt | 6 +++++- cmake/option.cmake | 3 +++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 1e9fe8948..fab7d6fbe 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -117,7 +117,11 @@ endif() message(STATUS "RABITQ_ARCH_FLAG: ${RABITQ_ARCH_FLAG}") # DiskAnn support (Linux x86_64 only, requires libaio) -if(CMAKE_SYSTEM_NAME STREQUAL "Linux" AND CMAKE_SYSTEM_PROCESSOR MATCHES "x86_64|i686|i386" AND NOT ANDROID AND NOT IOS) +if(NOT ENABLE_DISKANN) + set(DISKANN_SUPPORTED OFF) + add_definitions(-DDISKANN_SUPPORTED=0) + message(STATUS "DiskAnn support disabled by ENABLE_DISKANN=OFF") +elseif(CMAKE_SYSTEM_NAME STREQUAL "Linux" AND CMAKE_SYSTEM_PROCESSOR MATCHES "x86_64|i686|i386" AND NOT ANDROID AND NOT IOS) set(DISKANN_SUPPORTED ON) add_definitions(-DDISKANN_SUPPORTED=1) else() diff --git a/cmake/option.cmake b/cmake/option.cmake index fe108575b..e58fd955c 100644 --- a/cmake/option.cmake +++ b/cmake/option.cmake @@ -33,6 +33,9 @@ option(ENABLE_ARMV8.6A "Enable ARMv8.6-a architecture" OFF) ## OpenMP option option(ENABLE_OPENMP "Enable OpenMP support" OFF) +## DiskAnn index support (requires libaio-dev at compile time on Linux) +option(ENABLE_DISKANN "Enable DiskAnn index support (requires libaio-dev)" ON) + ## Treat warnings as errors (for CI) option(ENABLE_WERROR "Treat compiler warnings as errors in strict targets" OFF)