|
|
|
@@ -64,6 +64,7 @@ |
|
|
|
#endif |
|
|
|
#ifdef ENABLE_DUMP_IR |
|
|
|
#include "debug/rdr/running_data_recorder.h" |
|
|
|
#include "debug/rdr/recorder_manager.h" |
|
|
|
#endif |
|
|
|
|
|
|
|
namespace mindspore { |
|
|
|
@@ -723,19 +724,21 @@ void Pipeline::Run() { |
|
|
|
MS_LOG(EXCEPTION) << "Pipeline running to end, failed in step:" << action.first; |
|
|
|
} |
|
|
|
#ifdef ENABLE_DUMP_IR |
|
|
|
MS_LOG(INFO) << "Clone func_graph."; |
|
|
|
std::string tag = GetBaseNameForIR(i, action.first); |
|
|
|
if (resource_->func_graph() != nullptr) { |
|
|
|
auto graph_clone = BasicClone(resource_->func_graph()); |
|
|
|
if (graph_clone != nullptr) { |
|
|
|
mindspore::RDR::RecordAnfGraph(SUBMODULE_ID, tag, graph_clone, false, ".ir"); |
|
|
|
if (mindspore::RecorderManager::Instance().RdrEnable()) { |
|
|
|
MS_LOG(INFO) << "Recording FuncGraph in pipeline using RDR."; |
|
|
|
std::string tag = GetBaseNameForIR(i, action.first); |
|
|
|
if (resource_->func_graph() != nullptr) { |
|
|
|
auto graph_clone = BasicClone(resource_->func_graph()); |
|
|
|
if (graph_clone != nullptr) { |
|
|
|
mindspore::RDR::RecordAnfGraph(SUBMODULE_ID, tag, graph_clone, false, ".ir"); |
|
|
|
} else { |
|
|
|
MS_LOG(WARNING) << "Clone FuncGraph failed in pipeline, no FuncGraph recording in RDR."; |
|
|
|
} |
|
|
|
} else { |
|
|
|
MS_LOG(WARNING) << "Clone func_graph failed in pipeline, no func_graph recording in RDR."; |
|
|
|
MS_LOG(WARNING) << "Pipeline Resource has no FuncGraph, no FuncGraph recording in RDR"; |
|
|
|
} |
|
|
|
} else { |
|
|
|
MS_LOG(WARNING) << "Resource's func_graph is empty in pipeline, no func_graph recording in RDR"; |
|
|
|
MS_LOG(INFO) << "Recording FuncGraph in pipeline end."; |
|
|
|
} |
|
|
|
MS_LOG(INFO) << "Clone func_graph end."; |
|
|
|
#endif |
|
|
|
if (MsContext::GetInstance()->get_param<bool>(MS_CTX_SAVE_GRAPHS_FLAG) && resource_->func_graph() != nullptr) { |
|
|
|
auto graph = resource_->func_graph(); |
|
|
|
|