From 4d9719c9751db71aef47ec4689e2f2a79a3cd45e Mon Sep 17 00:00:00 2001 From: chuxing Date: Wed, 18 Nov 2020 09:55:43 +0800 Subject: [PATCH 1/3] trim file name if it got too long --- ge/offline/single_op_parser.cc | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/ge/offline/single_op_parser.cc b/ge/offline/single_op_parser.cc index 72f742e9..f89f4584 100644 --- a/ge/offline/single_op_parser.cc +++ b/ge/offline/single_op_parser.cc @@ -54,6 +54,7 @@ constexpr int kDumpJsonIndent = 2; constexpr int kShapeRangePairSize = 2; constexpr int kShapeRangeLow = 0; constexpr int kShapeRangeHigh = 1; +constexpr int kMaxFileNameLen = 128; map kAttrTypeDict = { {"bool", GeAttrValue::VT_BOOL}, @@ -363,8 +364,12 @@ Status SingleOpParser::ConvertToBuildParam(int index, return PARAM_INVALID; } - file_name << kFileSuffix; build_param.file_name = file_name.str(); + if (build_param.file_name.length() > kMaxFileNameLen) { + GELOGI("Trim file name for it is too long, origin file name = %s", build_param.file_name.c_str()); + build_param.file_name = build_param.file_name.substr(0, kMaxFileNameLen); + } + build_param.file_name += kFileSuffix; build_param.op_desc.reset(op_desc.release()); return SUCCESS; } From cc7fb9e19468e7b476115ad34f4dcaa3b10518cc Mon Sep 17 00:00:00 2001 From: chuxing Date: Wed, 18 Nov 2020 10:02:48 +0800 Subject: [PATCH 2/3] format --- ge/offline/single_op_parser.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ge/offline/single_op_parser.cc b/ge/offline/single_op_parser.cc index f89f4584..a4371fa4 100644 --- a/ge/offline/single_op_parser.cc +++ b/ge/offline/single_op_parser.cc @@ -369,7 +369,7 @@ Status SingleOpParser::ConvertToBuildParam(int index, GELOGI("Trim file name for it is too long, origin file name = %s", build_param.file_name.c_str()); build_param.file_name = build_param.file_name.substr(0, kMaxFileNameLen); } - build_param.file_name += kFileSuffix; + build_param.file_name += kFileSuffix; build_param.op_desc.reset(op_desc.release()); return SUCCESS; } From ca6408aeff74bd6ffe89e68495d907c450223029 Mon Sep 17 00:00:00 2001 From: chuxing Date: Wed, 18 Nov 2020 11:46:58 +0800 Subject: [PATCH 3/3] format --- ge/offline/single_op_parser.cc | 46 +++++++++++++++++++++------------- 1 file changed, 28 insertions(+), 18 deletions(-) diff --git a/ge/offline/single_op_parser.cc b/ge/offline/single_op_parser.cc index a4371fa4..a310daec 100644 --- a/ge/offline/single_op_parser.cc +++ b/ge/offline/single_op_parser.cc @@ -95,7 +95,34 @@ map kFormatDict = { {"fractal_z", FORMAT_FRACTAL_Z}, {"nc1hwc0", FORMAT_NC1HWC0}, }; + +std::string GenerateFileName(const SingleOpDesc &single_op_desc, int index) { + std::stringstream file_name_ss; + file_name_ss << index; + file_name_ss << "_" << single_op_desc.op; + for (auto &desc : single_op_desc.input_desc) { + file_name_ss << "_" << desc.type << "_" << desc.format; + for (auto dim : desc.dims) { + file_name_ss << "_" << dim; + } + } + + for (auto &desc : single_op_desc.output_desc) { + file_name_ss << "_" << desc.type << "_" << desc.format; + for (auto dim : desc.dims) { + file_name_ss << "_" << dim; + } + } + + std:string file_name = file_name_ss.str(); + if (file_name.length() > kMaxFileNameLen) { + GELOGI("Trim file name for it is too long, origin file name = %s", file_name.c_str()); + file_name = file_name.substr(0, kMaxFileNameLen); + } + file_name += kFileSuffix; + return file_name; } +} // namespace template void SetAttrValue(const Json &j, SingleOpAttr &attr) { @@ -309,14 +336,7 @@ Status SingleOpParser::ConvertToBuildParam(int index, return MEMALLOC_FAILED; } - std::stringstream file_name; - file_name << index; - file_name << "_" << single_op_desc.op; for (auto &desc : single_op_desc.input_desc) { - file_name << "_" << desc.type << "_" << desc.format; - for (auto dim : desc.dims) { - file_name << "_" << dim; - } GeTensorDesc ge_tensor_desc(GeShape(desc.dims), desc.format, desc.type); @@ -334,11 +354,6 @@ Status SingleOpParser::ConvertToBuildParam(int index, } for (auto &desc : single_op_desc.output_desc) { - file_name << "_" << desc.type << "_" << desc.format; - for (auto dim : desc.dims) { - file_name << "_" << dim; - } - GeTensorDesc ge_tensor_desc(GeShape(desc.dims), desc.format, desc.type); @@ -364,12 +379,7 @@ Status SingleOpParser::ConvertToBuildParam(int index, return PARAM_INVALID; } - build_param.file_name = file_name.str(); - if (build_param.file_name.length() > kMaxFileNameLen) { - GELOGI("Trim file name for it is too long, origin file name = %s", build_param.file_name.c_str()); - build_param.file_name = build_param.file_name.substr(0, kMaxFileNameLen); - } - build_param.file_name += kFileSuffix; + build_param.file_name = GenerateFileName(single_op_desc, index); build_param.op_desc.reset(op_desc.release()); return SUCCESS; }