mirror of https://github.com/milvus-io/milvus.git
parent
b364c8e3a7
commit
a5b3dea158
|
@ -69,9 +69,6 @@ message(STATUS "Milvus version: "
|
|||
"${MILVUS_VERSION_MAJOR}.${MILVUS_VERSION_MINOR}.${MILVUS_VERSION_PATCH} "
|
||||
"(full: '${MILVUS_VERSION}')")
|
||||
|
||||
find_package(CUDA)
|
||||
set(CUDA_NVCC_FLAGS "${CUDA_NVCC_FLAGS} -Xcompiler -fPIC -std=c++11 -D_FORCE_INLINES -arch sm_60 --expt-extended-lambda")
|
||||
|
||||
set(CMAKE_CXX_STANDARD 14)
|
||||
set(CMAKE_CXX_STANDARD_REQUIRED on)
|
||||
|
||||
|
@ -87,6 +84,9 @@ else()
|
|||
set(MILVUS_BUILD_ARCH unknown)
|
||||
endif()
|
||||
|
||||
find_package(CUDA)
|
||||
set(CUDA_NVCC_FLAGS "${CUDA_NVCC_FLAGS} -Xcompiler -fPIC -std=c++11 -D_FORCE_INLINES --expt-extended-lambda")
|
||||
|
||||
if(CMAKE_BUILD_TYPE STREQUAL "Release")
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O3 -fPIC -DELPP_THREAD_SAFE -fopenmp")
|
||||
set(CUDA_NVCC_FLAGS "${CUDA_NVCC_FLAGS} -O3")
|
||||
|
|
|
@ -27,55 +27,55 @@ foreach (dir ${CORE_INCLUDE_DIRS})
|
|||
include_directories(${dir})
|
||||
endforeach ()
|
||||
|
||||
aux_source_directory(cache cache_files)
|
||||
aux_source_directory(${MILVUS_ENGINE_SRC}/cache cache_files)
|
||||
|
||||
aux_source_directory(config config_files)
|
||||
aux_source_directory(${MILVUS_ENGINE_SRC}/config config_files)
|
||||
|
||||
aux_source_directory(db db_main_files)
|
||||
aux_source_directory(db/engine db_engine_files)
|
||||
aux_source_directory(db/insert db_insert_files)
|
||||
aux_source_directory(db/meta db_meta_files)
|
||||
aux_source_directory(db/scheduler scheduler_files)
|
||||
aux_source_directory(db/scheduler/context scheduler_context_files)
|
||||
aux_source_directory(db/scheduler/task scheduler_task_files)
|
||||
aux_source_directory(${MILVUS_ENGINE_SRC}/db db_main_files)
|
||||
aux_source_directory(${MILVUS_ENGINE_SRC}/db/engine db_engine_files)
|
||||
aux_source_directory(${MILVUS_ENGINE_SRC}/db/insert db_insert_files)
|
||||
aux_source_directory(${MILVUS_ENGINE_SRC}/db/meta db_meta_files)
|
||||
aux_source_directory(${MILVUS_ENGINE_SRC}/db/scheduler db_scheduler_files)
|
||||
aux_source_directory(${MILVUS_ENGINE_SRC}/db/scheduler/context db_scheduler_context_files)
|
||||
aux_source_directory(${MILVUS_ENGINE_SRC}/db/scheduler/task db_scheduler_task_files)
|
||||
set(db_scheduler_files
|
||||
${scheduler_files}
|
||||
${scheduler_context_files}
|
||||
${scheduler_task_files}
|
||||
${db_scheduler_files}
|
||||
${db_scheduler_context_files}
|
||||
${db_scheduler_task_files}
|
||||
)
|
||||
|
||||
set(grpc_service_files
|
||||
grpc/gen-milvus/milvus.grpc.pb.cc
|
||||
grpc/gen-milvus/milvus.pb.cc
|
||||
grpc/gen-status/status.grpc.pb.cc
|
||||
grpc/gen-status/status.pb.cc
|
||||
${MILVUS_ENGINE_SRC}/grpc/gen-milvus/milvus.grpc.pb.cc
|
||||
${MILVUS_ENGINE_SRC}/grpc/gen-milvus/milvus.pb.cc
|
||||
${MILVUS_ENGINE_SRC}/grpc/gen-status/status.grpc.pb.cc
|
||||
${MILVUS_ENGINE_SRC}/grpc/gen-status/status.pb.cc
|
||||
)
|
||||
|
||||
aux_source_directory(metrics metrics_files)
|
||||
aux_source_directory(${MILVUS_ENGINE_SRC}/metrics metrics_files)
|
||||
|
||||
aux_source_directory(scheduler/action scheduler_action_files)
|
||||
aux_source_directory(scheduler/event scheduler_event_files)
|
||||
aux_source_directory(scheduler/job scheduler_job_files)
|
||||
aux_source_directory(scheduler/resource scheduler_resource_files)
|
||||
aux_source_directory(scheduler/task scheduler_task_files)
|
||||
aux_source_directory(scheduler scheduler_root_files)
|
||||
aux_source_directory(${MILVUS_ENGINE_SRC}/scheduler scheduler_main_files)
|
||||
aux_source_directory(${MILVUS_ENGINE_SRC}/scheduler/action scheduler_action_files)
|
||||
aux_source_directory(${MILVUS_ENGINE_SRC}/scheduler/event scheduler_event_files)
|
||||
aux_source_directory(${MILVUS_ENGINE_SRC}/scheduler/job scheduler_job_files)
|
||||
aux_source_directory(${MILVUS_ENGINE_SRC}/scheduler/resource scheduler_resource_files)
|
||||
aux_source_directory(${MILVUS_ENGINE_SRC}/scheduler/task scheduler_task_files)
|
||||
set(scheduler_files
|
||||
${scheduler_main_files}
|
||||
${scheduler_action_files}
|
||||
${scheduler_event_files}
|
||||
${scheduler_job_files}
|
||||
${scheduler_resource_files}
|
||||
${scheduler_task_files}
|
||||
${scheduler_root_files}
|
||||
)
|
||||
|
||||
aux_source_directory(server server_files)
|
||||
aux_source_directory(server/grpc_impl grpc_server_files)
|
||||
aux_source_directory(${MILVUS_ENGINE_SRC}/server server_files)
|
||||
aux_source_directory(${MILVUS_ENGINE_SRC}/server/grpc_impl grpc_server_files)
|
||||
|
||||
aux_source_directory(utils utils_files)
|
||||
aux_source_directory(${MILVUS_ENGINE_SRC}/utils utils_files)
|
||||
|
||||
aux_source_directory(wrapper/knowhere knowhere_files)
|
||||
aux_source_directory(${MILVUS_ENGINE_SRC}/wrapper/knowhere wrapper_knowhere_files)
|
||||
|
||||
set(db_files
|
||||
set(engine_files
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/main.cpp
|
||||
${cache_files}
|
||||
${db_main_files}
|
||||
|
@ -85,30 +85,32 @@ set(db_files
|
|||
${db_scheduler_files}
|
||||
${metrics_files}
|
||||
${utils_files}
|
||||
${knowhere_files}
|
||||
${wrapper_knowhere_files}
|
||||
)
|
||||
|
||||
include_directories(/usr/include)
|
||||
include_directories("${CUDA_TOOLKIT_ROOT_DIR}/include")
|
||||
include_directories(grpc/gen-status)
|
||||
include_directories(grpc/gen-milvus)
|
||||
include_directories(${MILVUS_ENGINE_SRC}/grpc/gen-status)
|
||||
include_directories(${MILVUS_ENGINE_SRC}/grpc/gen-milvus)
|
||||
|
||||
set(client_grpc_lib
|
||||
grpcpp_channelz
|
||||
grpc++
|
||||
grpc
|
||||
grpc_protobuf
|
||||
grpc_protoc)
|
||||
grpc_protoc
|
||||
)
|
||||
|
||||
set(prometheus_lib
|
||||
prometheus-cpp-push
|
||||
prometheus-cpp-pull
|
||||
prometheus-cpp-core)
|
||||
prometheus-cpp-core
|
||||
)
|
||||
|
||||
set(boost_lib
|
||||
boost_system_static
|
||||
boost_filesystem_static
|
||||
boost_serialization_static)
|
||||
boost_serialization_static
|
||||
)
|
||||
|
||||
set(third_party_libs
|
||||
sqlite
|
||||
|
@ -149,7 +151,7 @@ if (NOT ${CMAKE_SYSTEM_PROCESSOR} MATCHES "aarch64")
|
|||
)
|
||||
endif ()
|
||||
|
||||
cuda_add_library(milvus_engine STATIC ${db_files})
|
||||
cuda_add_library(milvus_engine STATIC ${engine_files})
|
||||
target_link_libraries(milvus_engine ${engine_libs} ${third_party_libs})
|
||||
|
||||
add_library(metrics STATIC ${metrics_files})
|
||||
|
|
|
@ -20,23 +20,10 @@
|
|||
|
||||
aux_source_directory(interface interface_files)
|
||||
|
||||
include_directories(/usr/include)
|
||||
include_directories(include)
|
||||
include_directories(/usr/local/include)
|
||||
|
||||
|
||||
aux_source_directory(grpc grpc_client_files)
|
||||
|
||||
include_directories(${CMAKE_SOURCE_DIR}/src/grpc/gen-milvus)
|
||||
include_directories(${CMAKE_SOURCE_DIR}/src/grpc/gen-status)
|
||||
|
||||
set(grpc_service_files
|
||||
${CMAKE_SOURCE_DIR}/src/grpc/gen-milvus/milvus.grpc.pb.cc
|
||||
${CMAKE_SOURCE_DIR}/src/grpc/gen-milvus/milvus.pb.cc
|
||||
${CMAKE_SOURCE_DIR}/src/grpc/gen-status/status.grpc.pb.cc
|
||||
${CMAKE_SOURCE_DIR}/src/grpc/gen-status/status.pb.cc
|
||||
)
|
||||
|
||||
add_library(milvus_sdk STATIC
|
||||
${interface_files}
|
||||
${grpc_client_files}
|
||||
|
|
|
@ -28,37 +28,37 @@ aux_source_directory(${MILVUS_ENGINE_SRC}/db db_main_files)
|
|||
aux_source_directory(${MILVUS_ENGINE_SRC}/db/engine db_engine_files)
|
||||
aux_source_directory(${MILVUS_ENGINE_SRC}/db/insert db_insert_files)
|
||||
aux_source_directory(${MILVUS_ENGINE_SRC}/db/meta db_meta_files)
|
||||
aux_source_directory(${MILVUS_ENGINE_SRC}/db/scheduler scheduler_files)
|
||||
aux_source_directory(${MILVUS_ENGINE_SRC}/db/scheduler/context scheduler_context_files)
|
||||
aux_source_directory(${MILVUS_ENGINE_SRC}/db/scheduler/task scheduler_task_files)
|
||||
aux_source_directory(${MILVUS_ENGINE_SRC}/db/scheduler db_scheduler_files)
|
||||
aux_source_directory(${MILVUS_ENGINE_SRC}/db/scheduler/context db_scheduler_context_files)
|
||||
aux_source_directory(${MILVUS_ENGINE_SRC}/db/scheduler/task db_scheduler_task_files)
|
||||
set(db_scheduler_files
|
||||
${scheduler_files}
|
||||
${scheduler_context_files}
|
||||
${scheduler_task_files}
|
||||
${db_scheduler_files}
|
||||
${db_scheduler_context_files}
|
||||
${db_scheduler_task_files}
|
||||
)
|
||||
|
||||
set(grpc_service_files
|
||||
grpc/gen-milvus/milvus.grpc.pb.cc
|
||||
grpc/gen-milvus/milvus.pb.cc
|
||||
grpc/gen-status/status.grpc.pb.cc
|
||||
grpc/gen-status/status.pb.cc
|
||||
${MILVUS_ENGINE_SRC}/grpc/gen-milvus/milvus.grpc.pb.cc
|
||||
${MILVUS_ENGINE_SRC}/grpc/gen-milvus/milvus.pb.cc
|
||||
${MILVUS_ENGINE_SRC}/grpc/gen-status/status.grpc.pb.cc
|
||||
${MILVUS_ENGINE_SRC}/grpc/gen-status/status.pb.cc
|
||||
)
|
||||
|
||||
aux_source_directory(${MILVUS_ENGINE_SRC}/metrics metrics_files)
|
||||
|
||||
aux_source_directory(${MILVUS_ENGINE_SRC}/scheduler scheduler_main_files)
|
||||
aux_source_directory(${MILVUS_ENGINE_SRC}/scheduler/action scheduler_action_files)
|
||||
aux_source_directory(${MILVUS_ENGINE_SRC}/scheduler/event scheduler_event_files)
|
||||
aux_source_directory(${MILVUS_ENGINE_SRC}/scheduler/job scheduler_job_files)
|
||||
aux_source_directory(${MILVUS_ENGINE_SRC}/scheduler/resource scheduler_resource_files)
|
||||
aux_source_directory(${MILVUS_ENGINE_SRC}/scheduler/task scheduler_task_files)
|
||||
aux_source_directory(${MILVUS_ENGINE_SRC}/scheduler scheduler_root_files)
|
||||
set(scheduler_files
|
||||
${scheduler_main_files}
|
||||
${scheduler_action_files}
|
||||
${scheduler_event_files}
|
||||
${scheduler_job_files}
|
||||
${scheduler_resource_files}
|
||||
${scheduler_task_files}
|
||||
${scheduler_root_files}
|
||||
)
|
||||
|
||||
aux_source_directory(${MILVUS_ENGINE_SRC}/server server_files)
|
||||
|
@ -66,10 +66,7 @@ aux_source_directory(${MILVUS_ENGINE_SRC}/server/grpc_impl grpc_server_files)
|
|||
|
||||
aux_source_directory(${MILVUS_ENGINE_SRC}/utils utils_files)
|
||||
|
||||
aux_source_directory(${MILVUS_ENGINE_SRC}/wrapper/knowhere knowhere_files)
|
||||
|
||||
aux_source_directory(${MILVUS_ENGINE_SRC}/db db_srcs)
|
||||
aux_source_directory(${MILVUS_ENGINE_SRC}/config config_files)
|
||||
aux_source_directory(${MILVUS_ENGINE_SRC}/wrapper/knowhere wrapper_knowhere_files)
|
||||
|
||||
set(unittest_files
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/main.cpp)
|
||||
|
@ -83,7 +80,26 @@ set(helper_files
|
|||
${MILVUS_ENGINE_SRC}/utils/easylogging++.cc
|
||||
)
|
||||
|
||||
set(common_files
|
||||
${cache_files}
|
||||
${config_files}
|
||||
${db_main_files}
|
||||
${db_engine_files}
|
||||
${db_insert_files}
|
||||
${db_meta_files}
|
||||
${db_scheduler_files}
|
||||
${metrics_files}
|
||||
${scheduler_files}
|
||||
${wrapper_knowhere_files}
|
||||
${helper_files}
|
||||
)
|
||||
|
||||
set(unittest_libs
|
||||
sqlite
|
||||
boost_system_static
|
||||
boost_filesystem_static
|
||||
lz4
|
||||
mysqlpp
|
||||
yaml-cpp
|
||||
gtest
|
||||
gmock
|
||||
|
@ -107,7 +123,7 @@ foreach(dir ${CORE_INCLUDE_DIRS})
|
|||
endforeach()
|
||||
|
||||
add_subdirectory(db)
|
||||
add_subdirectory(knowhere)
|
||||
add_subdirectory(wrapper)
|
||||
add_subdirectory(metrics)
|
||||
add_subdirectory(scheduler)
|
||||
add_subdirectory(server)
|
|
@ -23,31 +23,13 @@ include_directories("${CUDA_TOOLKIT_ROOT_DIR}/include")
|
|||
link_directories("${CUDA_TOOLKIT_ROOT_DIR}/lib64")
|
||||
|
||||
set(db_test_files
|
||||
${cache_files}
|
||||
${config_files}
|
||||
${db_main_files}
|
||||
${db_engine_files}
|
||||
${db_insert_files}
|
||||
${db_meta_files}
|
||||
${db_scheduler_files}
|
||||
${metrics_files}
|
||||
${scheduler_files}
|
||||
${knowhere_files}
|
||||
${helper_files}
|
||||
${common_files}
|
||||
${test_files}
|
||||
)
|
||||
|
||||
cuda_add_executable(db_test ${db_test_files})
|
||||
|
||||
set(db_libs
|
||||
sqlite
|
||||
boost_system_static
|
||||
boost_filesystem_static
|
||||
lz4
|
||||
mysqlpp
|
||||
)
|
||||
|
||||
target_link_libraries(db_test ${db_libs} knowhere ${unittest_libs})
|
||||
target_link_libraries(db_test knowhere ${unittest_libs})
|
||||
|
||||
install(TARGETS db_test DESTINATION unittest)
|
||||
|
||||
|
|
|
@ -19,35 +19,16 @@
|
|||
|
||||
aux_source_directory(${CMAKE_CURRENT_SOURCE_DIR} test_files)
|
||||
|
||||
include_directories(/usr/include)
|
||||
include_directories("${CUDA_TOOLKIT_ROOT_DIR}/include")
|
||||
link_directories("${CUDA_TOOLKIT_ROOT_DIR}/lib64")
|
||||
|
||||
set(metrics_test_files
|
||||
${cache_files}
|
||||
${config_files}
|
||||
${db_main_files}
|
||||
${db_engine_files}
|
||||
${db_insert_files}
|
||||
${db_meta_files}
|
||||
${db_scheduler_files}
|
||||
${metrics_files}
|
||||
${scheduler_files}
|
||||
${knowhere_files}
|
||||
${helper_files}
|
||||
${common_files}
|
||||
${test_files}
|
||||
)
|
||||
|
||||
add_executable(metrics_test ${metrics_test_files})
|
||||
|
||||
target_link_libraries(metrics_test
|
||||
knowhere
|
||||
sqlite
|
||||
boost_system_static
|
||||
boost_filesystem_static
|
||||
lz4
|
||||
mysqlpp
|
||||
${unittest_libs}
|
||||
)
|
||||
target_link_libraries(metrics_test knowhere ${unittest_libs})
|
||||
|
||||
install(TARGETS metrics_test DESTINATION unittest)
|
|
@ -23,31 +23,14 @@ include_directories("${CUDA_TOOLKIT_ROOT_DIR}/include")
|
|||
link_directories("${CUDA_TOOLKIT_ROOT_DIR}/lib64")
|
||||
|
||||
set(scheduler_test_files
|
||||
${cache_files}
|
||||
${config_files}
|
||||
${db_main_files}
|
||||
${db_engine_files}
|
||||
${db_insert_files}
|
||||
${db_meta_files}
|
||||
${db_scheduler_files}
|
||||
${scheduler_files}
|
||||
${knowhere_files}
|
||||
${helper_files}
|
||||
${common_files}
|
||||
${unittest_files}
|
||||
${test_files}
|
||||
)
|
||||
|
||||
cuda_add_executable(scheduler_test ${scheduler_test_files})
|
||||
|
||||
set(scheduler_libs
|
||||
sqlite
|
||||
boost_system_static
|
||||
boost_filesystem_static
|
||||
lz4
|
||||
mysqlpp
|
||||
)
|
||||
|
||||
target_link_libraries(scheduler_test ${scheduler_libs} knowhere ${unittest_libs})
|
||||
target_link_libraries(scheduler_test knowhere ${unittest_libs})
|
||||
|
||||
install(TARGETS scheduler_test DESTINATION unittest)
|
||||
|
||||
|
|
|
@ -19,14 +19,13 @@
|
|||
|
||||
aux_source_directory(${CMAKE_CURRENT_SOURCE_DIR} test_files)
|
||||
|
||||
include_directories(/usr/include)
|
||||
include_directories("${CUDA_TOOLKIT_ROOT_DIR}/include")
|
||||
link_directories("${CUDA_TOOLKIT_ROOT_DIR}/lib64")
|
||||
|
||||
include_directories(${MILVUS_ENGINE_SRC}/grpc/gen-status)
|
||||
include_directories(${MILVUS_ENGINE_SRC}/grpc/gen-milvus)
|
||||
|
||||
set(helper_files ${helper_files}
|
||||
set(util_files
|
||||
${MILVUS_ENGINE_SRC}/utils/StringHelpFunctions.cpp
|
||||
${MILVUS_ENGINE_SRC}/utils/LogUtil.cpp
|
||||
${MILVUS_ENGINE_SRC}/utils/SignalUtil.cpp)
|
||||
|
@ -39,19 +38,11 @@ set(grpc_service_files
|
|||
)
|
||||
|
||||
set(server_test_files
|
||||
${cache_files}
|
||||
${config_files}
|
||||
${db_main_files}
|
||||
${db_engine_files}
|
||||
${db_insert_files}
|
||||
${db_meta_files}
|
||||
${db_scheduler_files}
|
||||
${scheduler_files}
|
||||
${common_files}
|
||||
${server_files}
|
||||
${grpc_server_files}
|
||||
${grpc_service_files}
|
||||
${knowhere_files}
|
||||
${helper_files}
|
||||
${util_files}
|
||||
${unittest_files}
|
||||
${test_files}
|
||||
)
|
||||
|
@ -65,22 +56,13 @@ set(client_grpc_lib
|
|||
grpc_protobuf
|
||||
grpc_protoc)
|
||||
|
||||
set(require_libs
|
||||
target_link_libraries(server_test
|
||||
knowhere
|
||||
stdc++
|
||||
sqlite
|
||||
mysqlpp
|
||||
boost_system_static
|
||||
boost_filesystem_static
|
||||
snappy
|
||||
bz2
|
||||
zstd
|
||||
lz4
|
||||
${client_grpc_lib}
|
||||
)
|
||||
|
||||
target_link_libraries(server_test
|
||||
${require_libs}
|
||||
${unittest_libs}
|
||||
)
|
||||
|
||||
|
|
|
@ -20,12 +20,12 @@
|
|||
include_directories("${CUDA_TOOLKIT_ROOT_DIR}/include")
|
||||
link_directories("${CUDA_TOOLKIT_ROOT_DIR}/lib64")
|
||||
|
||||
set(knowhere_files
|
||||
set(wrapper_knowhere_files
|
||||
${MILVUS_ENGINE_SRC}/wrapper/knowhere/data_transfer.cpp
|
||||
${MILVUS_ENGINE_SRC}/wrapper/knowhere/vec_impl.cpp
|
||||
${MILVUS_ENGINE_SRC}/wrapper/knowhere/vec_index.cpp)
|
||||
|
||||
set(helper_files
|
||||
set(util_files
|
||||
utils.cpp
|
||||
${MILVUS_ENGINE_SRC}/utils/easylogging++.cc
|
||||
)
|
||||
|
@ -36,7 +36,7 @@ set(knowhere_libs
|
|||
cublas
|
||||
)
|
||||
|
||||
add_executable(knowhere_test knowhere_test.cpp ${knowhere_files} ${helper_files})
|
||||
target_link_libraries(knowhere_test ${knowhere_libs} ${unittest_libs})
|
||||
add_executable(wrapper_test wrapper_test.cpp ${wrapper_knowhere_files} ${util_files})
|
||||
target_link_libraries(wrapper_test ${knowhere_libs} ${unittest_libs})
|
||||
|
||||
install(TARGETS knowhere_test DESTINATION unittest)
|
||||
install(TARGETS wrapper_test DESTINATION unittest)
|
Loading…
Reference in New Issue