save and get compile failed msg

pull/417/head
baker 4 years ago
parent bb29c4c522
commit c84c73ada5

@ -552,7 +552,7 @@ 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, compute_graph, session_id, GetThreadLocalContext());
if (!f.valid()) { if (!f.valid()) {
GELOGE(FAILED, "Future is invalid"); GELOGE(FAILED, "Future is invalid");
return FAILED; return FAILED;
@ -567,7 +567,7 @@ 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, compute_graph->GetGraphID(), subgraph, compute_graph, session_id,
GetThreadLocalContext()); GetThreadLocalContext());
if (!f.valid()) { if (!f.valid()) {
GELOGE(FAILED, "Future is invalid"); GELOGE(FAILED, "Future is invalid");
@ -2510,7 +2510,8 @@ 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,
const ComputeGraphPtr &compute_graph, uint64_t session_id,
const GEThreadLocalContext &ge_context) { const GEThreadLocalContext &ge_context) {
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);
@ -2526,6 +2527,7 @@ Status GraphManager::ProcessSubGraphWithMultiThreads(GraphManager *graph_manager
GE_CHECK_NOTNULL(compute_graph_tmp); GE_CHECK_NOTNULL(compute_graph_tmp);
compute_graph_tmp->SetSessionID(session_id); compute_graph_tmp->SetSessionID(session_id);
Status ret = graph_manager->GetCompilerStages(root_graph_id).optimizer.OptimizeSubGraph(compute_graph_tmp, Status ret = graph_manager->GetCompilerStages(root_graph_id).optimizer.OptimizeSubGraph(compute_graph_tmp,
compute_graph,
engine_name); engine_name);
if (ret != SUCCESS) { if (ret != SUCCESS) {
GELOGE(ret, "SubGraph optimize Failed %s", engine_name.c_str()); GELOGE(ret, "SubGraph optimize Failed %s", engine_name.c_str());

@ -218,7 +218,8 @@ class GraphManager {
std::shared_ptr<GraphModelListener> GetModelListener() const { return graph_run_listener_; } std::shared_ptr<GraphModelListener> GetModelListener() const { return graph_run_listener_; }
static Status ProcessSubGraphWithMultiThreads(GraphManager *graph_manager, GraphId root_graph_id, static Status ProcessSubGraphWithMultiThreads(GraphManager *graph_manager, GraphId root_graph_id,
const SubGraphInfoPtr &sub_graph_info_ptr, uint64_t session_id, const SubGraphInfoPtr &sub_graph_info_ptr,
const ComputeGraphPtr &compute_graph, uint64_t session_id,
const GEThreadLocalContext &ge_context); const GEThreadLocalContext &ge_context);
Status ParseInputsDims(const std::vector<InputTensorInfo> &input_tensor); Status ParseInputsDims(const std::vector<InputTensorInfo> &input_tensor);
Status DistinguishGetNextAndData(ComputeGraphPtr &graph, vector<NodePtr> &data_nodes, Status DistinguishGetNextAndData(ComputeGraphPtr &graph, vector<NodePtr> &data_nodes,

@ -77,7 +77,8 @@ void AddNodeInputProperty(ComputeGraphPtr &compute_graph) {
} }
} }
Status GraphOptimize::OptimizeSubGraph(ComputeGraphPtr &compute_graph, const std::string &engine_name) { Status GraphOptimize::OptimizeSubGraph(ComputeGraphPtr &compute_graph, const ComputeGraphPtr &parent_graph,
const std::string &engine_name) {
if (compute_graph == nullptr) { if (compute_graph == nullptr) {
GELOGE(GE_GRAPH_OPTIMIZE_COMPUTE_GRAPH_NULL, "[OptimizeSubGraph]: compute_graph is nullptr."); GELOGE(GE_GRAPH_OPTIMIZE_COMPUTE_GRAPH_NULL, "[OptimizeSubGraph]: compute_graph is nullptr.");
return GE_GRAPH_OPTIMIZE_COMPUTE_GRAPH_NULL; return GE_GRAPH_OPTIMIZE_COMPUTE_GRAPH_NULL;
@ -106,6 +107,10 @@ Status GraphOptimize::OptimizeSubGraph(ComputeGraphPtr &compute_graph, const std
for (auto iter = graph_optimizer.begin(); iter != graph_optimizer.end(); ++iter) { for (auto iter = graph_optimizer.begin(); iter != graph_optimizer.end(); ++iter) {
Status ret = (*iter)->OptimizeFusedGraphAfterGraphSlice(*(compute_graph)); Status ret = (*iter)->OptimizeFusedGraphAfterGraphSlice(*(compute_graph));
if (ret != SUCCESS) { if (ret != SUCCESS) {
auto root_graph = ge::GraphUtils::FindRootGraph(parent_graph);
if (root_graph != nullptr) {
ErrorManager.GetInstance().SaveMstuneCompileFailedMsg(root_graph->GetName());
}
GELOGE(ret, "[OptimizeSubGraph][OptimizeFusedGraphAfterGraphSlice]: graph optimize failed, ret:%d", ret); GELOGE(ret, "[OptimizeSubGraph][OptimizeFusedGraphAfterGraphSlice]: graph optimize failed, ret:%d", ret);
return ret; return ret;
} }

@ -42,7 +42,8 @@ class GraphOptimize {
~GraphOptimize() = default; ~GraphOptimize() = default;
// subgraph optimize // subgraph optimize
Status OptimizeSubGraph(ComputeGraphPtr &compute_graph, const std::string &engine_name); Status OptimizeSubGraph(ComputeGraphPtr &compute_graph, const ComputeGraphPtr &parent_graph,
const std::string &engine_name);
// original graph optimize // original graph optimize
Status OptimizeOriginalGraph(ComputeGraphPtr &compute_graph); Status OptimizeOriginalGraph(ComputeGraphPtr &compute_graph);

@ -164,6 +164,13 @@ graphStatus aclgrphBuildInitializeImpl(std::map<std::string, std::string> &globa
} }
} }
GELOGW("gelib has been initialized!"); GELOGW("gelib has been initialized!");
std::string path_base = ge::GELib::GetPath();
int ret = ErrorManager::GetInstance().Init(path_base);
if (ret != 0) {
DOMI_LOGE("ErrorManager init fail !");
return GRAPH_FAILED;
}
return GRAPH_SUCCESS; return GRAPH_SUCCESS;
} }

Loading…
Cancel
Save