|
|
|
@@ -151,14 +151,18 @@ void DumpOutput(mindspore::session::KernelGraph *graph, const string &dump_path, |
|
|
|
auto output_size = AnfAlgo::GetOutputTensorNum(node); |
|
|
|
for (size_t j = 0; j < output_size; ++j) { |
|
|
|
auto addr = AnfAlgo::GetOutputAddr(node, j); |
|
|
|
auto shape = trans::GetRuntimePaddingShape(node, j); |
|
|
|
std::vector<int> int_shapes; |
|
|
|
if (trans_flag) { |
|
|
|
int_shapes = trans::GetRuntimePaddingShape(node, j); |
|
|
|
} else { |
|
|
|
auto shape = AnfAlgo::GetOutputDeviceShape(node, j); |
|
|
|
(void)std::transform(shape.begin(), shape.end(), std::back_inserter(int_shapes), |
|
|
|
[](size_t inner_item) { return SizeToInt(inner_item); }); |
|
|
|
} |
|
|
|
auto type = AnfAlgo::GetOutputInferDataType(node, j); |
|
|
|
auto format = kOpFormat_DEFAULT; |
|
|
|
string filepath = dump_path + '/' + kernel_name + '_' + "output_" + std::to_string(j); |
|
|
|
auto ascend_addr = dynamic_cast<const mindspore::device::ascend::AscendDeviceAddress *>(addr); |
|
|
|
std::vector<int> int_shapes; |
|
|
|
(void)std::transform(shape.begin(), shape.end(), std::back_inserter(int_shapes), |
|
|
|
[](size_t inner_item) { return SizeToInt(inner_item); }); |
|
|
|
auto ret = ascend_addr->DumpMemToFile(trans_flag, filepath, format, int_shapes, type); |
|
|
|
if (!ret) { |
|
|
|
MS_LOG(ERROR) << "DumpMemToFile Failed: flag:" << trans_flag << ", path:" << filepath |
|
|
|
@@ -182,14 +186,18 @@ void DumpParameters(mindspore::session::KernelGraph *graph, const string &dump_p |
|
|
|
continue; |
|
|
|
} |
|
|
|
auto addr = AnfAlgo::GetOutputAddr(item, PRAMATER_OUTPUT_INDEX); |
|
|
|
auto shape = trans::GetRuntimePaddingShape(item, PRAMATER_OUTPUT_INDEX); |
|
|
|
std::vector<int> int_shapes; |
|
|
|
if (trans_flag) { |
|
|
|
int_shapes = trans::GetRuntimePaddingShape(item, PRAMATER_OUTPUT_INDEX); |
|
|
|
} else { |
|
|
|
auto shape = AnfAlgo::GetOutputDeviceShape(item, PRAMATER_OUTPUT_INDEX); |
|
|
|
(void)std::transform(shape.begin(), shape.end(), std::back_inserter(int_shapes), |
|
|
|
[](size_t inner_item) { return SizeToInt(inner_item); }); |
|
|
|
} |
|
|
|
auto type = AnfAlgo::GetOutputInferDataType(item, PRAMATER_OUTPUT_INDEX); |
|
|
|
auto format = kOpFormat_DEFAULT; |
|
|
|
string filepath = dump_path + '/' + parameter_name + '_' + "output_0"; |
|
|
|
auto ascend_addr = dynamic_cast<const mindspore::device::ascend::AscendDeviceAddress *>(addr); |
|
|
|
std::vector<int> int_shapes; |
|
|
|
(void)std::transform(shape.begin(), shape.end(), std::back_inserter(int_shapes), |
|
|
|
[](size_t inner_item) { return SizeToInt(inner_item); }); |
|
|
|
auto ret = ascend_addr->DumpMemToFile(trans_flag, filepath, format, int_shapes, type); |
|
|
|
if (!ret) { |
|
|
|
MS_LOG(ERROR) << "DumpMemToFile Failed: flag:" << trans_flag << ", path:" << filepath |
|
|
|
|