forked from mindspore-Ecosystem/mindspore
!10388 delete hccl handle Interface
From: @hwjiaorui Reviewed-by: @zhoufeng54,@kisnwang Signed-off-by: @kisnwang
This commit is contained in:
commit
8ac224bd94
|
@ -88,14 +88,12 @@ void HcclDynamicKernel::StaticShapeExecute() {
|
||||||
void HcclDynamicKernel::Execute() {
|
void HcclDynamicKernel::Execute() {
|
||||||
MS_LOG(INFO) << "Start Execute";
|
MS_LOG(INFO) << "Start Execute";
|
||||||
|
|
||||||
auto handle = HcclExecutorManager::GetInstance().handle();
|
|
||||||
auto EnqueueHcomOperation =
|
auto EnqueueHcomOperation =
|
||||||
(HcclResult(*)(ge::HcomOpertion, std::function<void(HcclResult status)>))dlsym(handle, "EnqueueHcomOpertion");
|
(HcclResult(*)(ge::HcomOpertion, std::function<void(HcclResult status)>))HcclExecutorManager::GetInstance()
|
||||||
|
.GetHcomOpertion();
|
||||||
if (EnqueueHcomOperation == nullptr) {
|
if (EnqueueHcomOperation == nullptr) {
|
||||||
MS_LOG(ERROR) << "Failed to get EnqueueHcomOperation function";
|
MS_LOG(ERROR) << "Failed to get EnqueueHcomOperation function";
|
||||||
if (dlclose(handle) != 0) {
|
HcclExecutorManager::GetInstance().CloseHandle();
|
||||||
MS_LOG(WARNING) << "Failed to close hcom handle";
|
|
||||||
}
|
|
||||||
MS_LOG(EXCEPTION) << "Hccl dynamic kernel execute failed";
|
MS_LOG(EXCEPTION) << "Hccl dynamic kernel execute failed";
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -186,6 +184,13 @@ bool HcclExecutorManager::Finalize() {
|
||||||
MS_LOG(INFO) << "Hccl DynamicKernel Finalize success";
|
MS_LOG(INFO) << "Hccl DynamicKernel Finalize success";
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void *HcclExecutorManager::GetHcomOpertion() { return dlsym(handle_, "EnqueueHcomOpertion"); }
|
||||||
|
void HcclExecutorManager::CloseHandle() {
|
||||||
|
if (dlclose(handle_) != 0) {
|
||||||
|
MS_LOG(WARNING) << "Failed to close hcom handle";
|
||||||
|
}
|
||||||
|
}
|
||||||
} // namespace ascend
|
} // namespace ascend
|
||||||
} // namespace device
|
} // namespace device
|
||||||
} // namespace mindspore
|
} // namespace mindspore
|
||||||
|
|
|
@ -66,7 +66,8 @@ class HcclExecutorManager {
|
||||||
|
|
||||||
bool Initialize();
|
bool Initialize();
|
||||||
bool Finalize();
|
bool Finalize();
|
||||||
void *handle() { return handle_; }
|
void *GetHcomOpertion();
|
||||||
|
void CloseHandle();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
HcclExecutorManager() = default;
|
HcclExecutorManager() = default;
|
||||||
|
|
Loading…
Reference in New Issue