ワンクリックで
building
// Use when building knowhere from source, configuring build options (CPU/GPU/DISKANN/ASAN), or troubleshooting compilation errors
// Use when building knowhere from source, configuring build options (CPU/GPU/DISKANN/ASAN), or troubleshooting compilation errors
Use when exploring codebase structure, understanding index implementations (HNSW, IVF, DISKANN, Sparse, MinHash), working with third-party libraries (faiss, hnswlib, DiskANN, Cardinal), or locating specific functionality
Use when checking code style, running pre-commit hooks, or before committing changes to ensure compliance with Google style guide
Use when committing and pushing code changes, ensures DCO compliance and pre-commit validation
Use when running unit tests, debugging test failures, or adding new test cases using Catch2 framework
| name | building |
| description | Use when building knowhere from source, configuring build options (CPU/GPU/DISKANN/ASAN), or troubleshooting compilation errors |
# Ubuntu/Debian
sudo apt install build-essential libopenblas-openmp-dev libaio-dev python3-dev python3-pip
pip3 install conan==2.28.1 --user
conan profile detect --force
conan remote add default-conan-local2 https://milvus01.jfrog.io/artifactory/api/conan/default-conan-local2
export PATH=$PATH:$HOME/.local/bin
| Build Type | Command |
|---|---|
| CPU Release | make |
| CPU Debug | make WITH_DEBUG=True |
| CPU + UT | make WITH_UT=True |
| CPU + UT + ASAN | make WITH_UT=True WITH_ASAN=True |
| GPU (CUVS) | make WITH_GPU=True |
| GPU + UT | make WITH_GPU=True WITH_UT=True |
| macOS | make (auto-detects libc++) |
Run tests after building with WITH_UT=True:
make test
| Flag | Description |
|---|---|
WITH_GPU=True | Enable GPU (cuVS) build |
WITH_UT=True | Enable unit tests |
WITH_ASAN=True | Enable AddressSanitizer |
WITH_CARDINAL=True | Enable Cardinal build |
WITH_DEBUG=True | Debug build (default: Release) |
CONAN_PROFILE=<p> | Use a custom Conan profile |
LIBCXX=<lib> | Override compiler.libcxx (auto-detected from OS) |
make LIBCXX=libstdc++11libc++ is auto-detected; OpenMP uses Homebrew's libompexport CMAKE_POLICY_VERSION_MINIMUM=3.5 for old dependency recipesIf this build relates to new features or interface changes, consider updating documentation. See
documentingskill.