未验证 提交 85cbd556 编写于 作者: L Leo Chen 提交者: GitHub

Fix compilation problem (#31100)

Fix compilation problem (#31100)
上级 5cb20f30
...@@ -57,28 +57,24 @@ if(WITH_ASCEND) ...@@ -57,28 +57,24 @@ if(WITH_ASCEND)
SET_PROPERTY(TARGET atlas_acl PROPERTY IMPORTED_LOCATION ${atlas_acl_lib}) SET_PROPERTY(TARGET atlas_acl PROPERTY IMPORTED_LOCATION ${atlas_acl_lib})
add_custom_target(extern_ascend DEPENDS ascend_ge ascend_graph atlas_acl) add_custom_target(extern_ascend DEPENDS ascend_ge ascend_graph atlas_acl)
endif()
elseif(WITH_ASCEND_CL) if(WITH_ASCEND_CL)
set(ASCEND_ATC_DIR ${ASCEND_DIR}/atc/lib64) set(ASCEND_CL_DIR ${ASCEND_DIR}/ascend-toolkit/latest/fwkacllib/lib64)
set(ASCEND_ACL_DIR ${ASCEND_DIR}/acllib/lib64)
set(STATIC_ACL_LIB ${ASCEND_ACL_DIR})
set(ATLAS_ACL_DIR ${ASCEND_DIR}/ascend-toolkit/latest/fwkacllib/lib64) set(ascendcl_lib ${ASCEND_CL_DIR}/libascendcl.so)
set(ATLAS_ATC_DIR ${ASCEND_DIR}/ascend-toolkit/latest/fwkacllib/lib64) set(acl_op_compiler_lib ${ASCEND_CL_DIR}/libacl_op_compiler.so)
set(ASCEND_CL_INC_DIR ${ASCEND_DIR}/ascend-toolkit/latest/fwkacllib/include)
set(atlas_acl_lib ${ATLAS_ACL_DIR}/libascendcl.so)
set(atlas_acl_op_compiler_lib ${ATLAS_ACL_DIR}/libacl_op_compiler.so)
set(ATLAS_ACL_INC_DIR ${ASCEND_DIR}/ascend-toolkit/latest/fwkacllib/include)
message(STATUS "ATLAS_ACL_INC_DIR ${ATLAS_ACL_INC_DIR}") message(STATUS "ASCEND_CL_INC_DIR ${ASCEND_CL_INC_DIR}")
message(STATUS "ATLAS_ACL_LIB_DIR ${ATLAS_ACL_DIR}") message(STATUS "ASCEND_CL_DIR ${ASCEND_CL_DIR}")
INCLUDE_DIRECTORIES(${ATLAS_ACL_INC_DIR}) INCLUDE_DIRECTORIES(${ASCEND_CL_INC_DIR})
ADD_LIBRARY(atlas_acl SHARED IMPORTED GLOBAL) ADD_LIBRARY(ascendcl SHARED IMPORTED GLOBAL)
SET_PROPERTY(TARGET atlas_acl PROPERTY IMPORTED_LOCATION ${atlas_acl_lib}) SET_PROPERTY(TARGET ascendcl PROPERTY IMPORTED_LOCATION ${ascendcl_lib})
ADD_LIBRARY(atlas_acl_op_compiler SHARED IMPORTED GLOBAL) ADD_LIBRARY(acl_op_compiler SHARED IMPORTED GLOBAL)
SET_PROPERTY(TARGET atlas_acl_op_compiler PROPERTY IMPORTED_LOCATION ${atlas_acl_op_compiler_lib}) SET_PROPERTY(TARGET acl_op_compiler PROPERTY IMPORTED_LOCATION ${acl_op_compiler_lib})
add_custom_target(extern_ascend DEPENDS atlas_acl atlas_acl_op_compiler) add_custom_target(extern_ascend_cl DEPENDS ascendcl acl_op_compiler)
endif() endif()
...@@ -201,6 +201,9 @@ FUNCTION(build_protobuf TARGET_NAME BUILD_FOR_HOST) ...@@ -201,6 +201,9 @@ FUNCTION(build_protobuf TARGET_NAME BUILD_FOR_HOST)
if(WITH_ASCEND AND NOT WITH_ASCEND_CXX11) if(WITH_ASCEND AND NOT WITH_ASCEND_CXX11)
SET(PROTOBUF_REPOSITORY https://gitee.com/tianjianhe/protobuf.git) SET(PROTOBUF_REPOSITORY https://gitee.com/tianjianhe/protobuf.git)
SET(PROTOBUF_TAG v3.8.0) SET(PROTOBUF_TAG v3.8.0)
elseif(WITH_ASCEND_CL AND NOT WITH_ASCEND_CXX11)
SET(PROTOBUF_REPOSITORY https://gitee.com/tianjianhe/protobuf.git)
SET(PROTOBUF_TAG v3.8.0)
else() else()
SET(PROTOBUF_REPOSITORY ${GIT_URL}/protocolbuffers/protobuf.git) SET(PROTOBUF_REPOSITORY ${GIT_URL}/protocolbuffers/protobuf.git)
SET(PROTOBUF_TAG 9f75c5aa851cd877fb0d93ccc31b8567a6706546) SET(PROTOBUF_TAG 9f75c5aa851cd877fb0d93ccc31b8567a6706546)
......
...@@ -276,7 +276,12 @@ endif(WITH_BOX_PS) ...@@ -276,7 +276,12 @@ endif(WITH_BOX_PS)
if(WITH_ASCEND OR WITH_ASCEND_CL) if(WITH_ASCEND OR WITH_ASCEND_CL)
include(external/ascend) include(external/ascend)
list(APPEND third_party_deps extern_ascend) if(WITH_ASCEND)
list(APPEND third_party_deps extern_ascend)
endif()
if(WITH_ASCEND_CL)
list(APPEND third_party_deps extern_ascend_cl)
endif()
endif () endif ()
if (WITH_PSCORE) if (WITH_PSCORE)
......
...@@ -89,7 +89,8 @@ StreamGarbageCollector::StreamGarbageCollector(const platform::CUDAPlace &place, ...@@ -89,7 +89,8 @@ StreamGarbageCollector::StreamGarbageCollector(const platform::CUDAPlace &place,
: GarbageCollector(place, max_memory_size) { : GarbageCollector(place, max_memory_size) {
platform::CUDADeviceGuard guard(place.device); platform::CUDADeviceGuard guard(place.device);
PADDLE_ENFORCE_CUDA_SUCCESS(cudaStreamCreate(&stream_)); PADDLE_ENFORCE_CUDA_SUCCESS(cudaStreamCreate(&stream_));
callback_manager_.reset(new platform::StreamCallbackManager(stream_)); callback_manager_.reset(
new platform::StreamCallbackManager<cudaStream_t>(stream_));
} }
StreamGarbageCollector::~StreamGarbageCollector() { StreamGarbageCollector::~StreamGarbageCollector() {
......
...@@ -117,7 +117,8 @@ class StreamGarbageCollector : public GarbageCollector { ...@@ -117,7 +117,8 @@ class StreamGarbageCollector : public GarbageCollector {
private: private:
cudaStream_t stream_; cudaStream_t stream_;
std::unique_ptr<platform::StreamCallbackManager> callback_manager_; std::unique_ptr<platform::StreamCallbackManager<cudaStream_t>>
callback_manager_;
}; };
class CUDAPinnedGarbageCollector : public GarbageCollector { class CUDAPinnedGarbageCollector : public GarbageCollector {
......
...@@ -8,4 +8,7 @@ register_operators(DEPS op_version_registry) ...@@ -8,4 +8,7 @@ register_operators(DEPS op_version_registry)
cc_test(test_elementwise_add_op_inplace SRCS test_elementwise_add_op_inplace.cc DEPS op_registry elementwise_add_op scope device_context enforce executor) cc_test(test_elementwise_add_op_inplace SRCS test_elementwise_add_op_inplace.cc DEPS op_registry elementwise_add_op scope device_context enforce executor)
cc_test(test_elementwise_div_grad_grad SRCS test_elementwise_div_grad_grad.cc DEPS op_registry elementwise_div_op scope device_context enforce executor) cc_test(test_elementwise_div_grad_grad SRCS test_elementwise_div_grad_grad.cc DEPS op_registry elementwise_div_op scope device_context enforce executor)
cc_test(test_elementwise_add_grad_grad SRCS test_elementwise_add_grad_grad.cc DEPS op_registry elementwise_add_op scope device_context enforce executor) cc_test(test_elementwise_add_grad_grad SRCS test_elementwise_add_grad_grad.cc DEPS op_registry elementwise_add_op scope device_context enforce executor)
if(WITH_ASCEND_CL)
cc_test(elementwise_op_npu_test SRCS elementwise_op_npu_test.cc DEPS op_registry elementwise_add_op elementwise_sub_op scope device_context enforce executor) cc_test(elementwise_op_npu_test SRCS elementwise_op_npu_test.cc DEPS op_registry elementwise_add_op elementwise_sub_op scope device_context enforce executor)
endif()
...@@ -72,7 +72,7 @@ if(WITH_ASCEND) ...@@ -72,7 +72,7 @@ if(WITH_ASCEND)
endif() endif()
if(WITH_ASCEND_CL) if(WITH_ASCEND_CL)
cc_library(npu_info SRCS npu_info.cc DEPS gflags glog enforce monitor atlas_acl atlas_acl_op_compiler) cc_library(npu_info SRCS npu_info.cc DEPS gflags glog enforce monitor ascendcl acl_op_compiler)
endif() endif()
add_subdirectory(dynload) add_subdirectory(dynload)
...@@ -105,7 +105,7 @@ nv_library(stream_callback_manager SRCS stream_callback_manager.cc DEPS simple_t ...@@ -105,7 +105,7 @@ nv_library(stream_callback_manager SRCS stream_callback_manager.cc DEPS simple_t
ENDIF() ENDIF()
IF(WITH_ASCEND_CL) IF(WITH_ASCEND_CL)
cc_library(stream_callback_manager SRCS stream_callback_manager.cc DEPS simple_threadpool enforce atlas_acl) cc_library(stream_callback_manager SRCS stream_callback_manager.cc DEPS simple_threadpool enforce)
ENDIF() ENDIF()
IF(WITH_GPU) IF(WITH_GPU)
......
...@@ -35,7 +35,7 @@ bool CUDAStream::Init(const Place& place, const Priority& priority) { ...@@ -35,7 +35,7 @@ bool CUDAStream::Init(const Place& place, const Priority& priority) {
PADDLE_ENFORCE_CUDA_SUCCESS( PADDLE_ENFORCE_CUDA_SUCCESS(
cudaStreamCreateWithPriority(&stream_, kDefaultFlag, 0)); cudaStreamCreateWithPriority(&stream_, kDefaultFlag, 0));
} }
callback_manager_.reset(new StreamCallbackManager(stream_)); callback_manager_.reset(new StreamCallbackManager<cudaStream_t>(stream_));
VLOG(3) << "CUDAStream Init stream: " << stream_ VLOG(3) << "CUDAStream Init stream: " << stream_
<< ", priority: " << static_cast<int>(priority); << ", priority: " << static_cast<int>(priority);
return true; return true;
......
...@@ -74,7 +74,7 @@ class CUDAStream final { ...@@ -74,7 +74,7 @@ class CUDAStream final {
Place place_; Place place_;
cudaStream_t stream_{nullptr}; cudaStream_t stream_{nullptr};
Priority priority_{Priority::kNormal}; Priority priority_{Priority::kNormal};
std::unique_ptr<StreamCallbackManager> callback_manager_; std::unique_ptr<StreamCallbackManager<cudaStream_t>> callback_manager_;
DISABLE_COPY_AND_ASSIGN(CUDAStream); DISABLE_COPY_AND_ASSIGN(CUDAStream);
}; };
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册