Merge pull request !7706 from AdelShafiei/missingdumpinputtags/v1.1.0
| @@ -121,8 +121,8 @@ void E2eDumpUtil::DumpOutput(const session::KernelGraph *graph, const std::strin | |||||
| auto type = AnfAlgo::GetOutputInferDataType(node, j); | auto type = AnfAlgo::GetOutputInferDataType(node, j); | ||||
| std::string file_path = dump_path + '/' + kernel_name + '_' + "output_" + std::to_string(j); | std::string file_path = dump_path + '/' + kernel_name + '_' + "output_" + std::to_string(j); | ||||
| if (IsDeviceTargetGPU()) { | if (IsDeviceTargetGPU()) { | ||||
| DumpGPUMemToFile(file_path, node->fullname_with_scope(), NOT_NULL(addr), trans_flag, int_shapes, type, j, | |||||
| debugger); | |||||
| DumpGPUMemToFile(file_path, node->fullname_with_scope() + "_output", NOT_NULL(addr), trans_flag, int_shapes, | |||||
| type, j, debugger); | |||||
| } else { | } else { | ||||
| DumpMemToFile(file_path, NOT_NULL(addr), trans_flag, int_shapes, type); | DumpMemToFile(file_path, NOT_NULL(addr), trans_flag, int_shapes, type); | ||||
| } | } | ||||
| @@ -160,8 +160,8 @@ void E2eDumpUtil::DumpInput(const session::KernelGraph *graph, const std::string | |||||
| auto type = AnfAlgo::GetOutputInferDataType(input, index); | auto type = AnfAlgo::GetOutputInferDataType(input, index); | ||||
| std::string file_path = dump_path + '/' + kernel_name + '_' + "input_" + std::to_string(j); | std::string file_path = dump_path + '/' + kernel_name + '_' + "input_" + std::to_string(j); | ||||
| if (IsDeviceTargetGPU()) { | if (IsDeviceTargetGPU()) { | ||||
| DumpGPUMemToFile(file_path, node->fullname_with_scope(), NOT_NULL(addr), trans_flag, int_shapes, type, j, | |||||
| debugger); | |||||
| DumpGPUMemToFile(file_path, node->fullname_with_scope() + "_input", NOT_NULL(addr), trans_flag, int_shapes, | |||||
| type, j, debugger); | |||||
| } else { | } else { | ||||
| DumpMemToFile(file_path, NOT_NULL(addr), trans_flag, int_shapes, type); | DumpMemToFile(file_path, NOT_NULL(addr), trans_flag, int_shapes, type); | ||||
| } | } | ||||
| @@ -249,7 +249,7 @@ void E2eDumpUtil::DumpSingleAnfnode(const AnfNodePtr &anf_node, const size_t out | |||||
| std::string file_path = dump_path + '/' + dump_name + '_' + "output_0"; | std::string file_path = dump_path + '/' + dump_name + '_' + "output_0"; | ||||
| if (IsDeviceTargetGPU()) { | if (IsDeviceTargetGPU()) { | ||||
| DumpGPUMemToFile(file_path, node_name, NOT_NULL(addr), trans_flag, int_shapes, type, 0, debugger); | |||||
| DumpGPUMemToFile(file_path, node_name + "_output", NOT_NULL(addr), trans_flag, int_shapes, type, 0, debugger); | |||||
| } else { | } else { | ||||
| DumpMemToFile(file_path, NOT_NULL(addr), trans_flag, int_shapes, type); | DumpMemToFile(file_path, NOT_NULL(addr), trans_flag, int_shapes, type); | ||||
| } | } | ||||
| @@ -895,7 +895,7 @@ void Debugger::LoadSingleAnfnode(const AnfNodePtr &anf_node, const size_t output | |||||
| MS_EXCEPTION_IF_NULL(addr); | MS_EXCEPTION_IF_NULL(addr); | ||||
| auto type = AnfAlgo::GetOutputInferDataType(anf_node, output_index); | auto type = AnfAlgo::GetOutputInferDataType(anf_node, output_index); | ||||
| auto format = kOpFormat_DEFAULT; | auto format = kOpFormat_DEFAULT; | ||||
| string tensor_name = node_name + ':' + "0"; | |||||
| string tensor_name = node_name + "_output:" + "0"; | |||||
| ShapeVector int_shapes; | ShapeVector int_shapes; | ||||
| auto shape = AnfAlgo::GetOutputDeviceShape(anf_node, output_index); | auto shape = AnfAlgo::GetOutputDeviceShape(anf_node, output_index); | ||||
| (void)std::transform(shape.begin(), shape.end(), std::back_inserter(int_shapes), | (void)std::transform(shape.begin(), shape.end(), std::back_inserter(int_shapes), | ||||
| @@ -123,18 +123,23 @@ void LoadKernelData(Debugger *debugger, const CNodePtr &kernel, | |||||
| // get inputs | // get inputs | ||||
| auto input_size = AnfAlgo::GetInputTensorNum(kernel); | auto input_size = AnfAlgo::GetInputTensorNum(kernel); | ||||
| for (size_t j = 0; j < input_size; ++j) { | for (size_t j = 0; j < input_size; ++j) { | ||||
| auto input_kernel = kernel->input(j + 1); | |||||
| auto kernel_with_index = AnfAlgo::GetPrevNodeOutput(kernel, j); | |||||
| auto input_kernel = kernel_with_index.first; | |||||
| auto index = kernel_with_index.second; | |||||
| std::string input_kernel_name = input_kernel->fullname_with_scope(); | std::string input_kernel_name = input_kernel->fullname_with_scope(); | ||||
| auto addr = kernel_inputs[j]; | auto addr = kernel_inputs[j]; | ||||
| auto type = AnfAlgo::GetOutputInferDataType(input_kernel, PARAMETER_OUTPUT_INDEX); | auto type = AnfAlgo::GetOutputInferDataType(input_kernel, PARAMETER_OUTPUT_INDEX); | ||||
| auto format = kOpFormat_DEFAULT; | auto format = kOpFormat_DEFAULT; | ||||
| auto gpu_addr = std::make_unique<GPUDeviceAddress>(addr->addr, addr->size, format, type); | auto gpu_addr = std::make_unique<GPUDeviceAddress>(addr->addr, addr->size, format, type); | ||||
| string input_tensor_name = input_kernel_name + ':' + "0"; | |||||
| string input_tensor_name = input_kernel_name + "_output:" + std::to_string(index); | |||||
| ShapeVector int_shapes; | ShapeVector int_shapes; | ||||
| auto shape = AnfAlgo::GetOutputDeviceShape(input_kernel, PARAMETER_OUTPUT_INDEX); | auto shape = AnfAlgo::GetOutputDeviceShape(input_kernel, PARAMETER_OUTPUT_INDEX); | ||||
| (void)std::transform(shape.begin(), shape.end(), std::back_inserter(int_shapes), | (void)std::transform(shape.begin(), shape.end(), std::back_inserter(int_shapes), | ||||
| [](size_t inner_item) { return SizeToInt(inner_item); }); | [](size_t inner_item) { return SizeToInt(inner_item); }); | ||||
| auto ret = gpu_addr->LoadMemToHost(input_tensor_name, exec_order, format, int_shapes, type, 0, true); | |||||
| auto cur_node_name = kernel->fullname_with_scope(); | |||||
| auto ret = gpu_addr->LoadMemToHost(cur_node_name + "_input:" + std::to_string(j), exec_order, format, int_shapes, | |||||
| type, 0, true); | |||||
| if (!ret) { | if (!ret) { | ||||
| MS_LOG(ERROR) << "LoadMemToHost:" | MS_LOG(ERROR) << "LoadMemToHost:" | ||||
| << ", tensor_name:" << input_tensor_name << ", host_format:" << format << ".!"; | << ", tensor_name:" << input_tensor_name << ", host_format:" << format << ".!"; | ||||
| @@ -156,7 +161,7 @@ void LoadKernelData(Debugger *debugger, const CNodePtr &kernel, | |||||
| auto type = AnfAlgo::GetOutputInferDataType(kernel, j); | auto type = AnfAlgo::GetOutputInferDataType(kernel, j); | ||||
| auto format = kOpFormat_DEFAULT; | auto format = kOpFormat_DEFAULT; | ||||
| auto gpu_addr = std::make_unique<GPUDeviceAddress>(addr->addr, addr->size, format, type); | auto gpu_addr = std::make_unique<GPUDeviceAddress>(addr->addr, addr->size, format, type); | ||||
| string tensor_name = kernel_name + ':' + std::to_string(j); | |||||
| string tensor_name = kernel_name + "_output:" + "0"; | |||||
| ShapeVector int_shapes; | ShapeVector int_shapes; | ||||
| auto shape = AnfAlgo::GetOutputDeviceShape(kernel, j); | auto shape = AnfAlgo::GetOutputDeviceShape(kernel, j); | ||||
| (void)std::transform(shape.begin(), shape.end(), std::back_inserter(int_shapes), | (void)std::transform(shape.begin(), shape.end(), std::back_inserter(int_shapes), | ||||