@@ -25,6 +25,19 @@ set(WARPCTC_INSTALL_DIR ${THIRD_PARTY_PATH}/install/warpctc)
2525set (WARPCTC_REPOSITORY ${GIT_URL} /baidu-research/warp-ctc.git)
2626set (WARPCTC_TAG 37ece0e1bbe8a0019a63ac7e6462c36591c66a5b)
2727
28+ set (WARPCTC_SOURCE_DIR ${THIRD_PARTY_PATH} /warpctc/src/extern_warpctc)
29+ set (WARPCTC_PATCH_COMMAND "" )
30+ set (WARPCTC_CCBIN_OPTION "" )
31+ if (NOT WIN32 AND WITH_GPU)
32+ if (${CMAKE_CUDA_COMPILER_VERSION} LESS 12.0 AND ${CMAKE_CXX_COMPILER_VERSION}
33+ VERSION_GREATER 12.0)
34+ file (TO_NATIVE_PATH
35+ ${PADDLE_SOURCE_DIR} /patches/warpctc/CMakeLists.txt.patch native_src)
36+ set (WARPCTC_PATCH_COMMAND patch -d ${WARPCTC_SOURCE_DIR} < ${native_src} )
37+ set (WARPCTC_CCBIN_OPTION -DCCBIN_COMPILER=${CCBIN_COMPILER} )
38+ endif ()
39+ endif ()
40+
2841set (WARPCTC_INCLUDE_DIR
2942 "${WARPCTC_INSTALL_DIR} /include"
3043 CACHE PATH "Warp-ctc Directory" FORCE)
@@ -112,7 +125,7 @@ else()
112125 GIT_TAG ${WARPCTC_TAG}
113126 PREFIX ${WARPCTC_PREFIX_DIR}
114127 UPDATE_COMMAND ""
115- PATCH_COMMAND ""
128+ PATCH_COMMAND ${WARPCTC_PATCH_COMMAND}
116129 #BUILD_ALWAYS 1
117130 CMAKE_ARGS -DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}
118131 -DCMAKE_C_COMPILER=${CMAKE_C_COMPILER}
@@ -132,7 +145,9 @@ else()
132145 -DBUILD_TESTS=OFF
133146 -DCMAKE_POSITION_INDEPENDENT_CODE=ON
134147 -DCMAKE_BUILD_TYPE=${THIRD_PARTY_BUILD_TYPE}
148+ -DCUDA_TOOLKIT_ROOT_DIR=${CUDA_TOOLKIT_ROOT_DIR}
135149 ${EXTERNAL_OPTIONAL_ARGS}
150+ ${WARPCTC_CCBIN_OPTION}
136151 CMAKE_CACHE_ARGS
137152 -DCMAKE_BUILD_TYPE:STRING =${THIRD_PARTY_BUILD_TYPE}
138153 -DCMAKE_POSITION_INDEPENDENT_CODE:BOOL =ON
0 commit comments