提交 8e5e50e4 编写于 作者: P peng.xu

Merge branch 'branch-0.3.1' into 'branch-0.3.1'

MS-241: Build Faiss with MKL if using Intel CPU; else build with OpenBlas . MS-242: clean up cmake and change MAKE_BUILD_ARGS to be user defined variable

See merge request megasearch/milvus!230

Former-commit-id: 7fc20dbf175a1bd8fef82bf470c6a499b2e35080
...@@ -35,7 +35,7 @@ pipeline { ...@@ -35,7 +35,7 @@ pipeline {
defaultContainer 'jnlp' defaultContainer 'jnlp'
containerTemplate { containerTemplate {
name 'milvus-build-env' name 'milvus-build-env'
image 'registry.zilliz.com/milvus/milvus-build-env:v0.10' image 'registry.zilliz.com/milvus/milvus-build-env:v0.11'
ttyEnabled true ttyEnabled true
command 'cat' command 'cat'
} }
......
...@@ -35,7 +35,7 @@ pipeline { ...@@ -35,7 +35,7 @@ pipeline {
defaultContainer 'jnlp' defaultContainer 'jnlp'
containerTemplate { containerTemplate {
name 'milvus-build-env' name 'milvus-build-env'
image 'registry.zilliz.com/milvus/milvus-build-env:v0.10' image 'registry.zilliz.com/milvus/milvus-build-env:v0.11'
ttyEnabled true ttyEnabled true
command 'cat' command 'cat'
} }
......
...@@ -35,7 +35,7 @@ pipeline { ...@@ -35,7 +35,7 @@ pipeline {
defaultContainer 'jnlp' defaultContainer 'jnlp'
containerTemplate { containerTemplate {
name 'milvus-build-env' name 'milvus-build-env'
image 'registry.zilliz.com/milvus/milvus-build-env:v0.10' image 'registry.zilliz.com/milvus/milvus-build-env:v0.11'
ttyEnabled true ttyEnabled true
command 'cat' command 'cat'
} }
......
...@@ -28,6 +28,8 @@ Please mark all change in change log and use the ticket from JIRA. ...@@ -28,6 +28,8 @@ Please mark all change in change log and use the ticket from JIRA.
- MS-206 - Support SQ8 index type - MS-206 - Support SQ8 index type
- MS-208 - Add buildinde interface for C++ SDK - MS-208 - Add buildinde interface for C++ SDK
- MS-212 - Support Inner product metric type - MS-212 - Support Inner product metric type
- MS-241 - Build Faiss with MKL if using Intel CPU; else build with OpenBlas
- MS-242 - clean up cmake and change MAKE_BUILD_ARGS to be user defined variable
## New Feature ## New Feature
- MS-180 - Add new mem manager - MS-180 - Add new mem manager
......
### Compilation ### Compilation
#### Step 1: install necessery tools #### Step 1: install necessery tools
Install MySQL
centos7 : centos7 :
yum install gfortran qt4 flex bison mysql-devel yum install gfortran qt4 flex bison mysql-devel mysql
ubuntu16.04 : ubuntu16.04 :
sudo apt-get install gfortran qt4-qmake flex bison libmysqlclient-dev sudo apt-get install gfortran qt4-qmake flex bison libmysqlclient-dev mysql-client
cd scripts && sudo ./requirements.sh
If `libmysqlclient_r.so` does not exist after installing MySQL Development Files, you need to create a symbolic link: If `libmysqlclient_r.so` does not exist after installing MySQL Development Files, you need to create a symbolic link:
......
...@@ -57,8 +57,6 @@ define_option(MILVUS_VERBOSE_THIRDPARTY_BUILD ...@@ -57,8 +57,6 @@ define_option(MILVUS_VERBOSE_THIRDPARTY_BUILD
define_option(MILVUS_WITH_ARROW "Build with ARROW" OFF) define_option(MILVUS_WITH_ARROW "Build with ARROW" OFF)
define_option(MILVUS_BOOST_USE_SHARED "Rely on boost shared libraries where relevant" OFF)
define_option(MILVUS_BOOST_VENDORED "Use vendored Boost instead of existing Boost. \ define_option(MILVUS_BOOST_VENDORED "Use vendored Boost instead of existing Boost. \
Note that this requires linking Boost statically" ON) Note that this requires linking Boost statically" ON)
......
此差异已折叠。
#!/usr/bin/env bash
wget -P /tmp https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS-2019.PUB
apt-key add /tmp/GPG-PUB-KEY-INTEL-SW-PRODUCTS-2019.PUB
sh -c 'echo deb https://apt.repos.intel.com/mkl all main > /etc/apt/sources.list.d/intel-mkl.list'
apt -y update && apt-get -y install intel-mkl-gnu-2019.4-243 intel-mkl-core-2019.4-243
#sh -c 'echo export LD_LIBRARY_PATH=/opt/intel/compilers_and_libraries_2019.4.243/linux/mkl/lib/intel64:\$LD_LIBRARY_PATH > /etc/profile.d/mkl.sh'
#source /etc/profile
...@@ -48,7 +48,6 @@ set(engine_files ...@@ -48,7 +48,6 @@ set(engine_files
${db_files} ${db_files}
${db_scheduler_files} ${db_scheduler_files}
${wrapper_files} ${wrapper_files}
# metrics/Metrics.cpp
${metrics_files} ${metrics_files}
) )
...@@ -71,8 +70,6 @@ set(third_party_libs ...@@ -71,8 +70,6 @@ set(third_party_libs
yaml-cpp yaml-cpp
libgpufaiss.a libgpufaiss.a
faiss faiss
lapack
openblas
prometheus-cpp-push prometheus-cpp-push
prometheus-cpp-pull prometheus-cpp-pull
prometheus-cpp-core prometheus-cpp-core
...@@ -87,9 +84,19 @@ set(third_party_libs ...@@ -87,9 +84,19 @@ set(third_party_libs
mysqlpp mysqlpp
${CUDA_TOOLKIT_ROOT_DIR}/lib64/stubs/libnvidia-ml.so ${CUDA_TOOLKIT_ROOT_DIR}/lib64/stubs/libnvidia-ml.so
) )
if (MEGASEARCH_WITH_ARROW STREQUAL "ON") if (MEGASEARCH_WITH_ARROW STREQUAL "ON")
set(third_party_libs ${third_party_libs} arrow) set(third_party_libs ${third_party_libs} arrow)
endif() endif()
if(${BUILD_FAISS_WITH_MKL} STREQUAL "true")
set(third_party_libs ${third_party_libs}
${MKL_LIBS}
${MKL_LIBS})
else()
set(third_party_libs ${third_party_libs}
lapack
openblas)
endif()
if (GPU_VERSION STREQUAL "ON") if (GPU_VERSION STREQUAL "ON")
link_directories("${CUDA_TOOLKIT_ROOT_DIR}/lib64") link_directories("${CUDA_TOOLKIT_ROOT_DIR}/lib64")
...@@ -187,6 +194,6 @@ install(FILES ...@@ -187,6 +194,6 @@ install(FILES
${CMAKE_BINARY_DIR}/mysqlpp_ep-prefix/src/mysqlpp_ep/lib/${CMAKE_SHARED_LIBRARY_PREFIX}mysqlpp${CMAKE_SHARED_LIBRARY_SUFFIX} ${CMAKE_BINARY_DIR}/mysqlpp_ep-prefix/src/mysqlpp_ep/lib/${CMAKE_SHARED_LIBRARY_PREFIX}mysqlpp${CMAKE_SHARED_LIBRARY_SUFFIX}
${CMAKE_BINARY_DIR}/mysqlpp_ep-prefix/src/mysqlpp_ep/lib/${CMAKE_SHARED_LIBRARY_PREFIX}mysqlpp${CMAKE_SHARED_LIBRARY_SUFFIX}.3 ${CMAKE_BINARY_DIR}/mysqlpp_ep-prefix/src/mysqlpp_ep/lib/${CMAKE_SHARED_LIBRARY_PREFIX}mysqlpp${CMAKE_SHARED_LIBRARY_SUFFIX}.3
${CMAKE_BINARY_DIR}/mysqlpp_ep-prefix/src/mysqlpp_ep/lib/${CMAKE_SHARED_LIBRARY_PREFIX}mysqlpp${CMAKE_SHARED_LIBRARY_SUFFIX}.3.2.4 ${CMAKE_BINARY_DIR}/mysqlpp_ep-prefix/src/mysqlpp_ep/lib/${CMAKE_SHARED_LIBRARY_PREFIX}mysqlpp${CMAKE_SHARED_LIBRARY_SUFFIX}.3.2.4
DESTINATION lib) #need to copy libmysqlpp.so DESTINATION lib)
add_subdirectory(sdk) add_subdirectory(sdk)
...@@ -3,6 +3,7 @@ BOOST_VERSION=1.70.0 ...@@ -3,6 +3,7 @@ BOOST_VERSION=1.70.0
BZIP2_VERSION=1.0.6 BZIP2_VERSION=1.0.6
EASYLOGGINGPP_VERSION=v9.96.7 EASYLOGGINGPP_VERSION=v9.96.7
FAISS_VERSION=7b07685 FAISS_VERSION=7b07685
MKL_VERSION=2019.4.243
GTEST_VERSION=1.8.1 GTEST_VERSION=1.8.1
JSONCONS_VERSION=0.126.0 JSONCONS_VERSION=0.126.0
LAPACK_VERSION=v3.8.0 LAPACK_VERSION=v3.8.0
......
...@@ -28,7 +28,6 @@ set(unittest_libs ...@@ -28,7 +28,6 @@ set(unittest_libs
easyloggingpp easyloggingpp
pthread pthread
metrics metrics
openblas
gfortran gfortran
prometheus-cpp-pull prometheus-cpp-pull
prometheus-cpp-push prometheus-cpp-push
......
...@@ -23,10 +23,7 @@ link_directories("/usr/local/cuda/lib64") ...@@ -23,10 +23,7 @@ link_directories("/usr/local/cuda/lib64")
include_directories(/usr/include/mysql) include_directories(/usr/include/mysql)
#add_definitions(-DBOOST_ERROR_CODE_HEADER_ONLY)
set(db_test_src set(db_test_src
#${unittest_srcs}
${config_files} ${config_files}
${cache_srcs} ${cache_srcs}
${db_srcs} ${db_srcs}
...@@ -49,6 +46,11 @@ set(db_libs ...@@ -49,6 +46,11 @@ set(db_libs
mysqlpp mysqlpp
) )
if(${BUILD_FAISS_WITH_MKL} STREQUAL "true")
set(db_libs ${db_libs} ${MKL_LIBS} ${MKL_LIBS})
endif()
target_link_libraries(db_test ${db_libs} ${unittest_libs}) target_link_libraries(db_test ${db_libs} ${unittest_libs})
install(TARGETS db_test DESTINATION bin) install(TARGETS db_test DESTINATION bin)
...@@ -35,6 +35,10 @@ set(wrapper_libs ...@@ -35,6 +35,10 @@ set(wrapper_libs
zstd zstd
lz4 lz4
) )
if(${BUILD_FAISS_WITH_MKL} STREQUAL "true")
set(wrapper_libs ${wrapper_libs} ${MKL_LIBS} ${MKL_LIBS})
endif()
target_link_libraries(wrapper_test ${wrapper_libs} ${unittest_libs}) target_link_libraries(wrapper_test ${wrapper_libs} ${unittest_libs})
set(topk_test_src set(topk_test_src
......
...@@ -10,8 +10,6 @@ ...@@ -10,8 +10,6 @@
include_directories(../../src) include_directories(../../src)
aux_source_directory(../../src/db db_srcs) aux_source_directory(../../src/db db_srcs)
aux_source_directory(../../src/config config_files) aux_source_directory(../../src/config config_files)
aux_source_directory(../../src/cache cache_srcs) aux_source_directory(../../src/cache cache_srcs)
...@@ -33,21 +31,10 @@ include_directories(../../third_party/build/include) ...@@ -33,21 +31,10 @@ include_directories(../../third_party/build/include)
link_directories(../../third_party/build/lib) link_directories(../../third_party/build/lib)
include_directories(/usr/local/cuda/include) include_directories(/usr/local/cuda/include)
link_directories("/usr/local/cuda/lib64") link_directories("/usr/local/cuda/lib64")
#include_directories(../db/utils.h)
include_directories(../../src/metrics) include_directories(../../src/metrics)
include_directories(/usr/include/mysql) include_directories(/usr/include/mysql)
#set(metrics_src_files
# ../../src/metrics/Metrics.cpp
# ../../src/metrics/Metrics.h
# ../../src/metrics/PrometheusMetrics.cpp
# ../../src/metrics/MetricBase.h
# ../../src/server/ServerConfig.cpp
# ../../src/utils/CommonUtil.cpp
# ../../src/utils/TimeRecorder.cpp
# )
set(count_test_src set(count_test_src
${config_files} ${config_files}
${cache_srcs} ${cache_srcs}
...@@ -77,5 +64,8 @@ target_link_libraries(metrics_test ...@@ -77,5 +64,8 @@ target_link_libraries(metrics_test
mysqlpp mysqlpp
${unittest_libs} ${unittest_libs}
) )
if(${BUILD_FAISS_WITH_MKL} STREQUAL "true")
target_link_libraries(metrics_test ${MKL_LIBS} ${MKL_LIBS})
endif()
install(TARGETS metrics_test DESTINATION bin) install(TARGETS metrics_test DESTINATION bin)
\ No newline at end of file
...@@ -48,6 +48,10 @@ set(require_libs ...@@ -48,6 +48,10 @@ set(require_libs
pthread pthread
) )
if(${BUILD_FAISS_WITH_MKL} STREQUAL "true")
set(require_libs ${require_libs} ${MKL_LIBS} ${MKL_LIBS})
endif()
target_link_libraries(server_test target_link_libraries(server_test
${require_libs} ${require_libs}
${cuda_library} ${cuda_library}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册