未验证 提交 a0951187 编写于 作者: 6 6clc 提交者: GitHub

[CINN] Change the cinn third-party library version to be consistent with paddle (#55075)

Pcard-72384
paddle with cinn的情况下支持cinn的c++ ut。 统一了cinn和paddle的third_party的c++版本,cinn third party不使用C++17
上级 af58cc37
......@@ -47,7 +47,6 @@ endif()
add_definitions(-w)
include(cmake/cinn/version.cmake)
# include the customized configures
if(NOT EXISTS ${CMAKE_BINARY_DIR}/cmake/cinn/config.cmake)
file(COPY ${PROJECT_SOURCE_DIR}/cmake/cinn/config.cmake
DESTINATION ${CMAKE_BINARY_DIR}/cmake/cinn)
......@@ -112,14 +111,8 @@ include_directories(${CMAKE_BINARY_DIR})
include(cmake/generic.cmake)
include(cmake/cinn/system.cmake)
include(cmake/cinn/core.cmake)
include(cmake/cinn/external/absl.cmake)
include(cmake/cinn/nvrtc.cmake)
include(cmake/cinn/nvtx.cmake)
include(cmake/cinn/external/llvm.cmake)
include(cmake/cinn/external/isl.cmake)
include(cmake/cinn/external/ginac.cmake)
include(cmake/cinn/external/openmp.cmake)
include(cmake/cinn/external/jitify.cmake)
if(CINN_ONLY)
link_libraries(gflags)
......
......@@ -65,7 +65,7 @@ function(remove_gflags TARGET_NAME)
endfunction()
function(cinn_cc_test TARGET_NAME)
if(WITH_TESTING AND CINN_ONLY)
if(WITH_TESTING)
set(options SERIAL)
set(oneValueArgs "")
set(multiValueArgs SRCS DEPS ARGS)
......@@ -145,9 +145,7 @@ function(cinn_nv_binary TARGET_NAME)
endfunction()
function(cinn_nv_test TARGET_NAME)
if(WITH_GPU
AND WITH_TESTING
AND CINN_ONLY)
if(WITH_GPU AND WITH_TESTING)
set(options SERIAL)
set(oneValueArgs "")
set(multiValueArgs SRCS DEPS ARGS)
......@@ -188,7 +186,7 @@ endfunction()
# Add dependency that TARGET will depend on test result of DEP, this function executes the DEP during make.
function(add_run_test_dependency TARGET_NAME DEP_NAME)
if(WITH_TESTING AND CINN_ONLY)
if(WITH_TESTING)
set(custom_target_name ${TARGET_NAME}_TEST_OUTPUT_DEPENDENCY_ON_${DEP_NAME})
add_custom_target(
${custom_target_name}
......
include(ExternalProject)
set(ABSL_SOURCES_DIR ${CINN_THIRD_PARTY_PATH}/absl)
set(ABSL_INSTALL_DIR ${CINN_THIRD_PARTY_PATH}/install/absl)
set(ABSL_SOURCES_DIR ${THIRD_PARTY_PATH}/absl)
set(ABSL_INSTALL_DIR ${THIRD_PARTY_PATH}/install/absl)
set(ABSL_CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS})
......@@ -12,7 +12,6 @@ set(OPTIONAL_ARGS
"-DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}"
"-DCMAKE_C_COMPILER=${CMAKE_C_COMPILER}"
"-DCMAKE_CXX_FLAGS=${CMAKE_CXX_FLAGS}"
"-DABSL_CXX_STANDARD=17"
"-DCMAKE_CXX_FLAGS_RELEASE=${CMAKE_CXX_FLAGS_RELEASE}"
"-DCMAKE_CXX_FLAGS_DEBUG=${CMAKE_CXX_FLAGS_DEBUG}"
"-DCMAKE_C_FLAGS=${CMAKE_C_FLAGS}"
......@@ -63,9 +62,6 @@ set(ABSL_LIB_NAMES
bad_optional_access
bad_variant_access
raw_hash_set)
if(CINN_ONLY)
list(APPEND ABSL_LIB_NAMES strings_internal raw_logging_internal)
endif()
set(ABSL_LIBS "")
add_library(absl STATIC IMPORTED GLOBAL)
......
......@@ -32,7 +32,7 @@ set(BOOST_URL
message(STATUS "BOOST_TAR: ${BOOST_TAR}, BOOST_URL: ${BOOST_URL}")
set(BOOST_SOURCES_DIR ${CINN_THIRD_PARTY_PATH}/boost)
set(BOOST_SOURCES_DIR ${THIRD_PARTY_PATH}/boost)
set(BOOST_DOWNLOAD_DIR "${BOOST_SOURCES_DIR}/src/${BOOST_PROJECT}")
set(BOOST_INCLUDE_DIR
......
......@@ -15,22 +15,22 @@ ExternalProject_Add(
${EXTERNAL_PROJECT_LOG_ARGS}
URL ${GINAC_DOWNLOAD_URL}
URL_MD5 ${GINAC_MD5}
PREFIX ${CINN_THIRD_PARTY_PATH}/ginac
SOURCE_DIR ${CINN_THIRD_PARTY_PATH}/install/ginac
PREFIX ${THIRD_PARTY_PATH}/ginac
SOURCE_DIR ${THIRD_PARTY_PATH}/install/ginac
CONFIGURE_COMMAND ""
BUILD_COMMAND ""
UPDATE_COMMAND ""
INSTALL_COMMAND ""
BUILD_BYPRODUCTS ${CINN_THIRD_PARTY_PATH}/install/ginac/lib/libginac.a
BUILD_BYPRODUCTS ${CINN_THIRD_PARTY_PATH}/install/ginac/lib/libcln.a
BUILD_BYPRODUCTS ${CINN_THIRD_PARTY_PATH}/install/ginac/lib/libgmp.a)
BUILD_BYPRODUCTS ${THIRD_PARTY_PATH}/install/ginac/lib/libginac.a
BUILD_BYPRODUCTS ${THIRD_PARTY_PATH}/install/ginac/lib/libcln.a
BUILD_BYPRODUCTS ${THIRD_PARTY_PATH}/install/ginac/lib/libgmp.a)
add_library(ginac STATIC IMPORTED GLOBAL)
add_dependencies(ginac external_ginac)
set_property(
TARGET ginac PROPERTY IMPORTED_LOCATION
${CINN_THIRD_PARTY_PATH}/install/ginac/lib/libginac.a)
${THIRD_PARTY_PATH}/install/ginac/lib/libginac.a)
target_link_libraries(
ginac INTERFACE ${CINN_THIRD_PARTY_PATH}/install/ginac/lib/libcln.a
${CINN_THIRD_PARTY_PATH}/install/ginac/lib/libgmp.a)
include_directories(${CINN_THIRD_PARTY_PATH}/install/ginac/include)
ginac INTERFACE ${THIRD_PARTY_PATH}/install/ginac/lib/libcln.a
${THIRD_PARTY_PATH}/install/ginac/lib/libgmp.a)
include_directories(${THIRD_PARTY_PATH}/install/ginac/include)
......@@ -16,17 +16,16 @@ ExternalProject_Add(
${EXTERNAL_PROJECT_LOG_ARGS}
URL ${ISL_DOWNLOAD_URL}
URL_MD5 ${ISL_MD5}
PREFIX ${CINN_THIRD_PARTY_PATH}/isl
SOURCE_DIR ${CINN_THIRD_PARTY_PATH}/install/isl
PREFIX ${THIRD_PARTY_PATH}/isl
SOURCE_DIR ${THIRD_PARTY_PATH}/install/isl
CONFIGURE_COMMAND ""
BUILD_COMMAND ""
UPDATE_COMMAND ""
INSTALL_COMMAND ""
BUILD_BYPRODUCTS ${CINN_THIRD_PARTY_PATH}/install/isl/lib/libisl.a)
BUILD_BYPRODUCTS ${THIRD_PARTY_PATH}/install/isl/lib/libisl.a)
add_library(isl STATIC IMPORTED GLOBAL)
set_property(
TARGET isl PROPERTY IMPORTED_LOCATION
${CINN_THIRD_PARTY_PATH}/install/isl/lib/libisl.a)
set_property(TARGET isl PROPERTY IMPORTED_LOCATION
${THIRD_PARTY_PATH}/install/isl/lib/libisl.a)
add_dependencies(isl external_isl)
include_directories(${CINN_THIRD_PARTY_PATH}/install/isl/include)
include_directories(${THIRD_PARTY_PATH}/install/isl/include)
......@@ -5,14 +5,14 @@ endif()
include(ExternalProject)
set(JITIFY_SOURCE_PATH ${CINN_THIRD_PARTY_PATH}/install/jitify)
set(JITIFY_SOURCE_PATH ${THIRD_PARTY_PATH}/install/jitify)
ExternalProject_Add(
external_jitify
${EXTERNAL_PROJECT_LOG_ARGS}
GIT_REPOSITORY "https://github.com/NVIDIA/jitify.git"
GIT_TAG 57de649139c866eb83acacfe50c92ad7c6278776
PREFIX ${CINN_THIRD_PARTY_PATH}/jitify
PREFIX ${THIRD_PARTY_PATH}/jitify
SOURCE_DIR ${JITIFY_SOURCE_PATH}
CONFIGURE_COMMAND ""
PATCH_COMMAND ""
......
......@@ -7,22 +7,21 @@ set(LLVM_DOWNLOAD_URL
https://paddle-inference-dist.bj.bcebos.com/CINN/llvm11-glibc2.17.tar.gz)
set(LLVM_MD5 33c7d3cc6d370585381e8d90bd7c2198)
set(FETCHCONTENT_BASE_DIR ${CINN_THIRD_PARTY_PATH}/llvm)
set(FETCHCONTENT_BASE_DIR ${THIRD_PARTY_PATH}/llvm)
set(FETCHCONTENT_QUIET OFF)
FetchContent_Declare(
external_llvm
URL ${LLVM_DOWNLOAD_URL}
URL_MD5 ${LLVM_MD5}
PREFIX ${CINN_THIRD_PARTY_PATH}/llvm SOURCE_DIR
${CINN_THIRD_PARTY_PATH}/install/llvm)
PREFIX ${THIRD_PARTY_PATH}/llvm SOURCE_DIR ${THIRD_PARTY_PATH}/install/llvm)
if(NOT LLVM_PATH)
FetchContent_GetProperties(external_llvm)
if(NOT external_llvm_POPULATED)
FetchContent_Populate(external_llvm)
endif()
set(LLVM_PATH ${CINN_THIRD_PARTY_PATH}/install/llvm)
set(LLVM_DIR ${CINN_THIRD_PARTY_PATH}/install/llvm/lib/cmake/llvm)
set(MLIR_DIR ${CINN_THIRD_PARTY_PATH}/install/llvm/lib/cmake/mlir)
set(LLVM_PATH ${THIRD_PARTY_PATH}/install/llvm)
set(LLVM_DIR ${THIRD_PARTY_PATH}/install/llvm/lib/cmake/llvm)
set(MLIR_DIR ${THIRD_PARTY_PATH}/install/llvm/lib/cmake/mlir)
else()
set(LLVM_DIR ${LLVM_PATH}/lib/cmake/llvm)
set(MLIR_DIR ${LLVM_PATH}/lib/cmake/mlir)
......
......@@ -259,14 +259,34 @@ if(${CMAKE_VERSION} VERSION_GREATER "3.5.2")
)# adds --depth=1 arg to git clone of External_Projects
endif()
include(external/zlib) # download, build, install zlib
include(external/gflags) # download, build, install gflags
include(external/glog) # download, build, install glog
########################### include third_party according to flags ###############################
if(WITH_CINN)
if(WITH_MKL)
add_definitions(-DCINN_WITH_MKL_CBLAS)
endif()
if(WITH_MKLDNN)
add_definitions(-DCINN_WITH_MKLDNN)
endif()
include(cmake/cinn/version.cmake)
if(NOT EXISTS ${CMAKE_BINARY_DIR}/cmake/cinn/config.cmake)
file(COPY ${PROJECT_SOURCE_DIR}/cmake/cinn/config.cmake
DESTINATION ${CMAKE_BINARY_DIR}/cmake/cinn)
endif()
include(${CMAKE_BINARY_DIR}/cmake/cinn/config.cmake)
include(cmake/cinn/external/absl.cmake)
include(cmake/cinn/external/llvm.cmake)
include(cmake/cinn/external/isl.cmake)
include(cmake/cinn/external/ginac.cmake)
include(cmake/cinn/external/openmp.cmake)
include(cmake/cinn/external/jitify.cmake)
endif()
# cinn_only includes third-party libraries separately
if(CINN_ONLY)
set(CMAKE_CXX_FLAGS "-std=c++17 ${CMAKE_CXX_FLAGS}")
include(external/zlib)
include(external/gflags)
include(external/glog)
include(external/gtest)
include(external/protobuf)
if(WITH_PYTHON)
......@@ -281,18 +301,6 @@ if(CINN_ONLY)
return()
endif()
if(WITH_CINN)
if(WITH_MKL)
add_definitions(-DCINN_WITH_MKL_CBLAS)
endif()
if(WITH_MKLDNN)
add_definitions(-DCINN_WITH_MKLDNN)
endif()
endif()
include(external/zlib) # download, build, install zlib
include(external/gflags) # download, build, install gflags
include(external/glog) # download, build, install glog
include(external/eigen) # download eigen3
include(external/threadpool) # download threadpool
include(external/dlpack) # download dlpack
......
......@@ -59,7 +59,14 @@ if(WITH_CUDA)
cinn_nv_test(test_codegen_debug SRCS codegen_debug_test.cc DEPS cinncore)
if(WITH_TESTING)
cinn_nv_test(generated1_cuda SRCS generated1.cu DEPS cinncore)
if(CINN_ONLY)
cinn_nv_test(generated1_cuda SRCS generated1.cu DEPS cinncore)
else()
nv_test(
generated1_cuda
SRCS generated1.cu
DEPS cinncore)
endif()
add_run_test_dependency(generated1_cuda test_codegen_cuda_generate)
endif()
......
......@@ -91,8 +91,10 @@ function(bash_test_modules TARGET_NAME)
endfunction()
if(WITH_TESTING)
if(CINN_ONLY)
if(WITH_CINN)
add_subdirectory(cpp/cinn)
endif()
if(CINN_ONLY)
add_subdirectory(cinn)
return()
endif()
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册