Browse Source

!417 save and get compile failed msg

From: @chen-hua-baker
Reviewed-by: @xchu42,@wqtshg
Signed-off-by: @wqtshg
tags/v1.1.0
mindspore-ci-bot Gitee 3 years ago
parent
commit
1b9318a982
6 changed files with 26 additions and 10 deletions
  1. +5
    -3
      ge/graph/manager/graph_manager.cc
  2. +2
    -1
      ge/graph/manager/graph_manager.h
  3. +6
    -1
      ge/graph/optimize/graph_optimize.cc
  4. +2
    -1
      ge/graph/optimize/graph_optimize.h
  5. +7
    -0
      ge/ir_build/ge_ir_build.cc
  6. +4
    -4
      inc/external/ge/ge_api_types.h

+ 5
- 3
ge/graph/manager/graph_manager.cc View File

@@ -548,7 +548,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;
@@ -563,7 +563,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");
@@ -2505,7 +2505,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);
@@ -2521,6 +2522,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());


+ 2
- 1
ge/graph/manager/graph_manager.h View File

@@ -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,


+ 6
- 1
ge/graph/optimize/graph_optimize.cc View File

@@ -76,7 +76,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;
@@ -105,6 +106,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;
} }


+ 2
- 1
ge/graph/optimize/graph_optimize.h View File

@@ -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);


+ 7
- 0
ge/ir_build/ge_ir_build.cc View File

@@ -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;
} }




+ 4
- 4
inc/external/ge/ge_api_types.h View File

@@ -364,8 +364,8 @@ static const char *const OPTYPELIST_FOR_IMPLMODE = ge::OPTYPELIST_FOR_IMPLMODE.c
static const char *const DEBUG_DIR = ge::DEBUG_DIR; static const char *const DEBUG_DIR = ge::DEBUG_DIR;
static const char *const OP_COMPILER_CACHE_DIR = ge::OP_COMPILER_CACHE_DIR; static const char *const OP_COMPILER_CACHE_DIR = ge::OP_COMPILER_CACHE_DIR;
static const char *const OP_COMPILER_CACHE_MODE = ge::OP_COMPILER_CACHE_MODE; static const char *const OP_COMPILER_CACHE_MODE = ge::OP_COMPILER_CACHE_MODE;
static const char *const MDL_BANK_PATH_FLAG = ge::MDL_BANK_PATH_FLAG.c_str();
static const char *const OP_BANK_PATH_FLAG = ge::OP_BANK_PATH_FLAG.c_str();
static const char *const MDL_BANK_PATH = ge::MDL_BANK_PATH_FLAG.c_str();
static const char *const OP_BANK_PATH = ge::OP_BANK_PATH_FLAG.c_str();
static const char *const OP_DEBUG_LEVEL = ge::OP_DEBUG_LEVEL.c_str(); static const char *const OP_DEBUG_LEVEL = ge::OP_DEBUG_LEVEL.c_str();


// for interface: aclgrphBuildModel // for interface: aclgrphBuildModel
@@ -387,8 +387,8 @@ const std::set<std::string> ir_builder_suppported_options = {INPUT_FORMAT,
DEBUG_DIR, DEBUG_DIR,
OP_COMPILER_CACHE_DIR, OP_COMPILER_CACHE_DIR,
OP_COMPILER_CACHE_MODE, OP_COMPILER_CACHE_MODE,
MDL_BANK_PATH_FLAG,
OP_BANK_PATH_FLAG};
MDL_BANK_PATH,
OP_BANK_PATH};


// for interface: aclgrphParse // for interface: aclgrphParse
const std::set<std::string> ir_parser_suppported_options = {INPUT_FORMAT, const std::set<std::string> ir_parser_suppported_options = {INPUT_FORMAT,


Loading…
Cancel
Save