未验证 提交 d1047d0a 编写于 作者: Z Zhou Wei 提交者: GitHub

add WITH_GPU for cudaerror download (#24056)

上级 9388a638
...@@ -135,10 +135,13 @@ copy(inference_lib_dist ...@@ -135,10 +135,13 @@ copy(inference_lib_dist
SRCS ${THREADPOOL_INCLUDE_DIR}/ThreadPool.h SRCS ${THREADPOOL_INCLUDE_DIR}/ThreadPool.h
DSTS ${dst_dir}) DSTS ${dst_dir})
set(dst_dir "${FLUID_INFERENCE_INSTALL_DIR}/third_party/cudaerror/data") # Only GPU need cudaErrorMessage.pb
copy(inference_lib_dist IF(WITH_GPU)
set(dst_dir "${FLUID_INFERENCE_INSTALL_DIR}/third_party/cudaerror/data")
copy(inference_lib_dist
SRCS ${cudaerror_INCLUDE_DIR} SRCS ${cudaerror_INCLUDE_DIR}
DSTS ${dst_dir}) DSTS ${dst_dir})
ENDIF()
# CMakeCache Info # CMakeCache Info
copy(inference_lib_dist copy(inference_lib_dist
......
...@@ -107,12 +107,11 @@ ENDMACRO() ...@@ -107,12 +107,11 @@ ENDMACRO()
# 1. URL: The download url of 3rd dependencies # 1. URL: The download url of 3rd dependencies
# 2. NAME: The name of file, that determin the dirname # 2. NAME: The name of file, that determin the dirname
# #
MACRO(file_download_and_uncompress URL NAME) FUNCTION(file_download_and_uncompress URL NAME)
MESSAGE(STATUS "Download dependence[${NAME}] from ${URL}") MESSAGE(STATUS "Download dependence[${NAME}] from ${URL}")
SET(EXTERNAL_PROJECT_NAME "extern_download_${NAME}") SET(${NAME}_INCLUDE_DIR ${THIRD_PARTY_PATH}/${NAME}/data PARENT_SCOPE)
SET(${NAME}_INCLUDE_DIR ${THIRD_PARTY_PATH}/${NAME}/data)
ExternalProject_Add( ExternalProject_Add(
${EXTERNAL_PROJECT_NAME} extern_download_${NAME}
${EXTERNAL_PROJECT_LOG_ARGS} ${EXTERNAL_PROJECT_LOG_ARGS}
PREFIX ${THIRD_PARTY_PATH}/${NAME} PREFIX ${THIRD_PARTY_PATH}/${NAME}
URL ${URL} URL ${URL}
...@@ -124,8 +123,8 @@ MACRO(file_download_and_uncompress URL NAME) ...@@ -124,8 +123,8 @@ MACRO(file_download_and_uncompress URL NAME)
UPDATE_COMMAND "" UPDATE_COMMAND ""
INSTALL_COMMAND "" INSTALL_COMMAND ""
) )
list(APPEND third_party_deps ${EXTERNAL_PROJECT_NAME}) set(third_party_deps ${third_party_deps} extern_download_${NAME} PARENT_SCOPE)
ENDMACRO() ENDFUNCTION()
# Correction of flags on different Platform(WIN/MAC) and Print Warning Message # Correction of flags on different Platform(WIN/MAC) and Print Warning Message
...@@ -209,10 +208,6 @@ include(external/warpctc) # download, build, install warpctc ...@@ -209,10 +208,6 @@ include(external/warpctc) # download, build, install warpctc
list(APPEND third_party_deps extern_eigen3 extern_gflags extern_glog extern_boost extern_xxhash) list(APPEND third_party_deps extern_eigen3 extern_gflags extern_glog extern_boost extern_xxhash)
list(APPEND third_party_deps extern_zlib extern_dlpack extern_warpctc extern_threadpool) list(APPEND third_party_deps extern_zlib extern_dlpack extern_warpctc extern_threadpool)
# download file
set(CUDAERROR_URL "http://paddlepaddledeps.bj.bcebos.com/cudaErrorMessage.tar.gz" CACHE STRING "" FORCE)
file_download_and_uncompress(${CUDAERROR_URL} "cudaerror")
if(WITH_AMD_GPU) if(WITH_AMD_GPU)
include(external/rocprim) # download, build, install rocprim include(external/rocprim) # download, build, install rocprim
list(APPEND third_party_deps extern_rocprim) list(APPEND third_party_deps extern_rocprim)
...@@ -250,6 +245,9 @@ ENDIF() ...@@ -250,6 +245,9 @@ ENDIF()
if(WITH_GPU) if(WITH_GPU)
include(external/cub) # download cub include(external/cub) # download cub
list(APPEND third_party_deps extern_cub) list(APPEND third_party_deps extern_cub)
set(CUDAERROR_URL "http://paddlepaddledeps.bj.bcebos.com/cudaErrorMessage.tar.gz" CACHE STRING "" FORCE)
file_download_and_uncompress(${CUDAERROR_URL} "cudaerror") # download file cudaErrorMessage
endif(WITH_GPU) endif(WITH_GPU)
if(WITH_PSLIB) if(WITH_PSLIB)
......
proto_library(profiler_proto SRCS profiler.proto DEPS framework_proto simple_threadpool) proto_library(profiler_proto SRCS profiler.proto DEPS framework_proto simple_threadpool)
proto_library(error_codes_proto SRCS error_codes.proto) proto_library(error_codes_proto SRCS error_codes.proto)
proto_library(cuda_error_proto SRCS cuda_error.proto) if(WITH_GPU)
proto_library(cuda_error_proto SRCS cuda_error.proto)
endif(WITH_GPU)
if (WITH_PYTHON) if (WITH_PYTHON)
py_proto_compile(profiler_py_proto SRCS profiler.proto) py_proto_compile(profiler_py_proto SRCS profiler.proto)
...@@ -28,7 +30,11 @@ cc_library(flags SRCS flags.cc DEPS gflags) ...@@ -28,7 +30,11 @@ cc_library(flags SRCS flags.cc DEPS gflags)
cc_library(errors SRCS errors.cc DEPS error_codes_proto) cc_library(errors SRCS errors.cc DEPS error_codes_proto)
cc_test(errors_test SRCS errors_test.cc DEPS errors enforce) cc_test(errors_test SRCS errors_test.cc DEPS errors enforce)
cc_library(enforce INTERFACE SRCS enforce.cc DEPS flags errors cuda_error_proto boost) set(enforce_deps flags errors boost)
if(WITH_GPU)
set(enforce_deps ${enforce_deps} cuda_error_proto)
endif()
cc_library(enforce INTERFACE SRCS enforce.cc DEPS ${enforce_deps})
cc_test(enforce_test SRCS enforce_test.cc DEPS stringpiece enforce) cc_test(enforce_test SRCS enforce_test.cc DEPS stringpiece enforce)
set(CPU_INFO_DEPS gflags glog enforce) set(CPU_INFO_DEPS gflags glog enforce)
......
...@@ -31,6 +31,7 @@ limitations under the License. */ ...@@ -31,6 +31,7 @@ limitations under the License. */
#include <curand.h> #include <curand.h>
#include <thrust/system/cuda/error.h> #include <thrust/system/cuda/error.h>
#include <thrust/system_error.h> #include <thrust/system_error.h>
#include "paddle/fluid/platform/cuda_error.pb.h"
#endif // PADDLE_WITH_CUDA #endif // PADDLE_WITH_CUDA
#include <fstream> #include <fstream>
...@@ -45,7 +46,6 @@ limitations under the License. */ ...@@ -45,7 +46,6 @@ limitations under the License. */
#define GLOG_NO_ABBREVIATED_SEVERITIES // msvc conflict logging with windows.h #define GLOG_NO_ABBREVIATED_SEVERITIES // msvc conflict logging with windows.h
#include "glog/logging.h" #include "glog/logging.h"
#include "paddle/fluid/platform/cuda_error.pb.h"
#include "paddle/fluid/platform/errors.h" #include "paddle/fluid/platform/errors.h"
#include "paddle/fluid/platform/macros.h" #include "paddle/fluid/platform/macros.h"
#include "paddle/fluid/platform/port.h" #include "paddle/fluid/platform/port.h"
......
...@@ -357,6 +357,8 @@ headers = ( ...@@ -357,6 +357,8 @@ headers = (
if '${WITH_MKLDNN}' == 'ON': if '${WITH_MKLDNN}' == 'ON':
headers += list(find_files('*', '${MKLDNN_INSTALL_DIR}/include')) # mkldnn headers += list(find_files('*', '${MKLDNN_INSTALL_DIR}/include')) # mkldnn
if '${WITH_GPU}' == 'ON':
headers += list(find_files('*.pb', '${cudaerror_INCLUDE_DIR}')) # errorMessage.pb for errormessage
class InstallCommand(InstallCommandBase): class InstallCommand(InstallCommandBase):
def finalize_options(self): def finalize_options(self):
...@@ -416,6 +418,7 @@ class InstallHeaders(Command): ...@@ -416,6 +418,7 @@ class InstallHeaders(Command):
def run(self): def run(self):
# only copy third_party/cudaErrorMessage.pb for cudaErrorMessage on mac or windows # only copy third_party/cudaErrorMessage.pb for cudaErrorMessage on mac or windows
if os.name == 'nt' or sys.platform == 'darwin': if os.name == 'nt' or sys.platform == 'darwin':
if '${WITH_GPU}' == 'ON':
self.mkdir_and_copy_file('${cudaerror_INCLUDE_DIR}/cudaErrorMessage.pb') self.mkdir_and_copy_file('${cudaerror_INCLUDE_DIR}/cudaErrorMessage.pb')
return return
hdrs = self.distribution.headers hdrs = self.distribution.headers
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册