|
@@ -29,6 +29,7 @@ |
|
|
#include "common/math/math_util.h" |
|
|
#include "common/math/math_util.h" |
|
|
#include "common/thread_pool.h" |
|
|
#include "common/thread_pool.h" |
|
|
#include "common/util.h" |
|
|
#include "common/util.h" |
|
|
|
|
|
#include "common/util/error_manager/error_manager.h" |
|
|
#include "external/graph/types.h" |
|
|
#include "external/graph/types.h" |
|
|
#include "framework/common/debug/ge_log.h" |
|
|
#include "framework/common/debug/ge_log.h" |
|
|
#include "framework/common/ge_inner_error_codes.h" |
|
|
#include "framework/common/ge_inner_error_codes.h" |
|
@@ -411,7 +412,8 @@ Status GraphManager::OptimizeSubGraphWithMultiThreads(ComputeGraphPtr compute_gr |
|
|
(void) AttrUtils::SetStr(subgraph->GetSubGraph(), ATTR_NAME_OP_COMPILE_STRATEGY, op_compile_strategy); |
|
|
(void) AttrUtils::SetStr(subgraph->GetSubGraph(), ATTR_NAME_OP_COMPILE_STRATEGY, op_compile_strategy); |
|
|
} |
|
|
} |
|
|
std::future<Status> f = executor.commit(GraphManager::ProcessSubGraphWithMultiThreads, this, |
|
|
std::future<Status> f = executor.commit(GraphManager::ProcessSubGraphWithMultiThreads, this, |
|
|
compute_graph->GetGraphID(), subgraph, session_id, GetThreadLocalContext()); |
|
|
|
|
|
|
|
|
compute_graph->GetGraphID(), subgraph, session_id, |
|
|
|
|
|
GetThreadLocalContext(), GetInnerErrMsg()); |
|
|
if (!f.valid()) { |
|
|
if (!f.valid()) { |
|
|
GELOGE(FAILED, "Future is invalid"); |
|
|
GELOGE(FAILED, "Future is invalid"); |
|
|
return FAILED; |
|
|
return FAILED; |
|
@@ -427,7 +429,7 @@ Status GraphManager::OptimizeSubGraphWithMultiThreads(ComputeGraphPtr compute_gr |
|
|
} |
|
|
} |
|
|
std::future<Status> f = executor.commit(GraphManager::ProcessSubGraphWithMultiThreads, this, |
|
|
std::future<Status> f = executor.commit(GraphManager::ProcessSubGraphWithMultiThreads, this, |
|
|
compute_graph->GetGraphID(), subgraph, session_id, |
|
|
compute_graph->GetGraphID(), subgraph, session_id, |
|
|
GetThreadLocalContext()); |
|
|
|
|
|
|
|
|
GetThreadLocalContext(), GetInnerErrMsg()); |
|
|
if (!f.valid()) { |
|
|
if (!f.valid()) { |
|
|
GELOGE(FAILED, "Future is invalid"); |
|
|
GELOGE(FAILED, "Future is invalid"); |
|
|
return FAILED; |
|
|
return FAILED; |
|
@@ -2344,10 +2346,12 @@ Status GraphManager::CheckAndReleaseMemory(const GeModelPtr &ge_model, const Gra |
|
|
|
|
|
|
|
|
Status GraphManager::ProcessSubGraphWithMultiThreads(GraphManager *graph_manager, GraphId root_graph_id, |
|
|
Status GraphManager::ProcessSubGraphWithMultiThreads(GraphManager *graph_manager, GraphId root_graph_id, |
|
|
const SubGraphInfoPtr &sub_graph_info_ptr, uint64_t session_id, |
|
|
const SubGraphInfoPtr &sub_graph_info_ptr, uint64_t session_id, |
|
|
const GEThreadLocalContext &ge_context) { |
|
|
|
|
|
|
|
|
const GEThreadLocalContext &ge_context, |
|
|
|
|
|
const std::map<std::string, std::vector<std::string>> &err_ma=sg_map) { |
|
|
if (sub_graph_info_ptr != nullptr && graph_manager != nullptr) { |
|
|
if (sub_graph_info_ptr != nullptr && graph_manager != nullptr) { |
|
|
GetContext().SetSessionId(session_id); |
|
|
GetContext().SetSessionId(session_id); |
|
|
GetThreadLocalContext() = ge_context; |
|
|
GetThreadLocalContext() = ge_context; |
|
|
|
|
|
GetInnerErrMsgMap() = err_msg_map; |
|
|
graph_manager->UpdateLocalOmgContext(root_graph_id); |
|
|
graph_manager->UpdateLocalOmgContext(root_graph_id); |
|
|
|
|
|
|
|
|
ComputeGraphPtr compute_graph_tmp = sub_graph_info_ptr->GetSubGraph(); |
|
|
ComputeGraphPtr compute_graph_tmp = sub_graph_info_ptr->GetSubGraph(); |
|
|