Commit 01a10755 authored by yuguo-Jack's avatar yuguo-Jack
Browse files

2.5.2-dtk24.04

parent 63eb0da5
...@@ -70,6 +70,10 @@ if(WITH_GPU) ...@@ -70,6 +70,10 @@ if(WITH_GPU)
message(STATUS "Enable CINN CUDNN") message(STATUS "Enable CINN CUDNN")
add_definitions(-DCINN_WITH_CUDNN) add_definitions(-DCINN_WITH_CUDNN)
endif() endif()
if(WITH_CUTLASS)
message(STATUS "Enable CINN CUTLASS")
add_definitions(-DCINN_WITH_CUTLASS)
endif()
enable_language(CUDA) enable_language(CUDA)
find_package(CUDA REQUIRED) find_package(CUDA REQUIRED)
include_directories(${CUDA_INCLUDE_DIRS}) include_directories(${CUDA_INCLUDE_DIRS})
...@@ -114,10 +118,6 @@ include(cmake/cinn/core.cmake) ...@@ -114,10 +118,6 @@ include(cmake/cinn/core.cmake)
include(cmake/cinn/nvrtc.cmake) include(cmake/cinn/nvrtc.cmake)
include(cmake/cinn/nvtx.cmake) include(cmake/cinn/nvtx.cmake)
if(CINN_ONLY)
link_libraries(gflags)
endif()
set(LINK_FLAGS set(LINK_FLAGS
"-Wl,--version-script ${CMAKE_CURRENT_SOURCE_DIR}/cmake/cinn/export.map" "-Wl,--version-script ${CMAKE_CURRENT_SOURCE_DIR}/cmake/cinn/export.map"
CACHE INTERNAL "") CACHE INTERNAL "")
...@@ -168,8 +168,8 @@ cinn_cc_library( ...@@ -168,8 +168,8 @@ cinn_cc_library(
add_dependencies(cinnapi GEN_LLVM_RUNTIME_IR_HEADER ZLIB::ZLIB) add_dependencies(cinnapi GEN_LLVM_RUNTIME_IR_HEADER ZLIB::ZLIB)
add_dependencies(cinnapi GEN_LLVM_RUNTIME_IR_HEADER ${core_deps}) add_dependencies(cinnapi GEN_LLVM_RUNTIME_IR_HEADER ${core_deps})
if(NOT CINN_ONLY) if(NOT CINN_ONLY)
target_link_libraries(cinnapi phi) target_link_libraries(cinnapi op_dialect_vjp phi)
add_dependencies(cinnapi phi) add_dependencies(cinnapi op_dialect_vjp phi)
endif() endif()
target_link_libraries(cinnapi ${PYTHON_LIBRARIES}) target_link_libraries(cinnapi ${PYTHON_LIBRARIES})
...@@ -183,6 +183,11 @@ if(WITH_MKL) ...@@ -183,6 +183,11 @@ if(WITH_MKL)
endif() endif()
endif() endif()
if(CINN_ONLY)
target_link_libraries(cinnapi ${flags_dep})
add_dependencies(cinnapi ${flags_dep})
endif()
if(WITH_GPU) if(WITH_GPU)
target_link_libraries( target_link_libraries(
cinnapi cinnapi
...@@ -198,6 +203,11 @@ if(WITH_GPU) ...@@ -198,6 +203,11 @@ if(WITH_GPU)
endif() endif()
endif() endif()
if(WITH_CUTLASS)
target_link_libraries(cinnapi cutlass)
add_dependencies(cinnapi cutlass)
endif()
function(gen_cinncore LINKTYPE) function(gen_cinncore LINKTYPE)
set(CINNCORE_TARGET cinncore) set(CINNCORE_TARGET cinncore)
if(${LINKTYPE} STREQUAL "STATIC") if(${LINKTYPE} STREQUAL "STATIC")
...@@ -221,8 +231,8 @@ function(gen_cinncore LINKTYPE) ...@@ -221,8 +231,8 @@ function(gen_cinncore LINKTYPE)
add_dependencies(${CINNCORE_TARGET} GEN_LLVM_RUNTIME_IR_HEADER ZLIB::ZLIB) add_dependencies(${CINNCORE_TARGET} GEN_LLVM_RUNTIME_IR_HEADER ZLIB::ZLIB)
add_dependencies(${CINNCORE_TARGET} GEN_LLVM_RUNTIME_IR_HEADER ${core_deps}) add_dependencies(${CINNCORE_TARGET} GEN_LLVM_RUNTIME_IR_HEADER ${core_deps})
if(NOT CINN_ONLY) if(NOT CINN_ONLY)
target_link_libraries(${CINNCORE_TARGET} phi) target_link_libraries(${CINNCORE_TARGET} op_dialect_vjp phi)
add_dependencies(${CINNCORE_TARGET} phi) add_dependencies(${CINNCORE_TARGET} op_dialect_vjp phi)
endif() endif()
add_dependencies(${CINNCORE_TARGET} pybind) add_dependencies(${CINNCORE_TARGET} pybind)
...@@ -237,6 +247,11 @@ function(gen_cinncore LINKTYPE) ...@@ -237,6 +247,11 @@ function(gen_cinncore LINKTYPE)
endif() endif()
endif() endif()
if(CINN_ONLY)
target_link_libraries(${CINNCORE_TARGET} ${flags_dep})
add_dependencies(${CINNCORE_TARGET} ${flags_dep})
endif()
if(WITH_GPU) if(WITH_GPU)
target_link_libraries( target_link_libraries(
${CINNCORE_TARGET} ${CINNCORE_TARGET}
...@@ -252,6 +267,11 @@ function(gen_cinncore LINKTYPE) ...@@ -252,6 +267,11 @@ function(gen_cinncore LINKTYPE)
target_link_libraries(${CINNCORE_TARGET} ${CUDA_NVTX_LIB}) target_link_libraries(${CINNCORE_TARGET} ${CUDA_NVTX_LIB})
endif() endif()
endif() endif()
if(WITH_CUTLASS)
target_link_libraries(cinnapi cutlass)
add_dependencies(cinnapi cutlass)
endif()
endfunction() endfunction()
gen_cinncore(STATIC) gen_cinncore(STATIC)
...@@ -262,6 +282,9 @@ set(PUBLISH_LIBS ON) ...@@ -262,6 +282,9 @@ set(PUBLISH_LIBS ON)
if(PUBLISH_LIBS) if(PUBLISH_LIBS)
set(core_includes set(core_includes
"${core_includes};paddle/cinn/runtime/cuda/cinn_cuda_runtime_source.cuh") "${core_includes};paddle/cinn/runtime/cuda/cinn_cuda_runtime_source.cuh")
set(core_includes
"${core_includes};paddle/utils/flags.h;paddle/utils/flags_native.h;paddle/utils/test_macros.h"
)
foreach(header ${core_includes}) foreach(header ${core_includes})
get_filename_component(prefix ${header} DIRECTORY) get_filename_component(prefix ${header} DIRECTORY)
file(COPY ${header} file(COPY ${header}
......
...@@ -5,7 +5,7 @@ set(ABSL_INSTALL_DIR ${THIRD_PARTY_PATH}/install/absl) ...@@ -5,7 +5,7 @@ set(ABSL_INSTALL_DIR ${THIRD_PARTY_PATH}/install/absl)
set(ABSL_PREFIX_DIR ${THIRD_PARTY_PATH}/absl) set(ABSL_PREFIX_DIR ${THIRD_PARTY_PATH}/absl)
set(ABSL_CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS}) set(ABSL_CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS})
set(ABSL_REPOSITORY "https://github.com/abseil/abseil-cpp.git") set(ABSL_REPOSITORY "${GIT_URL}/abseil/abseil-cpp.git")
set(ABSL_TAG "20210324.2") set(ABSL_TAG "20210324.2")
set(OPTIONAL_ARGS set(OPTIONAL_ARGS
......
...@@ -7,7 +7,7 @@ include(ExternalProject) ...@@ -7,7 +7,7 @@ include(ExternalProject)
# clone jitify to Paddle/third_party # clone jitify to Paddle/third_party
set(JITIFY_SOURCE_DIR ${PADDLE_SOURCE_DIR}/third_party/jitify) set(JITIFY_SOURCE_DIR ${PADDLE_SOURCE_DIR}/third_party/jitify)
set(JITIFY_URL https://github.com/NVIDIA/jitify.git) set(JITIFY_URL ${GIT_URL}/NVIDIA/jitify.git)
set(JITIFY_TAG 57de649139c866eb83acacfe50c92ad7c6278776) set(JITIFY_TAG 57de649139c866eb83acacfe50c92ad7c6278776)
ExternalProject_Add( ExternalProject_Add(
......
...@@ -17,6 +17,12 @@ ...@@ -17,6 +17,12 @@
# this experiment option makes Paddle supports lazy loading before CUDA 11.7. # this experiment option makes Paddle supports lazy loading before CUDA 11.7.
if(LINUX) if(LINUX)
if(NOT WITH_NVCC_LAZY)
message(
"EXP_CUDA_MODULE_LOADING_LAZY only works with WITH_NVCC_LAZY=ON on Linux platforms"
)
return()
endif()
if(NOT ON_INFER) if(NOT ON_INFER)
message( message(
"EXP_CUDA_MODULE_LOADING_LAZY only works with ON_INFER=ON on Linux platforms" "EXP_CUDA_MODULE_LOADING_LAZY only works with ON_INFER=ON on Linux platforms"
......
...@@ -13,7 +13,9 @@ ...@@ -13,7 +13,9 @@
# limitations under the License. # limitations under the License.
include(ExternalProject) include(ExternalProject)
if(NOT WITH_ARM)
set(OPENSSL_USE_STATIC_LIBS ON)
endif()
find_package(OpenSSL REQUIRED) find_package(OpenSSL REQUIRED)
message(STATUS "ssl:" ${OPENSSL_SSL_LIBRARY}) message(STATUS "ssl:" ${OPENSSL_SSL_LIBRARY})
...@@ -38,7 +40,7 @@ include_directories(${BRPC_INCLUDE_DIR}) ...@@ -38,7 +40,7 @@ include_directories(${BRPC_INCLUDE_DIR})
# clone brpc to Paddle/third_party # clone brpc to Paddle/third_party
set(BRPC_SOURCE_DIR ${PADDLE_SOURCE_DIR}/third_party/brpc) set(BRPC_SOURCE_DIR ${PADDLE_SOURCE_DIR}/third_party/brpc)
set(BRPC_URL https://github.com/apache/brpc.git) set(BRPC_URL ${GIT_URL}/apache/brpc.git)
set(BRPC_TAG 1.4.0) set(BRPC_TAG 1.4.0)
# Reference https://stackoverflow.com/questions/45414507/pass-a-list-of-prefix-paths-to-externalproject-add-in-cmake-args # Reference https://stackoverflow.com/questions/45414507/pass-a-list-of-prefix-paths-to-externalproject-add-in-cmake-args
...@@ -91,3 +93,16 @@ add_dependencies(brpc extern_brpc) ...@@ -91,3 +93,16 @@ add_dependencies(brpc extern_brpc)
add_definitions(-DBRPC_WITH_GLOG) add_definitions(-DBRPC_WITH_GLOG)
list(APPEND external_project_dependencies brpc) list(APPEND external_project_dependencies brpc)
set(EXTERNAL_BRPC_DEPS
brpc
protobuf
ssl
crypto
leveldb
glog
snappy)
if(NOT WITH_GFLAGS)
set(EXTERNAL_BRPC_DEPS ${EXTERNAL_BRPC_DEPS} gflags)
endif()
include(ExternalProject)
set(CCCL_PATH
"${THIRD_PARTY_PATH}/cccl"
CACHE STRING "A path setting for external_cccl path.")
set(CCCL_PREFIX_DIR ${CCCL_PATH})
set(CCCL_SOURCE_DIR ${PADDLE_SOURCE_DIR}/third_party/cccl)
# The latest commit has bugs in windows, so we set a fix commit.
set(CCCL_TAG 1f6e4bcae0fbf1bbed87f88544d8d2161c490fc1)
execute_process(COMMAND git --git-dir=${CCCL_SOURCE_DIR}/.git
--work-tree=${CCCL_SOURCE_DIR} checkout ${CCCL_TAG})
set(CCCL_INCLUDE_DIR ${CCCL_SOURCE_DIR})
message("CCCL_INCLUDE_DIR is ${CCCL_INCLUDE_DIR}")
include_directories(${CCCL_INCLUDE_DIR})
ExternalProject_Add(
extern_cccl
${EXTERNAL_PROJECT_LOG_ARGS}
SOURCE_DIR ${CCCL_SOURCE_DIR}
PREFIX ${CCCL_PREFIX_DIR}
UPDATE_COMMAND ""
CONFIGURE_COMMAND ""
BUILD_COMMAND ""
INSTALL_COMMAND ""
TEST_COMMAND "")
# update include dir and set cccl first for using
include_directories(BEFORE "${CCCL_SOURCE_DIR}/cub")
include_directories(BEFORE "${CCCL_SOURCE_DIR}/libcudacxx/include")
include_directories(BEFORE "${CCCL_SOURCE_DIR}/thrust")
...@@ -19,7 +19,7 @@ set(CRYPTOPP_INSTALL_DIR ${THIRD_PARTY_PATH}/install/cryptopp) ...@@ -19,7 +19,7 @@ set(CRYPTOPP_INSTALL_DIR ${THIRD_PARTY_PATH}/install/cryptopp)
set(CRYPTOPP_INCLUDE_DIR set(CRYPTOPP_INCLUDE_DIR
"${CRYPTOPP_INSTALL_DIR}/include" "${CRYPTOPP_INSTALL_DIR}/include"
CACHE PATH "cryptopp include directory." FORCE) CACHE PATH "cryptopp include directory." FORCE)
set(CRYPTOPP_REPOSITORY ${GIT_URL}/weidai11/cryptopp.git) set(CRYPTOPP_REPOSITORY https://gitee.com/PaddleGitee/cryptopp.git)
set(CRYPTOPP_TAG CRYPTOPP_8_2_0) set(CRYPTOPP_TAG CRYPTOPP_8_2_0)
if(WIN32) if(WIN32)
...@@ -69,7 +69,7 @@ ExternalProject_Add( ...@@ -69,7 +69,7 @@ ExternalProject_Add(
UPDATE_COMMAND "" UPDATE_COMMAND ""
PATCH_COMMAND PATCH_COMMAND
COMMAND ${CMAKE_COMMAND} -E remove_directory "<SOURCE_DIR>/cmake/" COMMAND ${CMAKE_COMMAND} -E remove_directory "<SOURCE_DIR>/cmake/"
COMMAND git clone ${GIT_URL}/noloader/cryptopp-cmake "<SOURCE_DIR>/cmake" COMMAND git clone https://gitee.com/PaddleGitee/cryptopp-cmake.git "<SOURCE_DIR>/cmake"
COMMAND cd "<SOURCE_DIR>/cmake" && git checkout tags/${CRYPTOPP_TAG} -b COMMAND cd "<SOURCE_DIR>/cmake" && git checkout tags/${CRYPTOPP_TAG} -b
${CRYPTOPP_TAG} ${CRYPTOPP_TAG}
COMMAND ${CMAKE_COMMAND} -E copy_directory "<SOURCE_DIR>/cmake/" COMMAND ${CMAKE_COMMAND} -E copy_directory "<SOURCE_DIR>/cmake/"
......
...@@ -34,7 +34,7 @@ if((NOT DEFINED CUDNN_FRONTEND_NAME) OR (NOT DEFINED CUDNN_FRONTEND_URL)) ...@@ -34,7 +34,7 @@ if((NOT DEFINED CUDNN_FRONTEND_NAME) OR (NOT DEFINED CUDNN_FRONTEND_URL))
"cudnn-frontend" "cudnn-frontend"
CACHE STRING "" FORCE) CACHE STRING "" FORCE)
set(CUDNN_FRONTEND_URL set(CUDNN_FRONTEND_URL
"https://github.com/NVIDIA/cudnn-frontend/archive/refs/tags/${CUDNN_FRONTEND_VER}.tar.gz" "${GIT_URL}/NVIDIA/cudnn-frontend/archive/refs/tags/${CUDNN_FRONTEND_VER}.tar.gz"
CACHE STRING "" FORCE) CACHE STRING "" FORCE)
endif() endif()
set(CUDNN_FRONTEND_CACHE_FILENAME "${CUDNN_FRONTEND_VER}.tar.gz") set(CUDNN_FRONTEND_CACHE_FILENAME "${CUDNN_FRONTEND_VER}.tar.gz")
......
...@@ -25,7 +25,7 @@ if((NOT DEFINED DIRENT_NAME) OR (NOT DEFINED DIRENT_URL)) ...@@ -25,7 +25,7 @@ if((NOT DEFINED DIRENT_NAME) OR (NOT DEFINED DIRENT_URL))
"dirent" "dirent"
CACHE STRING "" FORCE) CACHE STRING "" FORCE)
set(DIRENT_URL set(DIRENT_URL
"https://github.com/tronkko/dirent/archive/refs/tags/1.23.2.tar.gz" "${GIT_URL}/tronkko/dirent/archive/refs/tags/1.23.2.tar.gz"
CACHE STRING "" FORCE) CACHE STRING "" FORCE)
set(DIRENT_CACHE_FILENAME "1.23.2.tar.gz") set(DIRENT_CACHE_FILENAME "1.23.2.tar.gz")
endif() endif()
......
...@@ -14,92 +14,151 @@ ...@@ -14,92 +14,151 @@
include(ExternalProject) include(ExternalProject)
add_definitions(-DPADDLE_WITH_FLASHATTN) if(WITH_ROCM)
set(FLASHATTN_PREFIX_DIR ${THIRD_PARTY_PATH}/flashattn)
set(FLASHATTN_SOURCE_SUBDIR csrc)
set(FLASHATTN_INSTALL_DIR ${THIRD_PARTY_PATH}/install/flashattn)
set(SOURCE_DIR ${PADDLE_SOURCE_DIR}/third_party/flashattn)
set(FLASHATTN_TAG 18106c1ba0ccee81b97ca947397c08a141815a47)
set(FLASHATTN_INCLUDE_DIR
"${FLASHATTN_INSTALL_DIR}/include"
CACHE PATH "flash-attn Directory" FORCE)
set(FLASHATTN_LIB_DIR
"${FLASHATTN_INSTALL_DIR}/lib"
CACHE PATH "flash-attn Library Directory" FORCE)
if(WIN32)
set(FLASHATTN_LIBRARIES
"${FLASHATTN_INSTALL_DIR}/bin/flashattn${CMAKE_SHARED_LIBRARY_SUFFIX}"
CACHE FILEPATH "flash-attn Library" FORCE)
else()
set(FLASHATTN_LIBRARIES
"${FLASHATTN_INSTALL_DIR}/lib/libflashattn${CMAKE_SHARED_LIBRARY_SUFFIX}"
CACHE FILEPATH "flash-attn Library" FORCE)
endif()
if(CMAKE_CXX_COMPILER_ID STREQUAL "Clang" set(FLASHATTN_PREFIX_DIR ${THIRD_PARTY_PATH}/flashattn_hip)
OR CMAKE_CXX_COMPILER_ID STREQUAL "AppleClang" set(FLASHATTN_INSTALL_DIR ${THIRD_PARTY_PATH}/install/flashattn)
OR WIN32) set(SOURCE_DIR ${PADDLE_SOURCE_DIR}/third_party/flashattn_hip)
set(USE_OMP OFF)
else() set(FLASHATTN_INCLUDE_DIR
set(USE_OMP ON) "${FLASHATTN_INSTALL_DIR}/include"
endif() CACHE PATH "flash-attn Directory" FORCE)
set(FLASHATTN_LIB_DIR
"${FLASHATTN_INSTALL_DIR}/lib"
CACHE PATH "flash-attn Library Directory" FORCE)
set(FLASHATTN_LIBRARIES
"${FLASHATTN_INSTALL_DIR}/lib/libflashattn${CMAKE_SHARED_LIBRARY_SUFFIX}"
CACHE FILEPATH "flash-attn Library" FORCE)
set(FLASHATTN_C_FLAGS ${CMAKE_C_FLAGS})
set(FLASHATTN_C_FLAGS_DEBUG ${CMAKE_C_FLAGS_DEBUG})
set(FLASHATTN_C_FLAGS_RELEASE ${CMAKE_C_FLAGS_RELEASE})
set(FLASHATTN_CXX_FLAGS "${CMAKE_CXX_FLAGS} -w -fPIC -O3 -std=c++17 -D__HIP_PLATFORM_HCC__=1 --offload-arch=gfx906 --offload-arch=gfx926 -D__gfx90a__")
set(FLASHATTN_CXX_FLAGS_RELEASE ${CMAKE_CXX_FLAGS_RELEASE})
set(FLASHATTN_CXX_FLAGS_DEBUG ${CMAKE_CXX_FLAGS_DEBUG})
ExternalProject_Add(
extern_flashattn
SOURCE_DIR ${SOURCE_DIR}
PREFIX ${FLASHATTN_PREFIX_DIR}
UPDATE_COMMAND ""
PATCH_COMMAND ""
#BUILD_ALWAYS 1
CMAKE_ARGS -DCMAKE_CXX_COMPILER=${ROCM_PATH}/bin/hipcc
-DCMAKE_C_COMPILER=${CMAKE_C_COMPILER}
-DCMAKE_C_FLAGS=${FLASHATTN_C_FLAGS}
-DCMAKE_C_FLAGS_DEBUG=${FLASHATTN_C_FLAGS_DEBUG}
-DCMAKE_C_FLAGS_RELEASE=${FLASHATTN_C_FLAGS_RELEASE}
-DCMAKE_CXX_FLAGS=${FLASHATTN_CXX_FLAGS}
-DCMAKE_CXX_FLAGS_RELEASE=${FLASHATTN_CXX_FLAGS_RELEASE}
-DCMAKE_CXX_FLAGS_DEBUG=${FLASHATTN_CXX_FLAGS_DEBUG}
-DCMAKE_INSTALL_PREFIX=${FLASHATTN_INSTALL_DIR}
-DWITH_GPU=${WITH_GPU}
-DCMAKE_CUDA_COMPILER=${CMAKE_CUDA_COMPILER}
-DWITH_ROCM=${WITH_ROCM}
-DWITH_OMP=${USE_OMP}
-DBUILD_SHARED=ON
-DCMAKE_POSITION_INDEPENDENT_CODE=ON
-DCMAKE_BUILD_TYPE=${THIRD_PARTY_BUILD_TYPE}
-DCMAKE_JOB_POOL_COMPILE:STRING=compile
-DCMAKE_JOB_POOLS:STRING=compile=4
${EXTERNAL_OPTIONAL_ARGS}
CMAKE_CACHE_ARGS
-DCMAKE_BUILD_TYPE:STRING=${THIRD_PARTY_BUILD_TYPE}
-DCMAKE_POSITION_INDEPENDENT_CODE:BOOL=ON
-DCMAKE_INSTALL_PREFIX:PATH=${FLASHATTN_INSTALL_DIR}
BUILD_BYPRODUCTS ${FLASHATTN_LIBRARIES})
if(WIN32)
set(FLASHATTN_C_FLAGS $<FILTER:${CMAKE_C_FLAGS},EXCLUDE,/Zc:inline>)
set(FLASHATTN_C_FLAGS_DEBUG
$<FILTER:${CMAKE_C_FLAGS_DEBUG},EXCLUDE,/Zc:inline>)
set(FLASHATTN_C_FLAGS_RELEASE
$<FILTER:${CMAKE_C_FLAGS_RELEASE},EXCLUDE,/Zc:inline>)
set(FLASHATTN_CXX_FLAGS $<FILTER:${CMAKE_CXX_FLAGS},EXCLUDE,/Zc:inline>)
set(FLASHATTN_CXX_FLAGS_RELEASE
$<FILTER:${CMAKE_CXX_FLAGS_RELEASE},EXCLUDE,/Zc:inline>)
set(FLASHATTN_CXX_FLAGS_DEBUG
$<FILTER:${CMAKE_CXX_FLAGS_DEBUG},EXCLUDE,/Zc:inline>)
else() else()
set(FLASHATTN_C_FLAGS ${CMAKE_C_FLAGS})
set(FLASHATTN_C_FLAGS_DEBUG ${CMAKE_C_FLAGS_DEBUG})
set(FLASHATTN_C_FLAGS_RELEASE ${CMAKE_C_FLAGS_RELEASE})
set(FLASHATTN_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++17")
set(FLASHATTN_CXX_FLAGS_RELEASE ${CMAKE_CXX_FLAGS_RELEASE})
set(FLASHATTN_CXX_FLAGS_DEBUG ${CMAKE_CXX_FLAGS_DEBUG})
endif()
ExternalProject_Add( add_definitions(-DPADDLE_WITH_FLASHATTN)
extern_flashattn
${EXTERNAL_PROJECT_LOG_ARGS} set(FLASHATTN_PREFIX_DIR ${THIRD_PARTY_PATH}/flashattn)
SOURCE_DIR ${SOURCE_DIR} set(FLASHATTN_SOURCE_SUBDIR csrc)
PREFIX ${FLASHATTN_PREFIX_DIR} set(FLASHATTN_INSTALL_DIR ${THIRD_PARTY_PATH}/install/flashattn)
SOURCE_SUBDIR ${FLASHATTN_SOURCE_SUBDIR} set(SOURCE_DIR ${PADDLE_SOURCE_DIR}/third_party/flashattn)
UPDATE_COMMAND "" set(FLASHATTN_TAG 18106c1ba0ccee81b97ca947397c08a141815a47)
PATCH_COMMAND ""
#BUILD_ALWAYS 1 set(FLASHATTN_INCLUDE_DIR
CMAKE_ARGS -DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER} "${FLASHATTN_INSTALL_DIR}/include"
-DCMAKE_C_COMPILER=${CMAKE_C_COMPILER} CACHE PATH "flash-attn Directory" FORCE)
-DCMAKE_C_FLAGS=${FLASHATTN_C_FLAGS} set(FLASHATTN_LIB_DIR
-DCMAKE_C_FLAGS_DEBUG=${FLASHATTN_C_FLAGS_DEBUG} "${FLASHATTN_INSTALL_DIR}/lib"
-DCMAKE_C_FLAGS_RELEASE=${FLASHATTN_C_FLAGS_RELEASE} CACHE PATH "flash-attn Library Directory" FORCE)
-DCMAKE_CXX_FLAGS=${FLASHATTN_CXX_FLAGS}
-DCMAKE_CXX_FLAGS_RELEASE=${FLASHATTN_CXX_FLAGS_RELEASE} if(WIN32)
-DCMAKE_CXX_FLAGS_DEBUG=${FLASHATTN_CXX_FLAGS_DEBUG} set(FLASHATTN_LIBRARIES
-DCMAKE_INSTALL_PREFIX=${FLASHATTN_INSTALL_DIR} "${FLASHATTN_INSTALL_DIR}/bin/flashattn${CMAKE_SHARED_LIBRARY_SUFFIX}"
-DWITH_GPU=${WITH_GPU} CACHE FILEPATH "flash-attn Library" FORCE)
-DCMAKE_CUDA_COMPILER=${CMAKE_CUDA_COMPILER} else()
-DWITH_ROCM=${WITH_ROCM} set(FLASHATTN_LIBRARIES
-DWITH_OMP=${USE_OMP} "${FLASHATTN_INSTALL_DIR}/lib/libflashattn${CMAKE_SHARED_LIBRARY_SUFFIX}"
-DBUILD_SHARED=ON CACHE FILEPATH "flash-attn Library" FORCE)
-DCMAKE_POSITION_INDEPENDENT_CODE=ON endif()
-DCMAKE_BUILD_TYPE=${THIRD_PARTY_BUILD_TYPE}
-DCMAKE_JOB_POOL_COMPILE:STRING=compile if(CMAKE_CXX_COMPILER_ID STREQUAL "Clang"
-DCMAKE_JOB_POOLS:STRING=compile=4 OR CMAKE_CXX_COMPILER_ID STREQUAL "AppleClang"
${EXTERNAL_OPTIONAL_ARGS} OR WIN32)
CMAKE_CACHE_ARGS set(USE_OMP OFF)
-DCMAKE_BUILD_TYPE:STRING=${THIRD_PARTY_BUILD_TYPE} else()
-DCMAKE_POSITION_INDEPENDENT_CODE:BOOL=ON set(USE_OMP ON)
-DCMAKE_INSTALL_PREFIX:PATH=${FLASHATTN_INSTALL_DIR} endif()
BUILD_BYPRODUCTS ${FLASHATTN_LIBRARIES})
if(WIN32)
set(FLASHATTN_C_FLAGS $<FILTER:${CMAKE_C_FLAGS},EXCLUDE,/Zc:inline>)
set(FLASHATTN_C_FLAGS_DEBUG
$<FILTER:${CMAKE_C_FLAGS_DEBUG},EXCLUDE,/Zc:inline>)
set(FLASHATTN_C_FLAGS_RELEASE
$<FILTER:${CMAKE_C_FLAGS_RELEASE},EXCLUDE,/Zc:inline>)
set(FLASHATTN_CXX_FLAGS $<FILTER:${CMAKE_CXX_FLAGS},EXCLUDE,/Zc:inline>)
set(FLASHATTN_CXX_FLAGS_RELEASE
$<FILTER:${CMAKE_CXX_FLAGS_RELEASE},EXCLUDE,/Zc:inline>)
set(FLASHATTN_CXX_FLAGS_DEBUG
$<FILTER:${CMAKE_CXX_FLAGS_DEBUG},EXCLUDE,/Zc:inline>)
else()
set(FLASHATTN_C_FLAGS ${CMAKE_C_FLAGS})
set(FLASHATTN_C_FLAGS_DEBUG ${CMAKE_C_FLAGS_DEBUG})
set(FLASHATTN_C_FLAGS_RELEASE ${CMAKE_C_FLAGS_RELEASE})
set(FLASHATTN_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++17")
set(FLASHATTN_CXX_FLAGS_RELEASE ${CMAKE_CXX_FLAGS_RELEASE})
set(FLASHATTN_CXX_FLAGS_DEBUG ${CMAKE_CXX_FLAGS_DEBUG})
endif()
ExternalProject_Add(
extern_flashattn
${EXTERNAL_PROJECT_LOG_ARGS}
SOURCE_DIR ${SOURCE_DIR}
PREFIX ${FLASHATTN_PREFIX_DIR}
SOURCE_SUBDIR ${FLASHATTN_SOURCE_SUBDIR}
UPDATE_COMMAND ""
PATCH_COMMAND ""
#BUILD_ALWAYS 1
CMAKE_ARGS -DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}
-DCMAKE_C_COMPILER=${CMAKE_C_COMPILER}
-DCMAKE_C_FLAGS=${FLASHATTN_C_FLAGS}
-DCMAKE_C_FLAGS_DEBUG=${FLASHATTN_C_FLAGS_DEBUG}
-DCMAKE_C_FLAGS_RELEASE=${FLASHATTN_C_FLAGS_RELEASE}
-DCMAKE_CXX_FLAGS=${FLASHATTN_CXX_FLAGS}
-DCMAKE_CXX_FLAGS_RELEASE=${FLASHATTN_CXX_FLAGS_RELEASE}
-DCMAKE_CXX_FLAGS_DEBUG=${FLASHATTN_CXX_FLAGS_DEBUG}
-DCMAKE_INSTALL_PREFIX=${FLASHATTN_INSTALL_DIR}
-DWITH_GPU=${WITH_GPU}
-DCMAKE_CUDA_COMPILER=${CMAKE_CUDA_COMPILER}
-DWITH_ROCM=${WITH_ROCM}
-DWITH_OMP=${USE_OMP}
-DBUILD_SHARED=ON
-DCMAKE_POSITION_INDEPENDENT_CODE=ON
-DCMAKE_BUILD_TYPE=${THIRD_PARTY_BUILD_TYPE}
-DCMAKE_JOB_POOL_COMPILE:STRING=compile
-DCMAKE_JOB_POOLS:STRING=compile=4
${EXTERNAL_OPTIONAL_ARGS}
CMAKE_CACHE_ARGS
-DCMAKE_BUILD_TYPE:STRING=${THIRD_PARTY_BUILD_TYPE}
-DCMAKE_POSITION_INDEPENDENT_CODE:BOOL=ON
-DCMAKE_INSTALL_PREFIX:PATH=${FLASHATTN_INSTALL_DIR}
BUILD_BYPRODUCTS ${FLASHATTN_LIBRARIES})
endif()
message(STATUS "flash-attn library: ${FLASHATTN_LIBRARIES}") message(STATUS "flash-attn library: ${FLASHATTN_LIBRARIES}")
get_filename_component(FLASHATTN_LIBRARY_PATH ${FLASHATTN_LIBRARIES} DIRECTORY) get_filename_component(FLASHATTN_LIBRARY_PATH ${FLASHATTN_LIBRARIES} DIRECTORY)
......
...@@ -102,3 +102,15 @@ if(WIN32) ...@@ -102,3 +102,15 @@ if(WIN32)
set_property(GLOBAL PROPERTY OS_DEPENDENCY_MODULES shlwapi.lib) set_property(GLOBAL PROPERTY OS_DEPENDENCY_MODULES shlwapi.lib)
endif() endif()
endif() endif()
# We have implemented a custom flags tool paddle_flags to replace gflags.
# User can also choose to use gflags by setting WITH_GFLAGS=ON. But when
# using paddle_flags, gflags is also needed for other third party libraries
# including glog and brpc. So we can not remove gflags completely.
set(flags_dep)
if(WITH_GFLAGS)
list(APPEND flags_dep gflags)
add_definitions(-DPADDLE_WITH_GFLAGS)
else()
list(APPEND flags_dep paddle_flags)
endif()
...@@ -37,7 +37,7 @@ if(WITH_GPU) ...@@ -37,7 +37,7 @@ if(WITH_GPU)
file(TO_NATIVE_PATH ${PADDLE_SOURCE_DIR}/patches/gloo/device.cc.patch file(TO_NATIVE_PATH ${PADDLE_SOURCE_DIR}/patches/gloo/device.cc.patch
native_dst) native_dst)
set(GLOO_PATCH_COMMAND set(GLOO_PATCH_COMMAND
git checkout -- . && git checkout ${GLOO_TAG} &&patch -Nd git checkout -- . && git checkout ${GLOO_TAG} && patch -Nd
${SOURCE_DIR}/gloo/transport/tcp < ${native_dst}) ${SOURCE_DIR}/gloo/transport/tcp < ${native_dst})
endif() endif()
endif() endif()
...@@ -61,6 +61,17 @@ if(CMAKE_COMPILER_IS_GNUCC) ...@@ -61,6 +61,17 @@ if(CMAKE_COMPILER_IS_GNUCC)
${SOURCE_DIR}/gloo/ < ${types_header}) ${SOURCE_DIR}/gloo/ < ${types_header})
endif() endif()
endif() endif()
file(TO_NATIVE_PATH ${PADDLE_SOURCE_DIR}/patches/gloo/linux.cc.patch
linux_cc_ethtool)
if(GLOO_PATCH_COMMAND STREQUAL "")
set(GLOO_PATCH_COMMAND git checkout -- . && git checkout ${GLOO_TAG} && patch
-Nd ${SOURCE_DIR}/gloo/common/ < ${linux_cc_ethtool})
else()
set(GLOO_PATCH_COMMAND ${GLOO_PATCH_COMMAND} && patch -Nd
${SOURCE_DIR}/gloo/common/ < ${linux_cc_ethtool})
endif()
include_directories(${GLOO_INCLUDE_DIR}) include_directories(${GLOO_INCLUDE_DIR})
ExternalProject_Add( ExternalProject_Add(
......
...@@ -5,9 +5,7 @@ set(JEMALLOC_DOWNLOAD_DIR ...@@ -5,9 +5,7 @@ set(JEMALLOC_DOWNLOAD_DIR
set(JEMALLOC_PROJECT "extern_jemalloc") set(JEMALLOC_PROJECT "extern_jemalloc")
set(JEMALLOC_BUILD ${THIRD_PARTY_PATH}/jemalloc/src/extern_jemalloc) set(JEMALLOC_BUILD ${THIRD_PARTY_PATH}/jemalloc/src/extern_jemalloc)
set(JEMALLOC_PREFIX_DIR ${THIRD_PARTY_PATH}/jemalloc) set(JEMALLOC_PREFIX_DIR ${THIRD_PARTY_PATH}/jemalloc)
set(JEMALLOC_URL set(JEMALLOC_URL https://paddle-ci.gz.bcebos.com/jemalloc-5.1.0.tar.bz2)
https://github.com/jemalloc/jemalloc/releases/download/5.1.0/jemalloc-5.1.0.tar.bz2
)
set(JEMALLOC_INSTALL ${THIRD_PARTY_PATH}/install/jemalloc) set(JEMALLOC_INSTALL ${THIRD_PARTY_PATH}/install/jemalloc)
set(JEMALLOC_INCLUDE_DIR ${JEMALLOC_INSTALL}/include) set(JEMALLOC_INCLUDE_DIR ${JEMALLOC_INSTALL}/include)
......
...@@ -31,9 +31,8 @@ set(LIBXSMMNOBLAS_LIB "${LIBXSMM_LIBRARY_DIR}/libxsmmnoblas.a") ...@@ -31,9 +31,8 @@ set(LIBXSMMNOBLAS_LIB "${LIBXSMM_LIBRARY_DIR}/libxsmmnoblas.a")
file(GLOB LIBXSMM_SOURCE_FILE_LIST ${LIBXSMM_SOURCE_DIR}) file(GLOB LIBXSMM_SOURCE_FILE_LIST ${LIBXSMM_SOURCE_DIR})
list(LENGTH LIBXSMM_SOURCE_FILE_LIST RES_LEN) list(LENGTH LIBXSMM_SOURCE_FILE_LIST RES_LEN)
if(RES_LEN EQUAL 0) if(RES_LEN EQUAL 0)
execute_process( execute_process(COMMAND ${GIT_EXECUTABLE} clone -b ${LIBXSMM_TAG}
COMMAND ${GIT_EXECUTABLE} clone -b ${LIBXSMM_TAG} "${GIT_URL}/hfp/libxsmm.git" ${LIBXSMM_SOURCE_DIR})
"https://github.com/hfp/libxsmm.git" ${LIBXSMM_SOURCE_DIR})
else() else()
# check git tag # check git tag
execute_process( execute_process(
......
...@@ -44,19 +44,19 @@ set(ONNXRUNTIME_DOWNLOAD_DIR ...@@ -44,19 +44,19 @@ set(ONNXRUNTIME_DOWNLOAD_DIR
if(WIN32) if(WIN32)
set(ONNXRUNTIME_URL set(ONNXRUNTIME_URL
"https://github.com/microsoft/onnxruntime/releases/download/v${ONNXRUNTIME_VERSION}/onnxruntime-win-x64-${ONNXRUNTIME_VERSION}.zip" "${GIT_URL}/microsoft/onnxruntime/releases/download/v${ONNXRUNTIME_VERSION}/onnxruntime-win-x64-${ONNXRUNTIME_VERSION}.zip"
) )
set(ONNXRUNTIME_URL_MD5 f21d6bd1feef15935a5f4e1007797593) set(ONNXRUNTIME_URL_MD5 f21d6bd1feef15935a5f4e1007797593)
set(ONNXRUNTIME_CACHE_EXTENSION "zip") set(ONNXRUNTIME_CACHE_EXTENSION "zip")
elseif(APPLE) elseif(APPLE)
set(ONNXRUNTIME_URL set(ONNXRUNTIME_URL
"https://github.com/microsoft/onnxruntime/releases/download/v${ONNXRUNTIME_VERSION}/onnxruntime-osx-x86_64-${ONNXRUNTIME_VERSION}.tgz" "${GIT_URL}/microsoft/onnxruntime/releases/download/v${ONNXRUNTIME_VERSION}/onnxruntime-osx-x86_64-${ONNXRUNTIME_VERSION}.tgz"
) )
set(ONNXRUNTIME_URL_MD5 6a6f6b7df97587da59976042f475d3f4) set(ONNXRUNTIME_URL_MD5 6a6f6b7df97587da59976042f475d3f4)
set(ONNXRUNTIME_CACHE_EXTENSION "tgz") set(ONNXRUNTIME_CACHE_EXTENSION "tgz")
else() else()
set(ONNXRUNTIME_URL set(ONNXRUNTIME_URL
"https://github.com/microsoft/onnxruntime/releases/download/v${ONNXRUNTIME_VERSION}/onnxruntime-linux-x64-${ONNXRUNTIME_VERSION}.tgz" "${GIT_URL}/microsoft/onnxruntime/releases/download/v${ONNXRUNTIME_VERSION}/onnxruntime-linux-x64-${ONNXRUNTIME_VERSION}.tgz"
) )
set(ONNXRUNTIME_URL_MD5 ce3f2376854b3da4b483d6989666995a) set(ONNXRUNTIME_URL_MD5 ce3f2376854b3da4b483d6989666995a)
set(ONNXRUNTIME_CACHE_EXTENSION "tgz") set(ONNXRUNTIME_CACHE_EXTENSION "tgz")
......
...@@ -46,9 +46,8 @@ endif() ...@@ -46,9 +46,8 @@ endif()
file(GLOB CBLAS_SOURCE_FILE_LIST ${CBLAS_SOURCE_DIR}) file(GLOB CBLAS_SOURCE_FILE_LIST ${CBLAS_SOURCE_DIR})
list(LENGTH CBLAS_SOURCE_FILE_LIST RES_LEN) list(LENGTH CBLAS_SOURCE_FILE_LIST RES_LEN)
if(RES_LEN EQUAL 0) if(RES_LEN EQUAL 0)
execute_process( execute_process(COMMAND ${GIT_EXECUTABLE} clone -b ${CBLAS_TAG}
COMMAND ${GIT_EXECUTABLE} clone -b ${CBLAS_TAG} "${GIT_URL}/xianyi/OpenBLAS.git" ${CBLAS_SOURCE_DIR})
"https://github.com/xianyi/OpenBLAS.git" ${CBLAS_SOURCE_DIR})
else() else()
# check git tag # check git tag
execute_process( execute_process(
...@@ -93,7 +92,7 @@ if(NOT WIN32) ...@@ -93,7 +92,7 @@ if(NOT WIN32)
PREFIX ${CBLAS_PREFIX_DIR} PREFIX ${CBLAS_PREFIX_DIR}
INSTALL_DIR ${CBLAS_INSTALL_DIR} INSTALL_DIR ${CBLAS_INSTALL_DIR}
BUILD_IN_SOURCE 1 BUILD_IN_SOURCE 1
BUILD_COMMAND make ${ARM_ARGS} -j${NPROC} ${COMMON_ARGS} ${OPTIONAL_ARGS} BUILD_COMMAND make ${ARM_ARGS} -s -j${NPROC} ${COMMON_ARGS} ${OPTIONAL_ARGS}
INSTALL_COMMAND make install NO_SHARED=1 NO_LAPACK=1 PREFIX=<INSTALL_DIR> INSTALL_COMMAND make install NO_SHARED=1 NO_LAPACK=1 PREFIX=<INSTALL_DIR>
UPDATE_COMMAND "" UPDATE_COMMAND ""
CONFIGURE_COMMAND "" CONFIGURE_COMMAND ""
...@@ -121,6 +120,7 @@ else() ...@@ -121,6 +120,7 @@ else()
-DCMAKE_POSITION_INDEPENDENT_CODE=ON -DCMAKE_POSITION_INDEPENDENT_CODE=ON
-DCMAKE_BUILD_TYPE=${THIRD_PARTY_BUILD_TYPE} -DCMAKE_BUILD_TYPE=${THIRD_PARTY_BUILD_TYPE}
-DBUILD_SHARED_LIBS=ON -DBUILD_SHARED_LIBS=ON
-DCMAKE_VERBOSE_MAKEFILE=OFF
-DMSVC_STATIC_CRT=${MSVC_STATIC_CRT} -DMSVC_STATIC_CRT=${MSVC_STATIC_CRT}
${EXTERNAL_OPTIONAL_ARGS} ${EXTERNAL_OPTIONAL_ARGS}
CMAKE_CACHE_ARGS CMAKE_CACHE_ARGS
......
...@@ -71,19 +71,19 @@ endif() ...@@ -71,19 +71,19 @@ endif()
if(WIN32) if(WIN32)
set(PADDLE2ONNX_URL set(PADDLE2ONNX_URL
"https://github.com/PaddlePaddle/Paddle2ONNX/releases/download/v${PADDLE2ONNX_VERSION}/paddle2onnx-win-x64-${PADDLE2ONNX_VERSION}.zip" "${GIT_URL}/PaddlePaddle/Paddle2ONNX/releases/download/v${PADDLE2ONNX_VERSION}/paddle2onnx-win-x64-${PADDLE2ONNX_VERSION}.zip"
) )
set(PADDLE2ONNX_URL_MD5 "122b864cb57338191a7e9ef5f607c4ba") set(PADDLE2ONNX_URL_MD5 "122b864cb57338191a7e9ef5f607c4ba")
set(PADDLE2ONNX_CACHE_EXTENSION "zip") set(PADDLE2ONNX_CACHE_EXTENSION "zip")
elseif(APPLE) elseif(APPLE)
set(PADDLE2ONNX_URL set(PADDLE2ONNX_URL
"https://github.com/PaddlePaddle/Paddle2ONNX/releases/download/v${PADDLE2ONNX_VERSION}/paddle2onnx-osx-x86_64-${PADDLE2ONNX_VERSION}.tgz" "${GIT_URL}/PaddlePaddle/Paddle2ONNX/releases/download/v${PADDLE2ONNX_VERSION}/paddle2onnx-osx-x86_64-${PADDLE2ONNX_VERSION}.tgz"
) )
set(PADDLE2ONNX_URL_MD5 "32a4381ff8441b69d58ef0fd6fd919eb") set(PADDLE2ONNX_URL_MD5 "32a4381ff8441b69d58ef0fd6fd919eb")
set(PADDLE2ONNX_CACHE_EXTENSION "tgz") set(PADDLE2ONNX_CACHE_EXTENSION "tgz")
else() else()
set(PADDLE2ONNX_URL set(PADDLE2ONNX_URL
"https://github.com/PaddlePaddle/Paddle2ONNX/releases/download/v${PADDLE2ONNX_VERSION}/paddle2onnx-linux-x64-${PADDLE2ONNX_VERSION}.tgz" "${GIT_URL}/PaddlePaddle/Paddle2ONNX/releases/download/v${PADDLE2ONNX_VERSION}/paddle2onnx-linux-x64-${PADDLE2ONNX_VERSION}.tgz"
) )
set(PADDLE2ONNX_URL_MD5 "3fbb074987ba241327797f76514e937f") set(PADDLE2ONNX_URL_MD5 "3fbb074987ba241327797f76514e937f")
set(PADDLE2ONNX_CACHE_EXTENSION "tgz") set(PADDLE2ONNX_CACHE_EXTENSION "tgz")
......
...@@ -182,7 +182,7 @@ if(NOT "${PROTOBUF_ROOT}" STREQUAL "") ...@@ -182,7 +182,7 @@ if(NOT "${PROTOBUF_ROOT}" STREQUAL "")
endif() endif()
endif() endif()
function(build_protobuf TARGET_NAME BUILD_FOR_HOST) function(build_protobuf TARGET_NAME)
string(REPLACE "extern_" "" TARGET_DIR_NAME "${TARGET_NAME}") string(REPLACE "extern_" "" TARGET_DIR_NAME "${TARGET_NAME}")
set(PROTOBUF_PREFIX_DIR ${THIRD_PARTY_PATH}/${TARGET_DIR_NAME}) set(PROTOBUF_PREFIX_DIR ${THIRD_PARTY_PATH}/${TARGET_DIR_NAME})
set(PROTOBUF_SOURCE_DIR set(PROTOBUF_SOURCE_DIR
...@@ -210,22 +210,18 @@ function(build_protobuf TARGET_NAME BUILD_FOR_HOST) ...@@ -210,22 +210,18 @@ function(build_protobuf TARGET_NAME BUILD_FOR_HOST)
PARENT_SCOPE) PARENT_SCOPE)
set(OPTIONAL_CACHE_ARGS "") set(OPTIONAL_CACHE_ARGS "")
set(OPTIONAL_ARGS "") set(OPTIONAL_ARGS
if(BUILD_FOR_HOST) "-DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}"
set(OPTIONAL_ARGS "-Dprotobuf_WITH_ZLIB=OFF") "-DCMAKE_C_COMPILER=${CMAKE_C_COMPILER}"
else() "-DCMAKE_C_FLAGS=${CMAKE_C_FLAGS}"
set(OPTIONAL_ARGS "-DCMAKE_C_FLAGS_DEBUG=${CMAKE_C_FLAGS_DEBUG}"
"-DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}" "-DCMAKE_C_FLAGS_RELEASE=${CMAKE_C_FLAGS_RELEASE}"
"-DCMAKE_C_COMPILER=${CMAKE_C_COMPILER}" "-DCMAKE_CXX_FLAGS=${CMAKE_CXX_FLAGS}"
"-DCMAKE_C_FLAGS=${CMAKE_C_FLAGS}" "-DCMAKE_CXX_FLAGS_RELEASE=${CMAKE_CXX_FLAGS_RELEASE}"
"-DCMAKE_C_FLAGS_DEBUG=${CMAKE_C_FLAGS_DEBUG}" "-DCMAKE_CXX_FLAGS_DEBUG=${CMAKE_CXX_FLAGS_DEBUG}"
"-DCMAKE_C_FLAGS_RELEASE=${CMAKE_C_FLAGS_RELEASE}" "-Dprotobuf_WITH_ZLIB=ON"
"-DCMAKE_CXX_FLAGS=${CMAKE_CXX_FLAGS}" ${EXTERNAL_OPTIONAL_ARGS})
"-DCMAKE_CXX_FLAGS_RELEASE=${CMAKE_CXX_FLAGS_RELEASE}" if(NOT APPLE)
"-DCMAKE_CXX_FLAGS_DEBUG=${CMAKE_CXX_FLAGS_DEBUG}"
"-Dprotobuf_WITH_ZLIB=ON"
"-DZLIB_ROOT:FILEPATH=${ZLIB_ROOT}"
${EXTERNAL_OPTIONAL_ARGS})
set(OPTIONAL_CACHE_ARGS "-DZLIB_ROOT:STRING=${ZLIB_ROOT}") set(OPTIONAL_CACHE_ARGS "-DZLIB_ROOT:STRING=${ZLIB_ROOT}")
endif() endif()
if(WIN32) if(WIN32)
...@@ -244,7 +240,7 @@ function(build_protobuf TARGET_NAME BUILD_FOR_HOST) ...@@ -244,7 +240,7 @@ function(build_protobuf TARGET_NAME BUILD_FOR_HOST)
set(PROTOBUF_TAG 01a05a53f40ca2ac5f0af10c6cc0810bee39b792) set(PROTOBUF_TAG 01a05a53f40ca2ac5f0af10c6cc0810bee39b792)
else() else()
if(WITH_PSLIB) if(WITH_PSLIB)
set(PROTOBUF_REPOSITORY "https://github.com/google/protobuf.git") set(PROTOBUF_REPOSITORY "${GIT_URL}/google/protobuf.git")
set(PROTOBUF_TAG "9f75c5aa851cd877fb0d93ccc31b8567a6706546") set(PROTOBUF_TAG "9f75c5aa851cd877fb0d93ccc31b8567a6706546")
else() else()
set(PROTOBUF_REPOSITORY ${GIT_URL}/protocolbuffers/protobuf.git) set(PROTOBUF_REPOSITORY ${GIT_URL}/protocolbuffers/protobuf.git)
...@@ -339,7 +335,7 @@ else() ...@@ -339,7 +335,7 @@ else()
endif() endif()
if(NOT PROTOBUF_FOUND) if(NOT PROTOBUF_FOUND)
build_protobuf(extern_protobuf FALSE) build_protobuf(extern_protobuf)
set(PROTOBUF_INCLUDE_DIR set(PROTOBUF_INCLUDE_DIR
${extern_protobuf_INCLUDE_DIR} ${extern_protobuf_INCLUDE_DIR}
......
...@@ -24,9 +24,9 @@ set(XPU_XFT_LIB_NAME "libxft.so") ...@@ -24,9 +24,9 @@ set(XPU_XFT_LIB_NAME "libxft.so")
set(XPU_XPTI_LIB_NAME "libxpti.so") set(XPU_XPTI_LIB_NAME "libxpti.so")
if(NOT DEFINED XPU_BASE_DATE) if(NOT DEFINED XPU_BASE_DATE)
set(XPU_BASE_DATE "20230810") set(XPU_BASE_DATE "20231114")
endif() endif()
set(XPU_XCCL_BASE_VERSION "1.0.53.6") set(XPU_XCCL_BASE_VERSION "1.1.6.1")
if(NOT DEFINED XPU_XFT_BASE_VERSION) if(NOT DEFINED XPU_XFT_BASE_VERSION)
set(XPU_XFT_BASE_VERSION "20230602") set(XPU_XFT_BASE_VERSION "20230602")
endif() endif()
......
...@@ -141,6 +141,11 @@ if(NOT WIN32) ...@@ -141,6 +141,11 @@ if(NOT WIN32)
set(COMMON_FLAGS set(COMMON_FLAGS
-fPIC -fPIC
-fno-omit-frame-pointer -fno-omit-frame-pointer
-pipe
-ffunction-sections
-fdata-sections
-Wl
-gc-sections
-Werror -Werror
-Wall -Wall
-Wextra -Wextra
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment