Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/asan_build_and_test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ jobs:
save: ${{ github.event_name != 'pull_request' }}
key: build-${{ hashFiles('./CMakeLists.txt') }}-${{ hashFiles('./.circleci/fresh_ci_cache.commit') }}
- name: Make Asan
run: export CMAKE_GENERATOR="Ninja"; make asan COMPILE_JOBS=4
run: export VSAG_ENABLE_INTEL_MKL=ON CMAKE_GENERATOR="Ninja"; make asan COMPILE_JOBS=4
- name: Clean
run: |
find ./build -type f -name "*.o" -exec rm -f {} +
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/asan_with_simd_option.yml
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ jobs:
echo ${EXTRA_DEFINED}
echo ${EXTRA_KEY}
echo "SIMD_KEY=${EXTRA_KEY}" >> $GITHUB_ENV
export CMAKE_GENERATOR="Ninja"; make asan COMPILE_JOBS=4
export VSAG_ENABLE_INTEL_MKL=ON CMAKE_GENERATOR="Ninja"; make asan COMPILE_JOBS=4
- name: Clean
run: find ./build -type f -name "*.o" -exec rm -f {} +
- name: Save Test
Expand Down
5 changes: 2 additions & 3 deletions .github/workflows/daily_test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ jobs:
save: false
key: build-${{ hashFiles('./CMakeLists.txt') }}-${{ hashFiles('./.circleci/fresh_ci_cache.commit') }}
- name: Make Asan
run: export CMAKE_GENERATOR="Ninja"; make asan COMPILE_JOBS=4
run: export VSAG_ENABLE_INTEL_MKL=ON CMAKE_GENERATOR="Ninja"; make asan COMPILE_JOBS=4
- name: Clean
run: find ./build -type f -name "*.o" -exec rm -f {} +
- name: Save Test
Expand Down Expand Up @@ -211,7 +211,7 @@ jobs:
echo ${EXTRA_DEFINED}
echo ${EXTRA_KEY}
echo "SIMD_KEY=${EXTRA_KEY}" >> $GITHUB_ENV
export CMAKE_GENERATOR="Ninja"; make asan
export VSAG_ENABLE_INTEL_MKL=ON CMAKE_GENERATOR="Ninja"; make asan
- name: Clean
run: find ./build -type f -name "*.o" -exec rm -f {} +
- name: Save Test
Expand Down Expand Up @@ -343,4 +343,3 @@ jobs:
export LSAN_OPTIONS=suppressions=omp.supp
chmod +x ./build/tests/functests
./build/tests/functests "[concurrent]~[pr]"

11 changes: 8 additions & 3 deletions .github/workflows/pr-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ jobs:
runs-on: ubuntu-latest
outputs:
cpp: ${{ steps.changes.outputs.cpp }}
cmake: ${{ steps.changes.outputs.cmake }}
python: ${{ steps.changes.outputs.python }}
steps:
- uses: actions/checkout@v4
Expand All @@ -35,6 +36,10 @@ jobs:
- 'scripts/**'
- '.clang-tidy'
- '.clang-format'
cmake:
- 'CMakeLists.txt'
- 'Makefile'
- 'cmake/**'
python:
- 'python/**'
- 'python_bindings/**'
Expand Down Expand Up @@ -79,7 +84,7 @@ jobs:
save: ${{ github.event_name != 'pull_request' }}
key: build-${{ hashFiles('./CMakeLists.txt') }}-${{ hashFiles('./.circleci/fresh_ci_cache.commit') }}
- name: Make Asan
run: export CMAKE_GENERATOR="Ninja" CMAKE_EXPORT_COMPILE_COMMANDS=ON; make asan
run: export VSAG_ENABLE_INTEL_MKL=ON CMAKE_GENERATOR="Ninja" CMAKE_EXPORT_COMPILE_COMMANDS=ON; make asan
- name: Install clang-tidy 15
run: sudo apt install clang-tidy-15 -y
- name: Run Lint
Expand All @@ -105,7 +110,7 @@ jobs:
build-python-x86:
name: Python Build X86
needs: [changes, format]
if: needs.changes.outputs.python == 'true'
if: needs.changes.outputs.python == 'true' || needs.changes.outputs.cmake == 'true'
runs-on: ubuntu-22.04
Comment on lines 110 to 114
Copy link

Copilot AI Apr 8, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The PR title indicates “Python Build X86” should trigger on C++ changes, but this if: condition only triggers on python or cmake path filters. Please align the PR title (or the condition) so the metadata matches the actual CI behavior and reviewers/users aren’t misled.

