Skip to content

更新 CMake 工作流配置 #16

更新 CMake 工作流配置

更新 CMake 工作流配置 #16

Workflow file for this run

name: CMake
on:
push:
branches: [ main, fix-mkl ]
pull_request:
branches: [ main ]
env:
# Customize the CMake build type here (Release, Debug, RelWithDebInfo, etc.)
BUILD_TYPE: Release
jobs:
build:
# The CMake configure and build commands are platform agnostic and should work equally
# well on Windows or Mac. You can convert this to a matrix build if you need
# cross-platform coverage.
# See: https://docs.github.com/en/free-pro-team@latest/actions/learn-github-actions/managing-complex-workflows#using-a-build-matrix
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v2
- name: Install Intel oneAPI MKL
run: |
wget -qO - https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS.PUB | sudo gpg --dearmor -o /usr/share/keyrings/oneapi-archive-keyring.gpg
echo "deb [signed-by=/usr/share/keyrings/oneapi-archive-keyring.gpg] https://apt.repos.intel.com/oneapi all main" | sudo tee /etc/apt/sources.list.d/oneapi.list
sudo apt update
sudo apt install -y intel-oneapi-mkl-devel
- name: Install toolchains
run: |
sudo apt-get update
sudo apt install gcc g++ cmake python3 pip libboost-dev libboost-all-dev libunwind-dev libgoogle-glog-dev libgflags-dev intel-mkl libaio-dev libgoogle-perftools-dev libmkl-full-dev
# - name: Install torch
# run: |
# sudo pip3 install torch==1.13.0 torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cpu
- name: Install torch
run: |
sudo pip3 install torch==1.13.0 torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cpu
- name: Configure CMake
# Configure CMake in a 'build' subdirectory. `CMAKE_BUILD_TYPE` is only required if you are using a single-configuration generator such as make.
# See https://cmake.org/cmake/help/latest/variable/CMAKE_BUILD_TYPE.html?highlight=cmake_build_type
run:
cmake -B ${{github.workspace}}/build \
-DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} \
-DCMAKE_PREFIX_PATH='/usr/local/lib/python3.10/dist-packages/torch/share/cmake' \
-DENABLE_HDF5=ON -DENABLE_PYBIND=ON -DENABLE_PUCK=ON -DENABLE_SPTAG=ON -DENABLE_DiskANN=ON \
-DMKL_PATH=/opt/intel/oneapi/mkl/latest \
-DMKL_H=/opt/intel/oneapi/mkl/latest/include
- name: Build
# Build your program with the given configuration
run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}}
env:
CC: gcc
CXX: g++
# - name: Test
# working-directory: ${{github.workspace}}/build/test
# Execute tests defined by the CMake configuration.
# See https://cmake.org/cmake/help/latest/manual/ctest.1.html for more detail
# run: |
# ./cpp_test "--success"
# ./flatIndex_test "--success"
# ./ppIndex_test "--success"
# ./onlineIVFLSH_test "--success"
# ./sptagIndex_test "--success"