From 172d4ecb6c8fa8eceb0bf64cbf97e07e684a28e8 Mon Sep 17 00:00:00 2001 From: Chen Weihang Date: Thu, 9 Jul 2020 15:03:27 +0800 Subject: [PATCH] remove WITH_DSO compile option (#25444) --- CMakeLists.txt | 1 - cmake/configure.cmake | 4 ---- cmake/cuda.cmake | 6 ------ cmake/hip.cmake | 4 ---- cmake/tensorrt.cmake | 10 ++-------- paddle/fluid/platform/CMakeLists.txt | 4 ++-- paddle/fluid/platform/dynload/cublas.h | 11 ----------- paddle/fluid/platform/dynload/cuda_driver.cc | 4 ---- paddle/fluid/platform/dynload/cuda_driver.h | 15 --------------- paddle/fluid/platform/dynload/cudnn.cc | 4 ---- paddle/fluid/platform/dynload/cudnn.h | 15 --------------- paddle/fluid/platform/dynload/cupti.h | 11 ----------- paddle/fluid/platform/dynload/curand.h | 12 +----------- paddle/fluid/platform/dynload/cusolver.h | 12 +----------- paddle/fluid/platform/dynload/nccl.h | 12 ------------ paddle/fluid/platform/dynload/nvrtc.cc | 4 ---- paddle/fluid/platform/dynload/nvrtc.h | 15 --------------- paddle/fluid/platform/dynload/tensorrt.h | 13 ------------- paddle/scripts/paddle_build.sh | 2 -- 19 files changed, 6 insertions(+), 153 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 17238a2e704..1802e4a46d5 100755 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -79,7 +79,6 @@ find_package(Threads REQUIRED) include(simd) ################################ Exposed Configurations ####################################### -option(WITH_DSO "Compile PaddlePaddle with dynamic linked CUDA" ON) option(WITH_AVX "Compile PaddlePaddle with AVX intrinsics" ${AVX_FOUND}) option(WITH_PYTHON "Compile PaddlePaddle with python interpreter" ON) option(WITH_TESTING "Compile PaddlePaddle with unit testing" OFF) diff --git a/cmake/configure.cmake b/cmake/configure.cmake index 8200d48cbb3..bb57b42dcc7 100644 --- a/cmake/configure.cmake +++ b/cmake/configure.cmake @@ -16,10 +16,6 @@ if(NOT WITH_PYTHON) add_definitions(-DPADDLE_NO_PYTHON) endif(NOT WITH_PYTHON) -if(WITH_DSO) - add_definitions(-DPADDLE_USE_DSO) -endif(WITH_DSO) - if(WITH_TESTING) add_definitions(-DPADDLE_WITH_TESTING) endif(WITH_TESTING) diff --git a/cmake/cuda.cmake b/cmake/cuda.cmake index 6dcdb0f853f..1688d9d98b7 100644 --- a/cmake/cuda.cmake +++ b/cmake/cuda.cmake @@ -188,12 +188,6 @@ endif() add_definitions("-DPADDLE_CUDA_BINVER=\"${CUDA_VERSION_MAJOR}${CUDA_VERSION_MINOR}\"") -if(NOT WITH_DSO) - if(WIN32) - set_property(GLOBAL PROPERTY CUDA_MODULES ${CUDNN_LIBRARY} ${CUDA_CUBLAS_LIBRARIES} ${CUDA_curand_LIBRARY} ${CUDA_cusolver_LIBRARY}) - endif(WIN32) -endif(NOT WITH_DSO) - # setting nvcc arch flags select_nvcc_arch_flags(NVCC_FLAGS_EXTRA) set(CMAKE_CUDA_FLAGS "${CMAKE_CUDA_FLAGS} ${NVCC_FLAGS_EXTRA}") diff --git a/cmake/hip.cmake b/cmake/hip.cmake index c3a748db502..27ecd50e886 100644 --- a/cmake/hip.cmake +++ b/cmake/hip.cmake @@ -13,10 +13,6 @@ include_directories("/opt/rocm/thrust") set(HIP_HCC_FLAGS "${HIP_HCC_FLAGS} -fPIC -DPADDLE_WITH_HIP -std=c++11" ) -if(WITH_DSO) - set(HIP_HCC_FLAGS "${HIP_HCC_FLAGS} -DPADDLE_USE_DSO") -endif(WITH_DSO) - if(WITH_TESTING) set(HIP_HCC_FLAGS "${HIP_HCC_FLAGS} -DPADDLE_WITH_TESTING") endif(WITH_TESTING) diff --git a/cmake/tensorrt.cmake b/cmake/tensorrt.cmake index b209c0d0b6f..d715dfd0dbe 100644 --- a/cmake/tensorrt.cmake +++ b/cmake/tensorrt.cmake @@ -37,16 +37,10 @@ find_library(TENSORRT_LIBRARY NAMES ${TR_INFER_LIB} ${TR_INFER_RT} DOC "Path to TensorRT library.") if(TENSORRT_INCLUDE_DIR AND TENSORRT_LIBRARY) - if(WITH_DSO) - set(TENSORRT_FOUND ON) - endif(WITH_DSO) + set(TENSORRT_FOUND ON) else() set(TENSORRT_FOUND OFF) - if(WITH_DSO) - message(WARNING "TensorRT is NOT found when WITH_DSO is ON.") - else(WITH_DSO) - message(STATUS "TensorRT is disabled because WITH_DSO is OFF.") - endif(WITH_DSO) + message(STATUS "TensorRT is disabled.") endif() if(TENSORRT_FOUND) diff --git a/paddle/fluid/platform/CMakeLists.txt b/paddle/fluid/platform/CMakeLists.txt index c49989db3d5..ab585317248 100644 --- a/paddle/fluid/platform/CMakeLists.txt +++ b/paddle/fluid/platform/CMakeLists.txt @@ -94,10 +94,10 @@ if(WITH_GPU) endif() if(WIN32) - if(WITH_GPU AND NOT WITH_DSO) + if(WITH_GPU) get_property(cuda_modules GLOBAL PROPERTY CUDA_MODULES) target_link_libraries(device_context ${cuda_modules}) - endif(WITH_GPU AND NOT WITH_DSO) + endif(WITH_GPU) endif(WIN32) nv_test(device_context_test SRCS device_context_test.cu DEPS device_context gpu_info) diff --git a/paddle/fluid/platform/dynload/cublas.h b/paddle/fluid/platform/dynload/cublas.h index 937e200924b..7e32720c1d7 100644 --- a/paddle/fluid/platform/dynload/cublas.h +++ b/paddle/fluid/platform/dynload/cublas.h @@ -36,7 +36,6 @@ extern void *cublas_dso_handle; * * note: default dynamic linked libs */ -#ifdef PADDLE_USE_DSO #define DECLARE_DYNAMIC_LOAD_CUBLAS_WRAP(__name) \ struct DynLoad__##__name { \ using FUNC_TYPE = decltype(&::__name); \ @@ -50,16 +49,6 @@ extern void *cublas_dso_handle; } \ }; \ extern DynLoad__##__name __name -#else -#define DECLARE_DYNAMIC_LOAD_CUBLAS_WRAP(__name) \ - struct DynLoad__##__name { \ - template \ - inline cublasStatus_t operator()(Args... args) { \ - return ::__name(args...); \ - } \ - }; \ - extern DynLoad__##__name __name -#endif #define CUBLAS_BLAS_ROUTINE_EACH(__macro) \ __macro(cublasSaxpy_v2); \ diff --git a/paddle/fluid/platform/dynload/cuda_driver.cc b/paddle/fluid/platform/dynload/cuda_driver.cc index 017e887bc7d..89a29bae7f3 100644 --- a/paddle/fluid/platform/dynload/cuda_driver.cc +++ b/paddle/fluid/platform/dynload/cuda_driver.cc @@ -25,14 +25,10 @@ void* cuda_dso_handle = nullptr; CUDA_ROUTINE_EACH(DEFINE_WRAP); -#ifdef PADDLE_USE_DSO bool HasCUDADriver() { std::call_once(cuda_dso_flag, []() { cuda_dso_handle = GetCUDADsoHandle(); }); return cuda_dso_handle != nullptr; } -#else -bool HasCUDADriver() { return false; } -#endif } // namespace dynload } // namespace platform diff --git a/paddle/fluid/platform/dynload/cuda_driver.h b/paddle/fluid/platform/dynload/cuda_driver.h index d39aceaa11b..056fcc069db 100644 --- a/paddle/fluid/platform/dynload/cuda_driver.h +++ b/paddle/fluid/platform/dynload/cuda_driver.h @@ -27,8 +27,6 @@ extern std::once_flag cuda_dso_flag; extern void* cuda_dso_handle; extern bool HasCUDADriver(); -#ifdef PADDLE_USE_DSO - #define DECLARE_DYNAMIC_LOAD_CUDA_WRAP(__name) \ struct DynLoad__##__name { \ template \ @@ -43,19 +41,6 @@ extern bool HasCUDADriver(); }; \ extern struct DynLoad__##__name __name -#else - -#define DECLARE_DYNAMIC_LOAD_CUDA_WRAP(__name) \ - struct DynLoad__##__name { \ - template \ - inline auto operator()(Args... args) { \ - return ::__name(args...); \ - } \ - }; \ - extern DynLoad__##__name __name - -#endif - /** * include all needed cuda driver functions **/ diff --git a/paddle/fluid/platform/dynload/cudnn.cc b/paddle/fluid/platform/dynload/cudnn.cc index 3dd60dcc62d..44a03d6f14a 100644 --- a/paddle/fluid/platform/dynload/cudnn.cc +++ b/paddle/fluid/platform/dynload/cudnn.cc @@ -50,7 +50,6 @@ CUDNN_DNN_ROUTINE_EACH_R7(DEFINE_WRAP); CUDNN_DNN_ROUTINE_EACH_AFTER_R7(DEFINE_WRAP); #endif -#ifdef PADDLE_USE_DSO bool HasCUDNN() { std::call_once(cudnn_dso_flag, []() { cudnn_dso_handle = GetCUDNNDsoHandle(); }); @@ -64,9 +63,6 @@ void EnforceCUDNNLoaded(const char* fn_name) { "Cannot load cudnn shared library. Cannot invoke method %s.", fn_name)); } -#else -bool HasCUDNN() { return true; } -#endif } // namespace dynload } // namespace platform diff --git a/paddle/fluid/platform/dynload/cudnn.h b/paddle/fluid/platform/dynload/cudnn.h index bec5ceb1f47..96297ec8557 100644 --- a/paddle/fluid/platform/dynload/cudnn.h +++ b/paddle/fluid/platform/dynload/cudnn.h @@ -28,8 +28,6 @@ extern std::once_flag cudnn_dso_flag; extern void* cudnn_dso_handle; extern bool HasCUDNN(); -#ifdef PADDLE_USE_DSO - extern void EnforceCUDNNLoaded(const char* fn_name); #define DECLARE_DYNAMIC_LOAD_CUDNN_WRAP(__name) \ struct DynLoad__##__name { \ @@ -46,19 +44,6 @@ extern void EnforceCUDNNLoaded(const char* fn_name); }; \ extern struct DynLoad__##__name __name -#else - -#define DECLARE_DYNAMIC_LOAD_CUDNN_WRAP(__name) \ - struct DynLoad__##__name { \ - template \ - inline auto operator()(Args... args) { \ - return ::__name(args...); \ - } \ - }; \ - extern DynLoad__##__name __name - -#endif - /** * include all needed cudnn functions in HPPL * different cudnn version has different interfaces diff --git a/paddle/fluid/platform/dynload/cupti.h b/paddle/fluid/platform/dynload/cupti.h index b946f46e82a..49bfdce4d38 100644 --- a/paddle/fluid/platform/dynload/cupti.h +++ b/paddle/fluid/platform/dynload/cupti.h @@ -36,7 +36,6 @@ extern void *cupti_dso_handle; * * note: default dynamic linked libs */ -#ifdef PADDLE_USE_DSO #define DECLARE_DYNAMIC_LOAD_CUPTI_WRAP(__name) \ struct DynLoad__##__name { \ template \ @@ -50,16 +49,6 @@ extern void *cupti_dso_handle; } \ }; \ extern DynLoad__##__name __name -#else -#define DECLARE_DYNAMIC_LOAD_CUPTI_WRAP(__name) \ - struct DynLoad__##__name { \ - template \ - inline CUptiResult CUPTIAPI operator()(Args... args) { \ - return __name(args...); \ - } \ - }; \ - extern DynLoad__##__name __name -#endif #define CUPTI_ROUTINE_EACH(__macro) \ __macro(cuptiActivityEnable); \ diff --git a/paddle/fluid/platform/dynload/curand.h b/paddle/fluid/platform/dynload/curand.h index 0bb300ec330..48076e5478a 100644 --- a/paddle/fluid/platform/dynload/curand.h +++ b/paddle/fluid/platform/dynload/curand.h @@ -25,7 +25,7 @@ namespace platform { namespace dynload { extern std::once_flag curand_dso_flag; extern void *curand_dso_handle; -#ifdef PADDLE_USE_DSO + #define DECLARE_DYNAMIC_LOAD_CURAND_WRAP(__name) \ struct DynLoad__##__name { \ template \ @@ -39,16 +39,6 @@ extern void *curand_dso_handle; } \ }; \ extern DynLoad__##__name __name -#else -#define DECLARE_DYNAMIC_LOAD_CURAND_WRAP(__name) \ - struct DynLoad__##__name { \ - template \ - curandStatus_t operator()(Args... args) { \ - return ::__name(args...); \ - } \ - }; \ - extern DynLoad__##__name __name -#endif #define CURAND_RAND_ROUTINE_EACH(__macro) \ __macro(curandCreateGenerator); \ diff --git a/paddle/fluid/platform/dynload/cusolver.h b/paddle/fluid/platform/dynload/cusolver.h index 8eda3525293..ba2d38729c1 100644 --- a/paddle/fluid/platform/dynload/cusolver.h +++ b/paddle/fluid/platform/dynload/cusolver.h @@ -26,7 +26,7 @@ namespace platform { namespace dynload { extern std::once_flag cusolver_dso_flag; extern void *cusolver_dso_handle; -#ifdef PADDLE_USE_DSO + #define DECLARE_DYNAMIC_LOAD_CUSOLVER_WRAP(__name) \ struct DynLoad__##__name { \ template \ @@ -41,16 +41,6 @@ extern void *cusolver_dso_handle; } \ }; \ extern DynLoad__##__name __name -#else -#define DECLARE_DYNAMIC_LOAD_CUSOLVER_WRAP(__name) \ - struct DynLoad__##__name { \ - template \ - cusolverStatus_t operator()(Args... args) { \ - return ::__name(args...); \ - } \ - }; \ - extern DynLoad__##__name __name -#endif #define CUSOLVER_ROUTINE_EACH(__macro) \ __macro(cusolverDnCreate); \ diff --git a/paddle/fluid/platform/dynload/nccl.h b/paddle/fluid/platform/dynload/nccl.h index b3cd582394c..1d5fa45ecf6 100644 --- a/paddle/fluid/platform/dynload/nccl.h +++ b/paddle/fluid/platform/dynload/nccl.h @@ -26,8 +26,6 @@ namespace dynload { extern std::once_flag nccl_dso_flag; extern void* nccl_dso_handle; -#ifdef PADDLE_USE_DSO - #define DECLARE_DYNAMIC_LOAD_NCCL_WRAP(__name) \ struct DynLoad__##__name { \ template \ @@ -41,16 +39,6 @@ extern void* nccl_dso_handle; } \ }; \ extern DynLoad__##__name __name -#else -#define DECLARE_DYNAMIC_LOAD_NCCL_WRAP(__name) \ - struct DynLoad__##__name { \ - template \ - ncclResult_t operator()(Args... args) { \ - return __name(args...); \ - } \ - }; \ - extern DynLoad__##__name __name -#endif #define NCCL_RAND_ROUTINE_EACH(__macro) \ __macro(ncclCommInitAll); \ diff --git a/paddle/fluid/platform/dynload/nvrtc.cc b/paddle/fluid/platform/dynload/nvrtc.cc index f95d4b6ab52..74dfa5b3c22 100644 --- a/paddle/fluid/platform/dynload/nvrtc.cc +++ b/paddle/fluid/platform/dynload/nvrtc.cc @@ -25,15 +25,11 @@ void* nvrtc_dso_handle = nullptr; NVRTC_ROUTINE_EACH(DEFINE_WRAP); -#ifdef PADDLE_USE_DSO bool HasNVRTC() { std::call_once(nvrtc_dso_flag, []() { nvrtc_dso_handle = GetNVRTCDsoHandle(); }); return nvrtc_dso_handle != nullptr; } -#else -bool HasNVRTC() { return false; } -#endif } // namespace dynload } // namespace platform diff --git a/paddle/fluid/platform/dynload/nvrtc.h b/paddle/fluid/platform/dynload/nvrtc.h index 08f81d4ea85..9464a23ba1e 100644 --- a/paddle/fluid/platform/dynload/nvrtc.h +++ b/paddle/fluid/platform/dynload/nvrtc.h @@ -27,8 +27,6 @@ extern std::once_flag nvrtc_dso_flag; extern void* nvrtc_dso_handle; extern bool HasNVRTC(); -#ifdef PADDLE_USE_DSO - #define DECLARE_DYNAMIC_LOAD_NVRTC_WRAP(__name) \ struct DynLoad__##__name { \ template \ @@ -43,19 +41,6 @@ extern bool HasNVRTC(); }; \ extern struct DynLoad__##__name __name -#else - -#define DECLARE_DYNAMIC_LOAD_NVRTC_WRAP(__name) \ - struct DynLoad__##__name { \ - template \ - inline auto operator()(Args... args) { \ - return ::__name(args...); \ - } \ - }; \ - extern DynLoad__##__name __name - -#endif - /** * include all needed nvrtc functions **/ diff --git a/paddle/fluid/platform/dynload/tensorrt.h b/paddle/fluid/platform/dynload/tensorrt.h index 4c7ba0f054c..35fa9e88b48 100644 --- a/paddle/fluid/platform/dynload/tensorrt.h +++ b/paddle/fluid/platform/dynload/tensorrt.h @@ -30,8 +30,6 @@ namespace dynload { extern std::once_flag tensorrt_dso_flag; extern void* tensorrt_dso_handle; -#ifdef PADDLE_USE_DSO - #define DECLARE_DYNAMIC_LOAD_TENSORRT_WRAP(__name) \ struct DynLoad__##__name { \ template \ @@ -49,17 +47,6 @@ extern void* tensorrt_dso_handle; }; \ extern DynLoad__##__name __name -#else -#define DECLARE_DYNAMIC_LOAD_TENSORRT_WRAP(__name) \ - struct DynLoad__##__name { \ - template \ - tensorrtResult_t operator()(Args... args) { \ - return __name(args...); \ - } \ - }; \ - extern DynLoad__##__name __name -#endif - #define TENSORRT_RAND_ROUTINE_EACH(__macro) \ __macro(createInferBuilder_INTERNAL); \ __macro(createInferRuntime_INTERNAL); diff --git a/paddle/scripts/paddle_build.sh b/paddle/scripts/paddle_build.sh index 6c716cb1110..e0b5915acf5 100755 --- a/paddle/scripts/paddle_build.sh +++ b/paddle/scripts/paddle_build.sh @@ -193,7 +193,6 @@ function cmake_base() { Configuring cmake in /paddle/build ... -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE:-Release} ${PYTHON_FLAGS} - -DWITH_DSO=ON -DWITH_GPU=${WITH_GPU:-OFF} -DWITH_AMD_GPU=${WITH_AMD_GPU:-OFF} -DWITH_DISTRIBUTE=${distibuted_flag} @@ -222,7 +221,6 @@ EOF cmake .. \ -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE:-Release} \ ${PYTHON_FLAGS} \ - -DWITH_DSO=ON \ -DWITH_GPU=${WITH_GPU:-OFF} \ -DWITH_AMD_GPU=${WITH_AMD_GPU:-OFF} \ -DWITH_DISTRIBUTE=${distibuted_flag} \ -- GitLab