diff --git a/CMakeLists.txt b/CMakeLists.txt index 17238a2e704acfe95131a8e8507d49964a133975..1802e4a46d5bd4a6b14b8e9232b0bb30d9d95ef2 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 8200d48cbb3947e723abe09e511b73312191887a..bb57b42dcc74114312a400a0f6cc95df307de6bb 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 6dcdb0f853f609fe61f6bc28055f53e9071d9075..1688d9d98b7a079b32322d03c46cd6d89b717881 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 c3a748db502037f926dc241e4c3bc26a83ad3468..27ecd50e886b722efeb8c8e92b6dc3d854602650 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 b209c0d0b6fe56b9b212d78f43b20e9bff350493..d715dfd0dbe6d1efba395fc375d124d8900aeae5 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 c49989db3d525fbc33cfd64db1cc9db1f241f253..ab58531724807c1c6b2a353fb98abe726966c2b7 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 937e200924b71dc8b8c726741e35964ebc65236e..7e32720c1d733411178c102d5c4500f722e7d005 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 017e887bc7da53b6721af42a0a1fcc29b09f2565..89a29bae7f3373da69f8813add2770b6300c2970 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 d39aceaa11bca0cce4f160c0a66dbd92d1813acb..056fcc069dba927fec0f04784f9edfd4e44ef3d2 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 3dd60dcc62d5babb1a7b3d4fcf945c649f9db715..44a03d6f14a3ba07d73cfbc944d8db9601394103 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 bec5ceb1f47db405a6f968548ab6a0b79506f6bd..96297ec8557bcaac08b105d362dbca2fb0dcd29b 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 b946f46e82af4b09fafff54765b899254a4ec1df..49bfdce4d38bbdfdcdd3e3ea64684dd4179e6f63 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 0bb300ec33076d9ddfaf69190f14131279cc888e..48076e5478a30d86802e10f35bfa7cabfc0deab9 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 8eda3525293a2223a700d30f4bd51a9d7a3823e4..ba2d38729c12e2c5fc978a2768cf36c3af3b7c4c 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 b3cd582394cf3f8df03dc4a6e262ee14eff042ad..1d5fa45ecf684597be5a3d5234456a871221d329 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 f95d4b6ab521d22aeadca1214e265761c0652d33..74dfa5b3c22f8e846ff46b8baa2a66b6e4b8df8a 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 08f81d4ea85610238aa0053c0008c0a03e2361d6..9464a23ba1ef9f0b24c4ef727c2de8176149f166 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 4c7ba0f054cfc80702eb4fb4127d7008f6e49c02..35fa9e88b481aeae1e9077e1549074bc1e12243b 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 6c716cb11100191bbd0b7e898bc999eebd93c3fb..e0b5915acf5d16b49057e9b28c65493e771358aa 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} \