Copilot uses AI. Check for mistakes.
steps:
- name: Free Disk Space
Expand Down Expand Up @@ -274,7 +279,7 @@ jobs:
test-python-x86:
name: Test Python X86
needs: [changes, build-python-x86]
if: needs.changes.outputs.python == 'true'
if: needs.changes.outputs.python == 'true' || needs.changes.outputs.cmake == 'true'
runs-on: ubuntu-22.04
steps:
- name: Free Disk Space
Expand Down
2 changes: 1 addition & 1 deletion DEVELOPMENT.md
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,7 @@ VSAG provides several CMake options to customize the build:

### BLAS Library Options

- **`ENABLE_INTEL_MKL`** (default: `ON` on x86_64, `OFF` otherwise)
- **`ENABLE_INTEL_MKL`** (default: `OFF`)
- Enable Intel MKL as the BLAS backend (x86_64 platforms only)
- When disabled, OpenBLAS is used instead
- MKL resolution uses `MKL_PATH`, `OMP_PATH`, and `MKL_INCLUDE_PATH` as CMake cache overrides when the libraries are not installed in standard locations
Expand Down
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ VSAG_ENABLE_TESTS ?= ON
VSAG_ENABLE_PYBINDS ?= ON
VSAG_ENABLE_TOOLS ?= ON
VSAG_ENABLE_EXAMPLES ?= ON
VSAG_ENABLE_INTEL_MKL ?= ON
VSAG_ENABLE_INTEL_MKL ?= OFF
VSAG_ENABLE_LIBAIO ?= ON

VSAG_CMAKE_ARGS := -DCMAKE_EXPORT_COMPILE_COMMANDS=1 -DCMAKE_COLOR_DIAGNOSTICS=ON -DENABLE_INTEL_MKL=${VSAG_ENABLE_INTEL_MKL}
Expand Down
2 changes: 1 addition & 1 deletion cmake/VSAGOptions.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ option (ENABLE_TSAN "Whether to turn Thread Sanitizer ON or OFF" OFF)
option (ENABLE_FRAME_POINTER "Whether to build with -fno-omit-frame-pointer" ON)
option (ENABLE_THIN_LTO "Whether to build with thin lto -flto=thin" OFF)
option (ENABLE_CCACHE "Whether to enable ccache" OFF)
option (ENABLE_INTEL_MKL "Enable intel-mkl (x86 platform only)" ON)
option (ENABLE_INTEL_MKL "Enable intel-mkl (x86 platform only)" OFF)
option (ENABLE_CXX11_ABI "Use CXX11 ABI" ON)
option (ENABLE_LIBCXX "Use libc++ instead of libstdc++" OFF)
option (ENABLE_TOOLS "Whether compile vsag tools" OFF)
Expand Down
5 changes: 0 additions & 5 deletions python/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -25,11 +25,6 @@ before-all = '''
yum clean all
yum install -y gcc gcc-c++ gcc-gfortran python3-devel
yum install -y libaio-devel libcurl-devel ca-certificates
if [[ "$(uname -m)" == "x86_64" ]]; then
yum-config-manager --add-repo https://yum.repos.intel.com/mkl/setup/intel-mkl.repo
rpm --import https://yum.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS-2019.PUB
yum install -y intel-mkl-64bit-2020.0-088
fi
yum install -y libgomp
'''

Expand Down
18 changes: 2 additions & 16 deletions scripts/deps/install_deps_centos.sh
Original file line number Diff line number Diff line change
@@ -1,18 +1,4 @@
# install python3-devel
yum install -y gcc gcc-c++ gcc-gfortran python3-devel libaio-devel libcurl-devel
yum install -y gcc gcc-c++ gcc-gfortran python3-devel libaio-devel libcurl-devel ca-certificates

ARCH=$(uname -m)

if [[ "${ARCH}" == "x86_64" ]]; then
# install openmp for alibaba clang 11 (only available on x86_64)
yum install -b current -y libomp11-devel libomp11

# install Intel MKL (only available on x86_64)
yum install -y ca-certificates
yum-config-manager --add-repo https://yum.repos.intel.com/mkl/setup/intel-mkl.repo
rpm --import https://yum.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS-2019.PUB
yum install -y intel-mkl-64bit-2020.0-088
else
# MKL is not supported on aarch64. We fallback to openblas/generic openmp.
yum install -y ca-certificates libgomp
fi
yum install -y libgomp