@@ -221,7 +221,10 @@ ge::Status Analyzer::SaveAnalyzerDataToFile(uint64_t session_id, uint64_t graph_ | |||||
try { | try { | ||||
json_file_ << jsn.dump(kJsonDumpLevel) << std::endl; | json_file_ << jsn.dump(kJsonDumpLevel) << std::endl; | ||||
} catch (nlohmann::detail::type_error &e) { | } catch (nlohmann::detail::type_error &e) { | ||||
GELOGE(FAILED, "[Json.dump][GraphInfo]json.dump to analyze file [%s] failed because [%s], session_id:%lu, graph_id:%lu", json_file_name_.c_str(), e.what(), session_id, graph_id); | |||||
GELOGE(FAILED, | |||||
"[Json.dump][GraphInfo]json.dump to analyze file [%s] failed because [%s]," | |||||
"session_id:%lu, graph_id:%lu", | |||||
json_file_name_.c_str(), e.what(), session_id, graph_id); | |||||
ret_failed = true; | ret_failed = true; | ||||
} | } | ||||
json_file_.close(); | json_file_.close(); | ||||
@@ -241,7 +244,9 @@ ge::Status Analyzer::DoAnalyze(DataInfo &data_info) { | |||||
GE_CHECK_NOTNULL(graph_info); | GE_CHECK_NOTNULL(graph_info); | ||||
auto status = SaveOpInfo(desc, data_info, graph_info); | auto status = SaveOpInfo(desc, data_info, graph_info); | ||||
if (status != SUCCESS) { | if (status != SUCCESS) { | ||||
GELOGE(status, "[Check][SaveOpInfo]save op info: desc_name [%s] desc_type [%s] failed!", desc->GetName().c_str(), desc->GetType().c_str()); | |||||
GELOGE(status, | |||||
"[Check][SaveOpInfo]save op info: desc_name [%s] desc_type [%s] failed!", | |||||
desc->GetName().c_str(), desc->GetType().c_str()); | |||||
return FAILED; | return FAILED; | ||||
} | } | ||||
// create json file | // create json file | ||||
@@ -154,7 +154,8 @@ Status DataTypeTransfer::TransDataType(const CastArgs &args, TransResult &result | |||||
std::shared_ptr<uint8_t> dst(new (std::nothrow) uint8_t[total_size], std::default_delete<uint8_t[]>()); | std::shared_ptr<uint8_t> dst(new (std::nothrow) uint8_t[total_size], std::default_delete<uint8_t[]>()); | ||||
if (dst == nullptr) { | if (dst == nullptr) { | ||||
GELOGE(ACL_ERROR_GE_MEMORY_ALLOCATION, "Failed to alloc the memory for dst buf %zu, data size %zu", total_size, args.src_data_size); | |||||
GELOGE(ACL_ERROR_GE_MEMORY_ALLOCATION, | |||||
"Failed to alloc the memory for dst buf %zu, data size %zu", total_size, args.src_data_size); | |||||
return ACL_ERROR_GE_MEMORY_ALLOCATION; | return ACL_ERROR_GE_MEMORY_ALLOCATION; | ||||
} | } | ||||
@@ -73,7 +73,8 @@ Status CheckArgsForC1hwncoc0ToHwcn(const TransArgs &args) { | |||||
Status GetDstDataAfterTrans(const TransArgs &args, TransResult &result, int size, int64_t total_size) { | Status GetDstDataAfterTrans(const TransArgs &args, TransResult &result, int size, int64_t total_size) { | ||||
std::shared_ptr<uint8_t> dst(new (std::nothrow) uint8_t[total_size], std::default_delete<uint8_t[]>()); | std::shared_ptr<uint8_t> dst(new (std::nothrow) uint8_t[total_size], std::default_delete<uint8_t[]>()); | ||||
if (dst == nullptr) { | if (dst == nullptr) { | ||||
GELOGE(ACL_ERROR_GE_MEMORY_ALLOCATION, "Failed to trans format from %s to %s, can not alloc the memory for dst buf %ld, shape %s", | |||||
GELOGE(ACL_ERROR_GE_MEMORY_ALLOCATION, | |||||
"Failed to trans format from %s to %s, can not alloc the memory for dst buf %ld, shape %s", | |||||
TypeUtils::FormatToSerialString(args.src_format).c_str(), | TypeUtils::FormatToSerialString(args.src_format).c_str(), | ||||
TypeUtils::FormatToSerialString(args.dst_format).c_str(), total_size, ShapeToString(args.dst_shape).c_str()); | TypeUtils::FormatToSerialString(args.dst_format).c_str(), total_size, ShapeToString(args.dst_shape).c_str()); | ||||
return ACL_ERROR_GE_MEMORY_ALLOCATION; | return ACL_ERROR_GE_MEMORY_ALLOCATION; | ||||
@@ -94,7 +94,8 @@ Status TransFormatDhwckToFz3D(const TransArgs &args, TransResult &result) { | |||||
std::shared_ptr<uint8_t> dst(new (std::nothrow) uint8_t[dst_size], std::default_delete<uint8_t[]>()); | std::shared_ptr<uint8_t> dst(new (std::nothrow) uint8_t[dst_size], std::default_delete<uint8_t[]>()); | ||||
if (dst == nullptr) { | if (dst == nullptr) { | ||||
GELOGE(ACL_ERROR_GE_MEMORY_ALLOCATION, "Failed to trans format from %s to %s, can not alloc the memory for dst buf %ld", | |||||
GELOGE(ACL_ERROR_GE_MEMORY_ALLOCATION, | |||||
"Failed to trans format from %s to %s, can not alloc the memory for dst buf %ld", | |||||
TypeUtils::FormatToSerialString(args.src_format).c_str(), | TypeUtils::FormatToSerialString(args.src_format).c_str(), | ||||
TypeUtils::FormatToSerialString(args.dst_format).c_str(), dst_size); | TypeUtils::FormatToSerialString(args.dst_format).c_str(), dst_size); | ||||
return ACL_ERROR_GE_MEMORY_ALLOCATION; | return ACL_ERROR_GE_MEMORY_ALLOCATION; | ||||
@@ -122,7 +123,8 @@ Status TransFormatDhwckToFz3D(const TransArgs &args, TransResult &result) { | |||||
args.data + src_idx * data_size, static_cast<size_t>(data_size)); | args.data + src_idx * data_size, static_cast<size_t>(data_size)); | ||||
} | } | ||||
if (ret != EOK) { | if (ret != EOK) { | ||||
GELOGE(ACL_ERROR_GE_MEMORY_OPERATE_FAILED, "Failed to operate the dst memory at offset %ld, error-code %d, pad mode %d", | |||||
GELOGE(ACL_ERROR_GE_MEMORY_OPERATE_FAILED, | |||||
"Failed to operate the dst memory at offset %ld, error-code %d, pad mode %d", | |||||
dst_offset, ret, pad_zero); | dst_offset, ret, pad_zero); | ||||
return ACL_ERROR_GE_MEMORY_OPERATE_FAILED; | return ACL_ERROR_GE_MEMORY_OPERATE_FAILED; | ||||
} | } | ||||
@@ -95,7 +95,8 @@ Status TransFormatDhwncToFz3DTranspose(const TransArgs &args, TransResult &resul | |||||
std::shared_ptr<uint8_t> dst(new (std::nothrow) uint8_t[dst_size], std::default_delete<uint8_t[]>()); | std::shared_ptr<uint8_t> dst(new (std::nothrow) uint8_t[dst_size], std::default_delete<uint8_t[]>()); | ||||
if (dst == nullptr) { | if (dst == nullptr) { | ||||
GELOGE(ACL_ERROR_GE_MEMORY_ALLOCATION, "Failed to trans format from %s to %s, can not alloc the memory for dst buf %ld", | |||||
GELOGE(ACL_ERROR_GE_MEMORY_ALLOCATION, | |||||
"Failed to trans format from %s to %s, can not alloc the memory for dst buf %ld", | |||||
TypeUtils::FormatToSerialString(args.src_format).c_str(), | TypeUtils::FormatToSerialString(args.src_format).c_str(), | ||||
TypeUtils::FormatToSerialString(args.dst_format).c_str(), dst_size); | TypeUtils::FormatToSerialString(args.dst_format).c_str(), dst_size); | ||||
return ACL_ERROR_GE_MEMORY_ALLOCATION; | return ACL_ERROR_GE_MEMORY_ALLOCATION; | ||||
@@ -123,7 +124,8 @@ Status TransFormatDhwncToFz3DTranspose(const TransArgs &args, TransResult &resul | |||||
args.data + src_idx * data_size, static_cast<size_t>(data_size)); | args.data + src_idx * data_size, static_cast<size_t>(data_size)); | ||||
} | } | ||||
if (ret != EOK) { | if (ret != EOK) { | ||||
GELOGE(ACL_ERROR_GE_MEMORY_OPERATE_FAILED, "Failed to operate the dst memory at offset %ld, error-code %d, pad mode %d", | |||||
GELOGE(ACL_ERROR_GE_MEMORY_OPERATE_FAILED, | |||||
"Failed to operate the dst memory at offset %ld, error-code %d, pad mode %d", | |||||
dst_offset, ret, pad_zero); | dst_offset, ret, pad_zero); | ||||
return ACL_ERROR_GE_MEMORY_OPERATE_FAILED; | return ACL_ERROR_GE_MEMORY_OPERATE_FAILED; | ||||
} | } | ||||
@@ -139,7 +139,8 @@ Status TransFormatFromNdToFracNz(const TransArgs &args, TransResult &result, con | |||||
std::shared_ptr<uint8_t> dst(new (std::nothrow) uint8_t[dst_size](), std::default_delete<uint8_t[]>()); | std::shared_ptr<uint8_t> dst(new (std::nothrow) uint8_t[dst_size](), std::default_delete<uint8_t[]>()); | ||||
if (dst == nullptr) { | if (dst == nullptr) { | ||||
GELOGE(ACL_ERROR_GE_MEMORY_ALLOCATION, "Failed to trans format from %s to %s, can not alloc the memory for dst buf %ld", | |||||
GELOGE(ACL_ERROR_GE_MEMORY_ALLOCATION, | |||||
"Failed to trans format from %s to %s, can not alloc the memory for dst buf %ld", | |||||
TypeUtils::FormatToSerialString(args.src_format).c_str(), | TypeUtils::FormatToSerialString(args.src_format).c_str(), | ||||
TypeUtils::FormatToSerialString(args.dst_format).c_str(), dst_size); | TypeUtils::FormatToSerialString(args.dst_format).c_str(), dst_size); | ||||
return ACL_ERROR_GE_MEMORY_ALLOCATION; | return ACL_ERROR_GE_MEMORY_ALLOCATION; | ||||
@@ -175,7 +176,8 @@ Status TransFormatFromNdToFracNz(const TransArgs &args, TransResult &result, con | |||||
auto ret = memcpy_s(dst.get() + dst_offset, static_cast<size_t>(protected_size), args.data + src_offset, | auto ret = memcpy_s(dst.get() + dst_offset, static_cast<size_t>(protected_size), args.data + src_offset, | ||||
static_cast<size_t>(size * w0)); | static_cast<size_t>(size * w0)); | ||||
if (ret != EOK) { | if (ret != EOK) { | ||||
GELOGE(ACL_ERROR_GE_MEMORY_OPERATE_FAILED, "Failed to operate the dst memory at offset %ld, error-code %d", dst_offset, ret); | |||||
GELOGE(ACL_ERROR_GE_MEMORY_OPERATE_FAILED, | |||||
"Failed to operate the dst memory at offset %ld, error-code %d", dst_offset, ret); | |||||
return ACL_ERROR_GE_MEMORY_OPERATE_FAILED; | return ACL_ERROR_GE_MEMORY_OPERATE_FAILED; | ||||
} | } | ||||
} | } | ||||
@@ -189,7 +191,8 @@ Status TransFormatFromNdToFracNz(const TransArgs &args, TransResult &result, con | |||||
auto ret = memcpy_s(dst.get() + dst_offset, static_cast<size_t>(protected_size), args.data + src_offset, | auto ret = memcpy_s(dst.get() + dst_offset, static_cast<size_t>(protected_size), args.data + src_offset, | ||||
static_cast<size_t>(size)); | static_cast<size_t>(size)); | ||||
if (ret != EOK) { | if (ret != EOK) { | ||||
GELOGE(ACL_ERROR_GE_MEMORY_OPERATE_FAILED, "Failed to operate the dst memory at offset %ld, error-code %d", dst_offset, ret); | |||||
GELOGE(ACL_ERROR_GE_MEMORY_OPERATE_FAILED, | |||||
"Failed to operate the dst memory at offset %ld, error-code %d", dst_offset, ret); | |||||
return ACL_ERROR_GE_MEMORY_OPERATE_FAILED; | return ACL_ERROR_GE_MEMORY_OPERATE_FAILED; | ||||
} | } | ||||
} | } | ||||
@@ -210,7 +213,8 @@ Status TransFormatFromFracNzToNd(const TransArgs &args, TransResult &result, con | |||||
std::shared_ptr<uint8_t> dst(new (std::nothrow) uint8_t[dst_size], std::default_delete<uint8_t[]>()); | std::shared_ptr<uint8_t> dst(new (std::nothrow) uint8_t[dst_size], std::default_delete<uint8_t[]>()); | ||||
if (dst == nullptr) { | if (dst == nullptr) { | ||||
GELOGE(ACL_ERROR_GE_MEMORY_ALLOCATION, "Failed to trans format from %s to %s, can not alloc the memory for dst buf %ld", | |||||
GELOGE(ACL_ERROR_GE_MEMORY_ALLOCATION, | |||||
"Failed to trans format from %s to %s, can not alloc the memory for dst buf %ld", | |||||
TypeUtils::FormatToSerialString(args.src_format).c_str(), | TypeUtils::FormatToSerialString(args.src_format).c_str(), | ||||
TypeUtils::FormatToSerialString(args.dst_format).c_str(), dst_size); | TypeUtils::FormatToSerialString(args.dst_format).c_str(), dst_size); | ||||
return ACL_ERROR_GE_MEMORY_ALLOCATION; | return ACL_ERROR_GE_MEMORY_ALLOCATION; | ||||
@@ -246,7 +250,8 @@ Status TransFormatFromFracNzToNd(const TransArgs &args, TransResult &result, con | |||||
ret = memcpy_s(dst.get() + dst_offset, static_cast<size_t>(protected_size), args.data + src_offset, | ret = memcpy_s(dst.get() + dst_offset, static_cast<size_t>(protected_size), args.data + src_offset, | ||||
static_cast<size_t>(size * w0)); | static_cast<size_t>(size * w0)); | ||||
if (ret != EOK) { | if (ret != EOK) { | ||||
GELOGE(ACL_ERROR_GE_MEMORY_OPERATE_FAILED, "Failed to operate the dst memory at offset %ld, error-code %d", dst_offset, ret); | |||||
GELOGE(ACL_ERROR_GE_MEMORY_OPERATE_FAILED, | |||||
"Failed to operate the dst memory at offset %ld, error-code %d", dst_offset, ret); | |||||
return ACL_ERROR_GE_MEMORY_OPERATE_FAILED; | return ACL_ERROR_GE_MEMORY_OPERATE_FAILED; | ||||
} | } | ||||
} | } | ||||
@@ -260,7 +265,8 @@ Status TransFormatFromFracNzToNd(const TransArgs &args, TransResult &result, con | |||||
ret = memcpy_s(dst.get() + dst_offset, static_cast<size_t>(protected_size), args.data + src_offset, | ret = memcpy_s(dst.get() + dst_offset, static_cast<size_t>(protected_size), args.data + src_offset, | ||||
static_cast<size_t>(size)); | static_cast<size_t>(size)); | ||||
if (ret != EOK) { | if (ret != EOK) { | ||||
GELOGE(ACL_ERROR_GE_MEMORY_OPERATE_FAILED, "Failed to operate the dst memory at offset %ld, error-code %d", dst_offset, ret); | |||||
GELOGE(ACL_ERROR_GE_MEMORY_OPERATE_FAILED, | |||||
"Failed to operate the dst memory at offset %ld, error-code %d", dst_offset, ret); | |||||
return ACL_ERROR_GE_MEMORY_OPERATE_FAILED; | return ACL_ERROR_GE_MEMORY_OPERATE_FAILED; | ||||
} | } | ||||
} | } | ||||
@@ -274,14 +280,16 @@ Status TransFormatFromFracNzToNd(const TransArgs &args, TransResult &result, con | |||||
Status FormatTransferFractalNz::TransFormat(const TransArgs &args, TransResult &result) { | Status FormatTransferFractalNz::TransFormat(const TransArgs &args, TransResult &result) { | ||||
if (!IsDataTypeSupport(args.src_data_type)) { | if (!IsDataTypeSupport(args.src_data_type)) { | ||||
GELOGE(ACL_ERROR_GE_DATATYPE_INVALID, "Trans format from %s to %s, src shape %s, dst shape %s, data type %s is not supported", | |||||
GELOGE(ACL_ERROR_GE_DATATYPE_INVALID, | |||||
"Trans format from %s to %s, src shape %s, dst shape %s, data type %s is not supported", | |||||
TypeUtils::FormatToSerialString(args.src_format).c_str(), | TypeUtils::FormatToSerialString(args.src_format).c_str(), | ||||
TypeUtils::FormatToSerialString(args.dst_format).c_str(), ShapeToString(args.src_shape).c_str(), | TypeUtils::FormatToSerialString(args.dst_format).c_str(), ShapeToString(args.src_shape).c_str(), | ||||
ShapeToString(args.dst_shape).c_str(), TypeUtils::DataTypeToSerialString(args.src_data_type).c_str()); | ShapeToString(args.dst_shape).c_str(), TypeUtils::DataTypeToSerialString(args.src_data_type).c_str()); | ||||
return ACL_ERROR_GE_DATATYPE_INVALID; | return ACL_ERROR_GE_DATATYPE_INVALID; | ||||
} | } | ||||
if (!CheckShape(args.src_format, args.src_shape) || !IsShapeValid(args.dst_shape)) { | if (!CheckShape(args.src_format, args.src_shape) || !IsShapeValid(args.dst_shape)) { | ||||
GELOGE(ACL_ERROR_GE_SHAPE_INVALID, "Trans format from %s to %s, src shape %s, dst shape %s, data type %s is not supported", | |||||
GELOGE(ACL_ERROR_GE_SHAPE_INVALID, | |||||
"Trans format from %s to %s, src shape %s, dst shape %s, data type %s is not supported", | |||||
TypeUtils::FormatToSerialString(args.src_format).c_str(), | TypeUtils::FormatToSerialString(args.src_format).c_str(), | ||||
TypeUtils::FormatToSerialString(args.dst_format).c_str(), ShapeToString(args.src_shape).c_str(), | TypeUtils::FormatToSerialString(args.dst_format).c_str(), ShapeToString(args.src_shape).c_str(), | ||||
ShapeToString(args.dst_shape).c_str(), TypeUtils::DataTypeToSerialString(args.src_data_type).c_str()); | ShapeToString(args.dst_shape).c_str(), TypeUtils::DataTypeToSerialString(args.src_data_type).c_str()); | ||||
@@ -325,7 +333,8 @@ Status FormatTransferFractalNz::TransShape(Format src_format, const ShapeVector | |||||
Status FormatTransferFractalNzND::TransFormat(const TransArgs &args, TransResult &result) { | Status FormatTransferFractalNzND::TransFormat(const TransArgs &args, TransResult &result) { | ||||
if (!IsDataTypeSupport(args.src_data_type)) { | if (!IsDataTypeSupport(args.src_data_type)) { | ||||
GELOGE(ACL_ERROR_GE_DATATYPE_INVALID, "Trans format from %s to %s, src shape %s, dst shape %s, data type %s is not supported", | |||||
GELOGE(ACL_ERROR_GE_DATATYPE_INVALID, | |||||
"Trans format from %s to %s, src shape %s, dst shape %s, data type %s is not supported", | |||||
TypeUtils::FormatToSerialString(args.src_format).c_str(), | TypeUtils::FormatToSerialString(args.src_format).c_str(), | ||||
TypeUtils::FormatToSerialString(args.dst_format).c_str(), ShapeToString(args.src_shape).c_str(), | TypeUtils::FormatToSerialString(args.dst_format).c_str(), ShapeToString(args.src_shape).c_str(), | ||||
ShapeToString(args.dst_shape).c_str(), TypeUtils::DataTypeToSerialString(args.src_data_type).c_str()); | ShapeToString(args.dst_shape).c_str(), TypeUtils::DataTypeToSerialString(args.src_data_type).c_str()); | ||||
@@ -333,7 +342,8 @@ Status FormatTransferFractalNzND::TransFormat(const TransArgs &args, TransResult | |||||
} | } | ||||
if (!IsShapeValid(args.src_shape) || !CheckShape(args.dst_format, args.dst_shape)) { | if (!IsShapeValid(args.src_shape) || !CheckShape(args.dst_format, args.dst_shape)) { | ||||
GELOGE(ACL_ERROR_GE_SHAPE_INVALID, "Trans format from %s to %s, src shape %s, dst shape %s, data type %s is not supported", | |||||
GELOGE(ACL_ERROR_GE_SHAPE_INVALID, | |||||
"Trans format from %s to %s, src shape %s, dst shape %s, data type %s is not supported", | |||||
TypeUtils::FormatToSerialString(args.src_format).c_str(), | TypeUtils::FormatToSerialString(args.src_format).c_str(), | ||||
TypeUtils::FormatToSerialString(args.dst_format).c_str(), ShapeToString(args.src_shape).c_str(), | TypeUtils::FormatToSerialString(args.dst_format).c_str(), ShapeToString(args.src_shape).c_str(), | ||||
ShapeToString(args.dst_shape).c_str(), TypeUtils::DataTypeToSerialString(args.src_data_type).c_str()); | ShapeToString(args.dst_shape).c_str(), TypeUtils::DataTypeToSerialString(args.src_data_type).c_str()); | ||||
@@ -127,7 +127,8 @@ Status TransFormatFromNchwToFz(const TransArgs &args, TransResult &result) { | |||||
std::shared_ptr<uint8_t> dst(new (std::nothrow) uint8_t[dst_size], std::default_delete<uint8_t[]>()); | std::shared_ptr<uint8_t> dst(new (std::nothrow) uint8_t[dst_size], std::default_delete<uint8_t[]>()); | ||||
GE_CHK_BOOL_TRUE_EXEC_WITH_LOG( | GE_CHK_BOOL_TRUE_EXEC_WITH_LOG( | ||||
dst == nullptr, | dst == nullptr, | ||||
GELOGE(ACL_ERROR_GE_MEMORY_ALLOCATION, "Failed to trans format from %s to %s, can not alloc the memory for dst buf %ld", | |||||
GELOGE(ACL_ERROR_GE_MEMORY_ALLOCATION, | |||||
"Failed to trans format from %s to %s, can not alloc the memory for dst buf %ld", | |||||
TypeUtils::FormatToSerialString(args.src_format).c_str(), | TypeUtils::FormatToSerialString(args.src_format).c_str(), | ||||
TypeUtils::FormatToSerialString(args.dst_format).c_str(), dst_size); | TypeUtils::FormatToSerialString(args.dst_format).c_str(), dst_size); | ||||
return ACL_ERROR_GE_MEMORY_ALLOCATION;); | return ACL_ERROR_GE_MEMORY_ALLOCATION;); | ||||
@@ -173,8 +174,9 @@ Status TransFormatFromNchwToFz(const TransArgs &args, TransResult &result) { | |||||
} | } | ||||
} | } | ||||
if (ret != EOK) { | if (ret != EOK) { | ||||
GELOGE(ACL_ERROR_GE_MEMORY_OPERATE_FAILED, "Failed to operate the dst memory at offset %ld, error-code %d pad mode %d", offset, | |||||
ret, need_pad_zero); | |||||
GELOGE(ACL_ERROR_GE_MEMORY_OPERATE_FAILED, | |||||
"Failed to operate the dst memory at offset %ld, error-code %d pad mode %d", | |||||
offset, ret, need_pad_zero); | |||||
return ACL_ERROR_GE_MEMORY_OPERATE_FAILED; | return ACL_ERROR_GE_MEMORY_OPERATE_FAILED; | ||||
} | } | ||||
} | } | ||||
@@ -213,7 +215,8 @@ Status TransFormatHwcnToFz(const TransArgs &args, TransResult &result) { | |||||
std::shared_ptr<uint8_t> dst(new (std::nothrow) uint8_t[dst_size], std::default_delete<uint8_t[]>()); | std::shared_ptr<uint8_t> dst(new (std::nothrow) uint8_t[dst_size], std::default_delete<uint8_t[]>()); | ||||
GE_CHK_BOOL_TRUE_EXEC_WITH_LOG( | GE_CHK_BOOL_TRUE_EXEC_WITH_LOG( | ||||
dst == nullptr, | dst == nullptr, | ||||
GELOGE(ACL_ERROR_GE_MEMORY_ALLOCATION, "Failed to trans format from %s to %s, can not alloc the memory for dst buf %ld", | |||||
GELOGE(ACL_ERROR_GE_MEMORY_ALLOCATION, | |||||
"Failed to trans format from %s to %s, can not alloc the memory for dst buf %ld", | |||||
TypeUtils::FormatToSerialString(args.src_format).c_str(), | TypeUtils::FormatToSerialString(args.src_format).c_str(), | ||||
TypeUtils::FormatToSerialString(args.dst_format).c_str(), dst_size); | TypeUtils::FormatToSerialString(args.dst_format).c_str(), dst_size); | ||||
return ACL_ERROR_GE_MEMORY_ALLOCATION;); | return ACL_ERROR_GE_MEMORY_ALLOCATION;); | ||||
@@ -235,7 +238,8 @@ Status TransFormatHwcnToFz(const TransArgs &args, TransResult &result) { | |||||
static_cast<size_t>(data_size)); | static_cast<size_t>(data_size)); | ||||
} else { | } else { | ||||
if (protected_size < data_size) { | if (protected_size < data_size) { | ||||
GELOGE(ACL_ERROR_GE_PARAM_INVALID, "Failed to operate the dst memory, protected_size is %ld and size is %ld", | |||||
GELOGE(ACL_ERROR_GE_PARAM_INVALID, | |||||
"Failed to operate the dst memory, protected_size is %ld and size is %ld", | |||||
protected_size, data_size); | protected_size, data_size); | ||||
return ACL_ERROR_GE_PARAM_INVALID; | return ACL_ERROR_GE_PARAM_INVALID; | ||||
} | } | ||||
@@ -247,7 +251,8 @@ Status TransFormatHwcnToFz(const TransArgs &args, TransResult &result) { | |||||
} | } | ||||
} | } | ||||
if (ret != EOK) { | if (ret != EOK) { | ||||
GELOGE(ACL_ERROR_GE_MEMORY_OPERATE_FAILED, "Failed to operate the dst memory at offset %ld, error-code %d, pad mode %d", | |||||
GELOGE(ACL_ERROR_GE_MEMORY_OPERATE_FAILED, | |||||
"Failed to operate the dst memory at offset %ld, error-code %d, pad mode %d", | |||||
dst_offset, ret, pad_zero); | dst_offset, ret, pad_zero); | ||||
return ACL_ERROR_GE_MEMORY_OPERATE_FAILED; | return ACL_ERROR_GE_MEMORY_OPERATE_FAILED; | ||||
} | } | ||||
@@ -288,7 +293,8 @@ Status TransFormatNhwcToFz(const TransArgs &args, TransResult &result) { | |||||
std::shared_ptr<uint8_t> dst(new (std::nothrow) uint8_t[dst_size], std::default_delete<uint8_t[]>()); | std::shared_ptr<uint8_t> dst(new (std::nothrow) uint8_t[dst_size], std::default_delete<uint8_t[]>()); | ||||
GE_CHK_BOOL_TRUE_EXEC_WITH_LOG( | GE_CHK_BOOL_TRUE_EXEC_WITH_LOG( | ||||
dst == nullptr, | dst == nullptr, | ||||
GELOGE(ACL_ERROR_GE_MEMORY_ALLOCATION, "Failed to trans format from %s to %s, can not alloc the memory for dst buf %ld", | |||||
GELOGE(ACL_ERROR_GE_MEMORY_ALLOCATION, | |||||
"Failed to trans format from %s to %s, can not alloc the memory for dst buf %ld", | |||||
TypeUtils::FormatToSerialString(args.src_format).c_str(), | TypeUtils::FormatToSerialString(args.src_format).c_str(), | ||||
TypeUtils::FormatToSerialString(args.dst_format).c_str(), dst_size); | TypeUtils::FormatToSerialString(args.dst_format).c_str(), dst_size); | ||||
return ACL_ERROR_GE_MEMORY_ALLOCATION;); | return ACL_ERROR_GE_MEMORY_ALLOCATION;); | ||||
@@ -310,7 +316,8 @@ Status TransFormatNhwcToFz(const TransArgs &args, TransResult &result) { | |||||
static_cast<size_t>(data_size)); | static_cast<size_t>(data_size)); | ||||
} else { | } else { | ||||
if (protected_size < data_size) { | if (protected_size < data_size) { | ||||
GELOGE(ACL_ERROR_GE_PARAM_INVALID, "Failed to operate the dst memory, protected_size is %ld and size is %ld", | |||||
GELOGE(ACL_ERROR_GE_PARAM_INVALID, | |||||
"Failed to operate the dst memory, protected_size is %ld and size is %ld", | |||||
protected_size, data_size); | protected_size, data_size); | ||||
return ACL_ERROR_GE_PARAM_INVALID; | return ACL_ERROR_GE_PARAM_INVALID; | ||||
} | } | ||||
@@ -322,7 +329,8 @@ Status TransFormatNhwcToFz(const TransArgs &args, TransResult &result) { | |||||
} | } | ||||
} | } | ||||
if (ret != EOK) { | if (ret != EOK) { | ||||
GELOGE(ACL_ERROR_GE_MEMORY_OPERATE_FAILED, "Failed to operate the dst memory at offset %ld, error-code %d, pad mode %d", | |||||
GELOGE(ACL_ERROR_GE_MEMORY_OPERATE_FAILED, | |||||
"Failed to operate the dst memory at offset %ld, error-code %d, pad mode %d", | |||||
dst_offset, ret, pad_zero); | dst_offset, ret, pad_zero); | ||||
return ACL_ERROR_GE_MEMORY_OPERATE_FAILED; | return ACL_ERROR_GE_MEMORY_OPERATE_FAILED; | ||||
} | } | ||||
@@ -140,7 +140,8 @@ Status TransFormatFromNdToFracZz(const TransArgs &args, TransResult &result, con | |||||
std::shared_ptr<uint8_t> dst(new (std::nothrow) uint8_t[dst_size](), std::default_delete<uint8_t[]>()); | std::shared_ptr<uint8_t> dst(new (std::nothrow) uint8_t[dst_size](), std::default_delete<uint8_t[]>()); | ||||
if (dst == nullptr) { | if (dst == nullptr) { | ||||
GELOGE(ACL_ERROR_GE_MEMORY_ALLOCATION, "Failed to trans format from %s to %s, can not alloc the memory for dst buf %ld", | |||||
GELOGE(ACL_ERROR_GE_MEMORY_ALLOCATION, | |||||
"Failed to trans format from %s to %s, can not alloc the memory for dst buf %ld", | |||||
TypeUtils::FormatToSerialString(args.src_format).c_str(), | TypeUtils::FormatToSerialString(args.src_format).c_str(), | ||||
TypeUtils::FormatToSerialString(args.dst_format).c_str(), dst_size); | TypeUtils::FormatToSerialString(args.dst_format).c_str(), dst_size); | ||||
return ACL_ERROR_GE_MEMORY_ALLOCATION; | return ACL_ERROR_GE_MEMORY_ALLOCATION; | ||||
@@ -179,7 +180,8 @@ Status TransFormatFromNdToFracZz(const TransArgs &args, TransResult &result, con | |||||
auto ret = memcpy_s(dst.get() + dst_offset, static_cast<size_t>(protected_size), args.data + src_offset, | auto ret = memcpy_s(dst.get() + dst_offset, static_cast<size_t>(protected_size), args.data + src_offset, | ||||
static_cast<size_t>(size * w0)); | static_cast<size_t>(size * w0)); | ||||
if (ret != EOK) { | if (ret != EOK) { | ||||
GELOGE(ACL_ERROR_GE_MEMORY_OPERATE_FAILED, "Failed to operate the dst memory at offset %ld, error-code %d", dst_offset, ret); | |||||
GELOGE(ACL_ERROR_GE_MEMORY_OPERATE_FAILED, | |||||
"Failed to operate the dst memory at offset %ld, error-code %d", dst_offset, ret); | |||||
return ACL_ERROR_GE_MEMORY_OPERATE_FAILED; | return ACL_ERROR_GE_MEMORY_OPERATE_FAILED; | ||||
} | } | ||||
} | } | ||||
@@ -217,7 +219,8 @@ Status TransFormatFromFracZzToNd(const TransArgs &args, TransResult &result, con | |||||
std::shared_ptr<uint8_t> dst(new (std::nothrow) uint8_t[dst_size](), std::default_delete<uint8_t[]>()); | std::shared_ptr<uint8_t> dst(new (std::nothrow) uint8_t[dst_size](), std::default_delete<uint8_t[]>()); | ||||
if (dst == nullptr) { | if (dst == nullptr) { | ||||
GELOGE(ACL_ERROR_GE_MEMORY_ALLOCATION, "Failed to trans format from %s to %s, can not alloc the memory for dst buf %ld", | |||||
GELOGE(ACL_ERROR_GE_MEMORY_ALLOCATION, | |||||
"Failed to trans format from %s to %s, can not alloc the memory for dst buf %ld", | |||||
TypeUtils::FormatToSerialString(args.src_format).c_str(), | TypeUtils::FormatToSerialString(args.src_format).c_str(), | ||||
TypeUtils::FormatToSerialString(args.dst_format).c_str(), dst_size); | TypeUtils::FormatToSerialString(args.dst_format).c_str(), dst_size); | ||||
return ACL_ERROR_GE_MEMORY_ALLOCATION; | return ACL_ERROR_GE_MEMORY_ALLOCATION; | ||||
@@ -257,7 +260,8 @@ Status TransFormatFromFracZzToNd(const TransArgs &args, TransResult &result, con | |||||
auto ret = memcpy_s(dst.get() + dst_offset, static_cast<size_t>(protected_size), args.data + src_offset, | auto ret = memcpy_s(dst.get() + dst_offset, static_cast<size_t>(protected_size), args.data + src_offset, | ||||
static_cast<size_t>(size * w0)); | static_cast<size_t>(size * w0)); | ||||
if (ret != EOK) { | if (ret != EOK) { | ||||
GELOGE(ACL_ERROR_GE_MEMORY_OPERATE_FAILED, "Failed to operate the dst memory at offset %ld, error-code %d", dst_offset, ret); | |||||
GELOGE(ACL_ERROR_GE_MEMORY_OPERATE_FAILED, | |||||
"Failed to operate the dst memory at offset %ld, error-code %d", dst_offset, ret); | |||||
return ACL_ERROR_GE_MEMORY_OPERATE_FAILED; | return ACL_ERROR_GE_MEMORY_OPERATE_FAILED; | ||||
} | } | ||||
} | } | ||||
@@ -273,7 +277,8 @@ Status TransFormatFromFracZzToNd(const TransArgs &args, TransResult &result, con | |||||
auto ret = memcpy_s(dst.get() + dst_offset, static_cast<size_t>(protected_size), args.data + src_offset, | auto ret = memcpy_s(dst.get() + dst_offset, static_cast<size_t>(protected_size), args.data + src_offset, | ||||
static_cast<size_t>(size)); | static_cast<size_t>(size)); | ||||
if (ret != EOK) { | if (ret != EOK) { | ||||
GELOGE(ACL_ERROR_GE_MEMORY_OPERATE_FAILED, "Failed to operate the dst memory at offset %ld, error-code %d", dst_offset, ret); | |||||
GELOGE(ACL_ERROR_GE_MEMORY_OPERATE_FAILED, | |||||
"Failed to operate the dst memory at offset %ld, error-code %d", dst_offset, ret); | |||||
return ACL_ERROR_GE_MEMORY_OPERATE_FAILED; | return ACL_ERROR_GE_MEMORY_OPERATE_FAILED; | ||||
} | } | ||||
} | } | ||||
@@ -288,14 +293,16 @@ Status TransFormatFromFracZzToNd(const TransArgs &args, TransResult &result, con | |||||
Status FormatTransferFractalZz::TransFormat(const TransArgs &args, TransResult &result) { | Status FormatTransferFractalZz::TransFormat(const TransArgs &args, TransResult &result) { | ||||
if (!IsDataTypeSupport(args.src_data_type)) { | if (!IsDataTypeSupport(args.src_data_type)) { | ||||
GELOGE(ACL_ERROR_GE_DATATYPE_INVALID, "Not support trans format from %s to %s, src shape %s, dst shape %s, data type %s", | |||||
GELOGE(ACL_ERROR_GE_DATATYPE_INVALID, | |||||
"Not support trans format from %s to %s, src shape %s, dst shape %s, data type %s", | |||||
TypeUtils::FormatToSerialString(args.src_format).c_str(), | TypeUtils::FormatToSerialString(args.src_format).c_str(), | ||||
TypeUtils::FormatToSerialString(args.dst_format).c_str(), ShapeToString(args.src_shape).c_str(), | TypeUtils::FormatToSerialString(args.dst_format).c_str(), ShapeToString(args.src_shape).c_str(), | ||||
ShapeToString(args.dst_shape).c_str(), TypeUtils::DataTypeToSerialString(args.src_data_type).c_str()); | ShapeToString(args.dst_shape).c_str(), TypeUtils::DataTypeToSerialString(args.src_data_type).c_str()); | ||||
return ACL_ERROR_GE_DATATYPE_INVALID; | return ACL_ERROR_GE_DATATYPE_INVALID; | ||||
} | } | ||||
if (!CheckShape(args.src_format, args.src_shape) || !IsShapeValid(args.dst_shape)) { | if (!CheckShape(args.src_format, args.src_shape) || !IsShapeValid(args.dst_shape)) { | ||||
GELOGE(ACL_ERROR_GE_SHAPE_INVALID, "Not support trans format from %s to %s, src shape %s, dst shape %s, data type %s", | |||||
GELOGE(ACL_ERROR_GE_SHAPE_INVALID, | |||||
"Not support trans format from %s to %s, src shape %s, dst shape %s, data type %s", | |||||
TypeUtils::FormatToSerialString(args.src_format).c_str(), | TypeUtils::FormatToSerialString(args.src_format).c_str(), | ||||
TypeUtils::FormatToSerialString(args.dst_format).c_str(), ShapeToString(args.src_shape).c_str(), | TypeUtils::FormatToSerialString(args.dst_format).c_str(), ShapeToString(args.src_shape).c_str(), | ||||
ShapeToString(args.dst_shape).c_str(), TypeUtils::DataTypeToSerialString(args.src_data_type).c_str()); | ShapeToString(args.dst_shape).c_str(), TypeUtils::DataTypeToSerialString(args.src_data_type).c_str()); | ||||
@@ -339,7 +346,8 @@ Status FormatTransferFractalZz::TransShape(Format src_format, const ShapeVector | |||||
Status FormatTransferFractalZzND::TransFormat(const TransArgs &args, TransResult &result) { | Status FormatTransferFractalZzND::TransFormat(const TransArgs &args, TransResult &result) { | ||||
if (!IsDataTypeSupport(args.src_data_type)) { | if (!IsDataTypeSupport(args.src_data_type)) { | ||||
GELOGE(ACL_ERROR_GE_DATATYPE_INVALID, "Not support trans format from %s to %s, src shape %s, dst shape %s, data type %s", | |||||
GELOGE(ACL_ERROR_GE_DATATYPE_INVALID, | |||||
"Not support trans format from %s to %s, src shape %s, dst shape %s, data type %s", | |||||
TypeUtils::FormatToSerialString(args.src_format).c_str(), | TypeUtils::FormatToSerialString(args.src_format).c_str(), | ||||
TypeUtils::FormatToSerialString(args.dst_format).c_str(), ShapeToString(args.src_shape).c_str(), | TypeUtils::FormatToSerialString(args.dst_format).c_str(), ShapeToString(args.src_shape).c_str(), | ||||
ShapeToString(args.dst_shape).c_str(), TypeUtils::DataTypeToSerialString(args.src_data_type).c_str()); | ShapeToString(args.dst_shape).c_str(), TypeUtils::DataTypeToSerialString(args.src_data_type).c_str()); | ||||
@@ -347,7 +355,8 @@ Status FormatTransferFractalZzND::TransFormat(const TransArgs &args, TransResult | |||||
} | } | ||||
if (!IsShapeValid(args.src_shape) || !CheckShape(args.dst_format, args.dst_shape)) { | if (!IsShapeValid(args.src_shape) || !CheckShape(args.dst_format, args.dst_shape)) { | ||||
GELOGE(ACL_ERROR_GE_SHAPE_INVALID, "Not support trans format from %s to %s, src shape %s, dst shape %s, data type %s", | |||||
GELOGE(ACL_ERROR_GE_SHAPE_INVALID, | |||||
"Not support trans format from %s to %s, src shape %s, dst shape %s, data type %s", | |||||
TypeUtils::FormatToSerialString(args.src_format).c_str(), | TypeUtils::FormatToSerialString(args.src_format).c_str(), | ||||
TypeUtils::FormatToSerialString(args.dst_format).c_str(), ShapeToString(args.src_shape).c_str(), | TypeUtils::FormatToSerialString(args.dst_format).c_str(), ShapeToString(args.src_shape).c_str(), | ||||
ShapeToString(args.dst_shape).c_str(), TypeUtils::DataTypeToSerialString(args.src_data_type).c_str()); | ShapeToString(args.dst_shape).c_str(), TypeUtils::DataTypeToSerialString(args.src_data_type).c_str()); | ||||
@@ -66,7 +66,7 @@ Status CheckArgsForFracZToHwcn(const TransArgs &args) { | |||||
FmtToStr(ShapeToString(dst_shape)); | FmtToStr(ShapeToString(dst_shape)); | ||||
GE_ERRORLOG_AND_ERRORMSG(ACL_ERROR_GE_SHAPE_INVALID, error.c_str()); | GE_ERRORLOG_AND_ERRORMSG(ACL_ERROR_GE_SHAPE_INVALID, error.c_str()); | ||||
return ACL_ERROR_GE_SHAPE_INVALID; | return ACL_ERROR_GE_SHAPE_INVALID; | ||||
} | |||||
} | |||||
return SUCCESS; | return SUCCESS; | ||||
} | } | ||||
@@ -74,7 +74,8 @@ Status CheckArgsForFracZToHwcn(const TransArgs &args) { | |||||
Status GetDstDataAfterTrans(const TransArgs &args, TransResult &result, const int size, const int64_t total_size) { | Status GetDstDataAfterTrans(const TransArgs &args, TransResult &result, const int size, const int64_t total_size) { | ||||
std::shared_ptr<uint8_t> dst(new (std::nothrow) uint8_t[total_size], std::default_delete<uint8_t[]>()); | std::shared_ptr<uint8_t> dst(new (std::nothrow) uint8_t[total_size], std::default_delete<uint8_t[]>()); | ||||
if (dst == nullptr) { | if (dst == nullptr) { | ||||
GELOGE(ACL_ERROR_GE_MEMORY_ALLOCATION, "Failed to trans format from %s to %s, can not alloc the memory for dst buf %ld, shape %s", | |||||
GELOGE(ACL_ERROR_GE_MEMORY_ALLOCATION, | |||||
"Failed to trans format from %s to %s, can not alloc the memory for dst buf %ld, shape %s", | |||||
TypeUtils::FormatToSerialString(args.src_format).c_str(), | TypeUtils::FormatToSerialString(args.src_format).c_str(), | ||||
TypeUtils::FormatToSerialString(args.dst_format).c_str(), total_size, ShapeToString(args.dst_shape).c_str()); | TypeUtils::FormatToSerialString(args.dst_format).c_str(), total_size, ShapeToString(args.dst_shape).c_str()); | ||||
return ACL_ERROR_GE_MEMORY_ALLOCATION; | return ACL_ERROR_GE_MEMORY_ALLOCATION; | ||||
@@ -59,9 +59,10 @@ Status CheckArgsForFracZToNchw(const TransArgs &args) { | |||||
} | } | ||||
int64_t c1 = Ceil(dst_shape.at(kNchwC), c0); | int64_t c1 = Ceil(dst_shape.at(kNchwC), c0); | ||||
int64_t n0 = Ceil(dst_shape.at(kNchwN), static_cast<int64_t>(kNiSize)); | int64_t n0 = Ceil(dst_shape.at(kNchwN), static_cast<int64_t>(kNiSize)); | ||||
if (src_shape.at(kFracZHWC1) != dst_shape.at(kNchwH) * dst_shape.at(kNchwW) * c1 || src_shape.at(kFracZC0) != c0 || | |||||
src_shape.at(kFracZNi) != kNiSize || src_shape.at(kFracZN0) != n0) { | |||||
GELOGE(ACL_ERROR_GE_SHAPE_INVALID, "Failed to check relationship between src and dst shape, src shape %s, dst shape %s", | |||||
if (src_shape.at(kFracZHWC1) != dst_shape.at(kNchwH) * dst_shape.at(kNchwW) * c1 || | |||||
src_shape.at(kFracZC0) != c0 || src_shape.at(kFracZNi) != kNiSize || src_shape.at(kFracZN0) != n0) { | |||||
GELOGE(ACL_ERROR_GE_SHAPE_INVALID, | |||||
"Failed to check relationship between src and dst shape, src shape %s, dst shape %s", | |||||
ShapeToString(src_shape).c_str(), ShapeToString(dst_shape).c_str()); | ShapeToString(src_shape).c_str(), ShapeToString(dst_shape).c_str()); | ||||
return ACL_ERROR_GE_SHAPE_INVALID; | return ACL_ERROR_GE_SHAPE_INVALID; | ||||
} | } | ||||
@@ -72,7 +73,8 @@ Status CheckArgsForFracZToNchw(const TransArgs &args) { | |||||
Status GetDstDataAfterTrans(const TransArgs &args, TransResult &result, const int size, const int64_t total_size) { | Status GetDstDataAfterTrans(const TransArgs &args, TransResult &result, const int size, const int64_t total_size) { | ||||
std::shared_ptr<uint8_t> dst(new (std::nothrow) uint8_t[total_size], std::default_delete<uint8_t[]>()); | std::shared_ptr<uint8_t> dst(new (std::nothrow) uint8_t[total_size], std::default_delete<uint8_t[]>()); | ||||
if (dst == nullptr) { | if (dst == nullptr) { | ||||
GELOGE(ACL_ERROR_GE_MEMORY_ALLOCATION, "Failed to trans format from %s to %s, can not alloc the memory for dst buf %ld, shape %s", | |||||
GELOGE(ACL_ERROR_GE_MEMORY_ALLOCATION, | |||||
"Failed to trans format from %s to %s, can not alloc the memory for dst buf %ld, shape %s", | |||||
TypeUtils::FormatToSerialString(args.src_format).c_str(), | TypeUtils::FormatToSerialString(args.src_format).c_str(), | ||||
TypeUtils::FormatToSerialString(args.dst_format).c_str(), total_size, ShapeToString(args.dst_shape).c_str()); | TypeUtils::FormatToSerialString(args.dst_format).c_str(), total_size, ShapeToString(args.dst_shape).c_str()); | ||||
return ACL_ERROR_GE_MEMORY_ALLOCATION; | return ACL_ERROR_GE_MEMORY_ALLOCATION; | ||||
@@ -59,9 +59,10 @@ Status CheckArgsForFracZToNhwc(const TransArgs &args) { | |||||
} | } | ||||
int64_t c1 = Ceil(dst_shape.at(kNhwcC), c0); | int64_t c1 = Ceil(dst_shape.at(kNhwcC), c0); | ||||
int64_t n0 = Ceil(dst_shape.at(kNhwcN), static_cast<int64_t>(kNiSize)); | int64_t n0 = Ceil(dst_shape.at(kNhwcN), static_cast<int64_t>(kNiSize)); | ||||
if (src_shape.at(kFracZHWC1) != dst_shape.at(kNhwcH) * dst_shape.at(kNhwcW) * c1 || src_shape.at(kFracZC0) != c0 || | |||||
src_shape.at(kFracZNi) != kNiSize || src_shape.at(kFracZN0) != n0) { | |||||
GELOGE(PARAM_INVALID, "Failed to check relationship between src and dst shape, src shape %s, dst shape %s", | |||||
if (src_shape.at(kFracZHWC1) != dst_shape.at(kNhwcH) * dst_shape.at(kNhwcW) * c1 || | |||||
src_shape.at(kFracZC0) != c0 || src_shape.at(kFracZNi) != kNiSize || src_shape.at(kFracZN0) != n0) { | |||||
GELOGE(PARAM_INVALID, | |||||
"Failed to check relationship between src and dst shape, src shape %s, dst shape %s", | |||||
ShapeToString(src_shape).c_str(), ShapeToString(dst_shape).c_str()); | ShapeToString(src_shape).c_str(), ShapeToString(dst_shape).c_str()); | ||||
return PARAM_INVALID; | return PARAM_INVALID; | ||||
} | } | ||||
@@ -72,7 +73,8 @@ Status CheckArgsForFracZToNhwc(const TransArgs &args) { | |||||
Status GetDstDataAfterTrans(const TransArgs &args, TransResult &result, int size, int64_t total_size) { | Status GetDstDataAfterTrans(const TransArgs &args, TransResult &result, int size, int64_t total_size) { | ||||
std::shared_ptr<uint8_t> dst(new (std::nothrow) uint8_t[total_size], std::default_delete<uint8_t[]>()); | std::shared_ptr<uint8_t> dst(new (std::nothrow) uint8_t[total_size], std::default_delete<uint8_t[]>()); | ||||
if (dst == nullptr) { | if (dst == nullptr) { | ||||
GELOGE(OUT_OF_MEMORY, "Failed to trans format from %s to %s, can not alloc the memory for dst buf %ld, shape %s", | |||||
GELOGE(OUT_OF_MEMORY, | |||||
"Failed to trans format from %s to %s, can not alloc the memory for dst buf %ld, shape %s", | |||||
TypeUtils::FormatToSerialString(args.src_format).c_str(), | TypeUtils::FormatToSerialString(args.src_format).c_str(), | ||||
TypeUtils::FormatToSerialString(args.dst_format).c_str(), total_size, ShapeToString(args.dst_shape).c_str()); | TypeUtils::FormatToSerialString(args.dst_format).c_str(), total_size, ShapeToString(args.dst_shape).c_str()); | ||||
return OUT_OF_MEMORY; | return OUT_OF_MEMORY; | ||||
@@ -140,7 +142,7 @@ Status FormatTransferFracZNhwc::TransFormat(const TransArgs &args, TransResult & | |||||
} | } | ||||
GELOGE(INTERNAL_ERROR, "Get %ld total size from dst shape %s, src shape %s", total_size, | GELOGE(INTERNAL_ERROR, "Get %ld total size from dst shape %s, src shape %s", total_size, | ||||
ShapeToString(args.dst_shape).c_str(), ShapeToString(args.src_shape).c_str()); | |||||
ShapeToString(args.dst_shape).c_str(), ShapeToString(args.src_shape).c_str()); | |||||
return PARAM_INVALID; | return PARAM_INVALID; | ||||
} | } | ||||
GELOGD("Begin to trans format from FracZ to NHWC, src shape %s, data type %s, dst shape %s, memory size %ld", | GELOGD("Begin to trans format from FracZ to NHWC, src shape %s, data type %s, dst shape %s, memory size %ld", | ||||
@@ -91,7 +91,8 @@ Status CheckArgsForHwcnToC1hwncoc0(const TransArgs &args) { | |||||
Status GetDstDataAfterTrans(const TransArgs &args, TransResult &result, const int size, const int64_t total_size) { | Status GetDstDataAfterTrans(const TransArgs &args, TransResult &result, const int size, const int64_t total_size) { | ||||
std::shared_ptr<uint8_t> dst(new (std::nothrow) uint8_t[total_size], std::default_delete<uint8_t[]>()); | std::shared_ptr<uint8_t> dst(new (std::nothrow) uint8_t[total_size], std::default_delete<uint8_t[]>()); | ||||
if (dst == nullptr) { | if (dst == nullptr) { | ||||
GELOGE(ACL_ERROR_GE_MEMORY_ALLOCATION, "Failed to trans format from %s to %s, can not alloc the memory for dst buf %ld, shape %s", | |||||
GELOGE(ACL_ERROR_GE_MEMORY_ALLOCATION, | |||||
"Failed to trans format from %s to %s, can not alloc the memory for dst buf %ld, shape %s", | |||||
TypeUtils::FormatToSerialString(args.src_format).c_str(), | TypeUtils::FormatToSerialString(args.src_format).c_str(), | ||||
TypeUtils::FormatToSerialString(args.dst_format).c_str(), total_size, ShapeToString(args.dst_shape).c_str()); | TypeUtils::FormatToSerialString(args.dst_format).c_str(), total_size, ShapeToString(args.dst_shape).c_str()); | ||||
return ACL_ERROR_GE_MEMORY_ALLOCATION; | return ACL_ERROR_GE_MEMORY_ALLOCATION; | ||||
@@ -72,7 +72,8 @@ Status CheckArgsForNc1hwc0ToNchw(const TransArgs &args) { | |||||
Status GetDstDataAfterTrans(const TransArgs &args, TransResult &result, const int size, const int64_t total_size) { | Status GetDstDataAfterTrans(const TransArgs &args, TransResult &result, const int size, const int64_t total_size) { | ||||
std::shared_ptr<uint8_t> dst(new (std::nothrow) uint8_t[total_size], std::default_delete<uint8_t[]>()); | std::shared_ptr<uint8_t> dst(new (std::nothrow) uint8_t[total_size], std::default_delete<uint8_t[]>()); | ||||
if (dst == nullptr) { | if (dst == nullptr) { | ||||
GELOGE(OUT_OF_MEMORY, "Failed to trans format from %s to %s, can not alloc the memory for dst buf %ld, shape %s", | |||||
GELOGE(OUT_OF_MEMORY, | |||||
"Failed to trans format from %s to %s, can not alloc the memory for dst buf %ld, shape %s", | |||||
TypeUtils::FormatToSerialString(args.src_format).c_str(), | TypeUtils::FormatToSerialString(args.src_format).c_str(), | ||||
TypeUtils::FormatToSerialString(args.dst_format).c_str(), total_size, ShapeToString(args.dst_shape).c_str()); | TypeUtils::FormatToSerialString(args.dst_format).c_str(), total_size, ShapeToString(args.dst_shape).c_str()); | ||||
return OUT_OF_MEMORY; | return OUT_OF_MEMORY; | ||||
@@ -61,7 +61,8 @@ Status CheckArgsForNc1hwc0ToNhwc(const TransArgs &args) { | |||||
if (src_shape.at(kNc1hwc0H) != dst_shape.at(kNhwcH) || src_shape.at(kNc1hwc0W) != dst_shape.at(kNhwcW) || | if (src_shape.at(kNc1hwc0H) != dst_shape.at(kNhwcH) || src_shape.at(kNc1hwc0W) != dst_shape.at(kNhwcW) || | ||||
src_shape.at(kNc1hwc0N) != dst_shape.at(kNhwcN) || src_shape.at(kNc1hwc0C0) != c0 || | src_shape.at(kNc1hwc0N) != dst_shape.at(kNhwcN) || src_shape.at(kNc1hwc0C0) != c0 || | ||||
src_shape.at(kNc1hwc0C1) != (Ceil(dst_shape.at(kNhwcC), c0))) { | src_shape.at(kNc1hwc0C1) != (Ceil(dst_shape.at(kNhwcC), c0))) { | ||||
GELOGE(ACL_ERROR_GE_SHAPE_INVALID, "Failed to check relationship between src and dst shape, src shape %s, dst shape %s", | |||||
GELOGE(ACL_ERROR_GE_SHAPE_INVALID, | |||||
"Failed to check relationship between src and dst shape, src shape %s, dst shape %s", | |||||
ShapeToString(src_shape).c_str(), ShapeToString(dst_shape).c_str()); | ShapeToString(src_shape).c_str(), ShapeToString(dst_shape).c_str()); | ||||
return ACL_ERROR_GE_SHAPE_INVALID; | return ACL_ERROR_GE_SHAPE_INVALID; | ||||
} | } | ||||
@@ -72,7 +73,8 @@ Status CheckArgsForNc1hwc0ToNhwc(const TransArgs &args) { | |||||
Status GetDstDataAfterTrans(const TransArgs &args, TransResult &result, const int size, const int64_t total_size) { | Status GetDstDataAfterTrans(const TransArgs &args, TransResult &result, const int size, const int64_t total_size) { | ||||
std::shared_ptr<uint8_t> dst(new (std::nothrow) uint8_t[total_size], std::default_delete<uint8_t[]>()); | std::shared_ptr<uint8_t> dst(new (std::nothrow) uint8_t[total_size], std::default_delete<uint8_t[]>()); | ||||
if (dst == nullptr) { | if (dst == nullptr) { | ||||
GELOGE(ACL_ERROR_GE_MEMORY_ALLOCATION, "Failed to trans format from %s to %s, can not alloc the memory for dst buf %ld, shape %s", | |||||
GELOGE(ACL_ERROR_GE_MEMORY_ALLOCATION, | |||||
"Failed to trans format from %s to %s, can not alloc the memory for dst buf %ld, shape %s", | |||||
TypeUtils::FormatToSerialString(args.src_format).c_str(), | TypeUtils::FormatToSerialString(args.src_format).c_str(), | ||||
TypeUtils::FormatToSerialString(args.dst_format).c_str(), total_size, ShapeToString(args.dst_shape).c_str()); | TypeUtils::FormatToSerialString(args.dst_format).c_str(), total_size, ShapeToString(args.dst_shape).c_str()); | ||||
return ACL_ERROR_GE_MEMORY_ALLOCATION; | return ACL_ERROR_GE_MEMORY_ALLOCATION; | ||||
@@ -125,7 +125,8 @@ Status TransFormatFromNchwToFzC04(const TransArgs &args, TransResult &result) { | |||||
return ACL_ERROR_GE_INTERNAL_ERROR); | return ACL_ERROR_GE_INTERNAL_ERROR); | ||||
auto t1 = h_o * w_o; | auto t1 = h_o * w_o; | ||||
auto t2 = n_o * c_o; | auto t2 = n_o * c_o; | ||||
GE_IF_BOOL_EXEC(!CheckInt64MulOverflow(t1, t2), GELOGE(INTERNAL_ERROR, "int64 mul overflow.A[%ld], B[%ld]", t1, t2); | |||||
GE_IF_BOOL_EXEC(!CheckInt64MulOverflow(t1, t2), | |||||
GELOGE(INTERNAL_ERROR, "int64 mul overflow.A[%ld], B[%ld]", t1, t2); | |||||
return ACL_ERROR_GE_INTERNAL_ERROR); | return ACL_ERROR_GE_INTERNAL_ERROR); | ||||
int64_t total_ele_cnt = n_o * c_o * h_o * w_o; | int64_t total_ele_cnt = n_o * c_o * h_o * w_o; | ||||
@@ -140,7 +141,8 @@ Status TransFormatFromNchwToFzC04(const TransArgs &args, TransResult &result) { | |||||
std::shared_ptr<uint8_t> dst(new (std::nothrow) uint8_t[dst_size], std::default_delete<uint8_t[]>()); | std::shared_ptr<uint8_t> dst(new (std::nothrow) uint8_t[dst_size], std::default_delete<uint8_t[]>()); | ||||
if (dst == nullptr) { | if (dst == nullptr) { | ||||
GELOGE(ACL_ERROR_GE_MEMORY_ALLOCATION, "Failed to trans format from %s to %s, can not alloc the memory for dst buf %ld", | |||||
GELOGE(ACL_ERROR_GE_MEMORY_ALLOCATION, | |||||
"Failed to trans format from %s to %s, can not alloc the memory for dst buf %ld", | |||||
TypeUtils::FormatToSerialString(args.src_format).c_str(), | TypeUtils::FormatToSerialString(args.src_format).c_str(), | ||||
TypeUtils::FormatToSerialString(args.dst_format).c_str(), dst_size); | TypeUtils::FormatToSerialString(args.dst_format).c_str(), dst_size); | ||||
return ACL_ERROR_GE_MEMORY_ALLOCATION; | return ACL_ERROR_GE_MEMORY_ALLOCATION; | ||||
@@ -212,7 +214,8 @@ Status PaddingNC(const TransArgs &args, TransArgs &args_tmp, std::shared_ptr<uin | |||||
return ACL_ERROR_GE_INTERNAL_ERROR); | return ACL_ERROR_GE_INTERNAL_ERROR); | ||||
auto t1 = h_o * w_o; | auto t1 = h_o * w_o; | ||||
auto t2 = n_o * c_o; | auto t2 = n_o * c_o; | ||||
GE_IF_BOOL_EXEC(!CheckInt64MulOverflow(t1, t2), GELOGE(ACL_ERROR_GE_INTERNAL_ERROR, "int64 mul overflow.A[%ld], B[%ld]", t1, t2); | |||||
GE_IF_BOOL_EXEC(!CheckInt64MulOverflow(t1, t2), | |||||
GELOGE(ACL_ERROR_GE_INTERNAL_ERROR,"int64 mul overflow.A[%ld], B[%ld]", t1, t2); | |||||
return ACL_ERROR_GE_INTERNAL_ERROR); | return ACL_ERROR_GE_INTERNAL_ERROR); | ||||
int64_t total_ele_cnt = n_o * c_o * h_o * w_o; | int64_t total_ele_cnt = n_o * c_o * h_o * w_o; | ||||
@@ -228,7 +231,8 @@ Status PaddingNC(const TransArgs &args, TransArgs &args_tmp, std::shared_ptr<uin | |||||
dst.reset(new (std::nothrow) uint8_t[dst_size], std::default_delete<uint8_t[]>()); | dst.reset(new (std::nothrow) uint8_t[dst_size], std::default_delete<uint8_t[]>()); | ||||
if (dst == nullptr) { | if (dst == nullptr) { | ||||
GELOGE(ACL_ERROR_GE_MEMORY_ALLOCATION, "Failed to trans format from %s to %s, can not alloc the memory for dst buf %ld", | |||||
GELOGE(ACL_ERROR_GE_MEMORY_ALLOCATION, | |||||
"Failed to trans format from %s to %s, can not alloc the memory for dst buf %ld", | |||||
TypeUtils::FormatToSerialString(args.src_format).c_str(), | TypeUtils::FormatToSerialString(args.src_format).c_str(), | ||||
TypeUtils::FormatToSerialString(args.dst_format).c_str(), dst_size); | TypeUtils::FormatToSerialString(args.dst_format).c_str(), dst_size); | ||||
return ACL_ERROR_GE_MEMORY_ALLOCATION; | return ACL_ERROR_GE_MEMORY_ALLOCATION; | ||||
@@ -275,7 +279,8 @@ Status FormatTransferNchwToFZC04::TransFormat(const TransArgs &args, TransResult | |||||
} | } | ||||
std::vector<int64_t> expect_shape; | std::vector<int64_t> expect_shape; | ||||
ret = TransShape(args_tmp.src_format, args_tmp.src_shape, args_tmp.src_data_type, args_tmp.dst_format, expect_shape); | |||||
ret = TransShape(args_tmp.src_format, args_tmp.src_shape, args_tmp.src_data_type, | |||||
args_tmp.dst_format, expect_shape); | |||||
if (ret != SUCCESS) { | if (ret != SUCCESS) { | ||||
return ret; | return ret; | ||||
} | } | ||||
@@ -92,7 +92,8 @@ Status CheckArgsForNhwcToNc1hwc0(const TransArgs &args) { | |||||
Status GetDstDataAfterTrans(const TransArgs &args, TransResult &result, const int size, const int64_t total_size) { | Status GetDstDataAfterTrans(const TransArgs &args, TransResult &result, const int size, const int64_t total_size) { | ||||
std::shared_ptr<uint8_t> dst(new (std::nothrow) uint8_t[total_size], std::default_delete<uint8_t[]>()); | std::shared_ptr<uint8_t> dst(new (std::nothrow) uint8_t[total_size], std::default_delete<uint8_t[]>()); | ||||
if (dst == nullptr) { | if (dst == nullptr) { | ||||
GELOGE(ACL_ERROR_GE_MEMORY_ALLOCATION, "Failed to trans format from %s to %s, can not alloc the memory for dst buf %ld, shape %s", | |||||
GELOGE(ACL_ERROR_GE_MEMORY_ALLOCATION, | |||||
"Failed to trans format from %s to %s, can not alloc the memory for dst buf %ld, shape %s", | |||||
TypeUtils::FormatToSerialString(args.src_format).c_str(), | TypeUtils::FormatToSerialString(args.src_format).c_str(), | ||||
TypeUtils::FormatToSerialString(args.dst_format).c_str(), total_size, ShapeToString(args.dst_shape).c_str()); | TypeUtils::FormatToSerialString(args.dst_format).c_str(), total_size, ShapeToString(args.dst_shape).c_str()); | ||||
return ACL_ERROR_GE_MEMORY_ALLOCATION; | return ACL_ERROR_GE_MEMORY_ALLOCATION; | ||||
@@ -592,8 +592,8 @@ Status GeGenerator::SetModelNameForDump(const GeRootModelPtr &ge_root_model) { | |||||
ErrorManager::GetInstance().ATCReportErrMessage("E10000", {"parameter"}, {"output"}); | ErrorManager::GetInstance().ATCReportErrMessage("E10000", {"parameter"}, {"output"}); | ||||
GELOGE(FAILED, "[Check][GetModelNameStep]Get model_name failed. Param --output is invalid, root graph name: %s", | GELOGE(FAILED, "[Check][GetModelNameStep]Get model_name failed. Param --output is invalid, root graph name: %s", | ||||
ge_root_model->GetRootGraph()->GetName().c_str()); | ge_root_model->GetRootGraph()->GetName().c_str()); | ||||
REPORT_CALL_ERROR("E19999", "Get model_name failed. Param --output is invalid,", | |||||
"root graph name: %s", ge_root_model->GetRootGraph()->GetName().c_str()); | |||||
REPORT_CALL_ERROR("E19999", "Get model_name failed. Param --output is invalid, root graph name: %s", | |||||
ge_root_model->GetRootGraph()->GetName().c_str()); | |||||
return PARAM_INVALID; | return PARAM_INVALID; | ||||
} | } | ||||
map<string, GeModelPtr> name_to_ge_model = ge_root_model->GetSubgraphInstanceNameToModel(); | map<string, GeModelPtr> name_to_ge_model = ge_root_model->GetSubgraphInstanceNameToModel(); | ||||
@@ -597,11 +597,13 @@ void BlockMemAssigner::GetOutAndWorkSpaceMem(vector<int64_t> &all_memory_size) { | |||||
int64_t size = 0; | int64_t size = 0; | ||||
GE_IF_BOOL_EXEC(ge::TensorUtils::GetSize(output_desc, size) != SUCCESS, GELOGI("Get size failed")); | GE_IF_BOOL_EXEC(ge::TensorUtils::GetSize(output_desc, size) != SUCCESS, GELOGI("Get size failed")); | ||||
GE_IF_BOOL_EXEC(size < 0, | GE_IF_BOOL_EXEC(size < 0, | ||||
GELOGE(FAILED, "[Check][TensorSize]tensor_size:%ld is invalid, maybe it is unknown shape node, Node_name:%s", | |||||
size, node_op_desc->GetName().c_str()); | |||||
REPORT_INNER_ERROR("E19999", "tensor_size:%ld is invalid, maybe it is unknown shape node, Node_name:%s", | |||||
size, node_op_desc->GetName().c_str()); | |||||
return;); | |||||
GELOGE(FAILED, "[Check][TensorSize]tensor_size:%ld is invalid, " | |||||
"maybe it is unknown shape node, Node_name:%s", | |||||
size, node_op_desc->GetName().c_str()); | |||||
REPORT_INNER_ERROR("E19999", "tensor_size:%ld is invalid, " | |||||
"maybe it is unknown shape node, Node_name:%s", | |||||
size, node_op_desc->GetName().c_str()); | |||||
return;); | |||||
batch_all_memory_size[batch_label].emplace_back(size); | batch_all_memory_size[batch_label].emplace_back(size); | ||||
if (batch_total_size.find(batch_label) == batch_total_size.end()) { | if (batch_total_size.find(batch_label) == batch_total_size.end()) { | ||||
batch_total_size[batch_label] = size; | batch_total_size[batch_label] = size; | ||||
@@ -692,23 +694,23 @@ bool BlockMemAssigner::IsOutNodeSetContinuousInput(const NodePtr &n, uint32_t ou | |||||
auto out_anchor = n->GetOutDataAnchor(out_index); | auto out_anchor = n->GetOutDataAnchor(out_index); | ||||
GE_IF_BOOL_EXEC(out_anchor == nullptr, | GE_IF_BOOL_EXEC(out_anchor == nullptr, | ||||
GELOGE(FAILED, "[Check][Anchor]Node[%s] output[%u] anchor is null.", | GELOGE(FAILED, "[Check][Anchor]Node[%s] output[%u] anchor is null.", | ||||
n->GetName().c_str(), out_index); | |||||
n->GetName().c_str(), out_index); | |||||
REPORT_INNER_ERROR("E19999", "output anchor is null, node_name: %s output_index: %u.", | REPORT_INNER_ERROR("E19999", "output anchor is null, node_name: %s output_index: %u.", | ||||
n->GetName().c_str(), out_index); | |||||
n->GetName().c_str(), out_index); | |||||
return false;); | return false;); | ||||
for (auto const &peer_in_anchor : out_anchor->GetPeerInDataAnchors()) { | for (auto const &peer_in_anchor : out_anchor->GetPeerInDataAnchors()) { | ||||
GE_IF_BOOL_EXEC(peer_in_anchor == nullptr, | GE_IF_BOOL_EXEC(peer_in_anchor == nullptr, | ||||
GELOGE(FAILED, "[Check][Anchor]Node[%s] output[%u] peer_in_anchor 0 is null.", | GELOGE(FAILED, "[Check][Anchor]Node[%s] output[%u] peer_in_anchor 0 is null.", | ||||
n->GetName().c_str(), out_index); | |||||
n->GetName().c_str(), out_index); | |||||
REPORT_INNER_ERROR("E19999", "output anchor peer is null, node_name: %s output_index: %u.", | REPORT_INNER_ERROR("E19999", "output anchor peer is null, node_name: %s output_index: %u.", | ||||
n->GetName().c_str(), out_index); | |||||
n->GetName().c_str(), out_index); | |||||
return false;); | return false;); | ||||
auto peer_node = peer_in_anchor->GetOwnerNode(); | auto peer_node = peer_in_anchor->GetOwnerNode(); | ||||
GE_IF_BOOL_EXEC(peer_node == nullptr, | GE_IF_BOOL_EXEC(peer_node == nullptr, | ||||
GELOGE(FAILED, "[Check][Node]Node[%s] output[%u] peer node is null.", | GELOGE(FAILED, "[Check][Node]Node[%s] output[%u] peer node is null.", | ||||
n->GetName().c_str(), out_index); | |||||
n->GetName().c_str(), out_index); | |||||
REPORT_INNER_ERROR("E19999", "output anchor peer node is null, node_name: %s output_index: %u.", | REPORT_INNER_ERROR("E19999", "output anchor peer node is null, node_name: %s output_index: %u.", | ||||
n->GetName().c_str(), out_index); | |||||
n->GetName().c_str(), out_index); | |||||
return false;); | return false;); | ||||
// Get the continuous input type of the node, default is false | // Get the continuous input type of the node, default is false | ||||
@@ -716,9 +718,9 @@ bool BlockMemAssigner::IsOutNodeSetContinuousInput(const NodePtr &n, uint32_t ou | |||||
auto peer_in_node_desc = peer_node->GetOpDesc(); | auto peer_in_node_desc = peer_node->GetOpDesc(); | ||||
GE_IF_BOOL_EXEC(peer_in_node_desc == nullptr, | GE_IF_BOOL_EXEC(peer_in_node_desc == nullptr, | ||||
GELOGE(FAILED, "[Check][OpDesc]Node[%s] output[%u] nodedesc is null.", | GELOGE(FAILED, "[Check][OpDesc]Node[%s] output[%u] nodedesc is null.", | ||||
n->GetName().c_str(), out_index); | |||||
n->GetName().c_str(), out_index); | |||||
REPORT_INNER_ERROR("E19999", "output anchor peer op_desc is null, node_name:%s output_index:%u.", | REPORT_INNER_ERROR("E19999", "output anchor peer op_desc is null, node_name:%s output_index:%u.", | ||||
n->GetName().c_str(), out_index); | |||||
n->GetName().c_str(), out_index); | |||||
return false;); | return false;); | ||||
// If GetBool fail, is_input_continuous is false. | // If GetBool fail, is_input_continuous is false. | ||||
@@ -819,7 +821,7 @@ bool BlockMemAssigner::IsContinuousMemoryReuse(const NodePtr &n, const NodePtr & | |||||
(in_anchor->GetPeerOutAnchor()->GetOwnerNode() == nullptr) || | (in_anchor->GetPeerOutAnchor()->GetOwnerNode() == nullptr) || | ||||
(in_anchor->GetPeerOutAnchor()->GetOwnerNode()->GetOpDesc() == nullptr)) { | (in_anchor->GetPeerOutAnchor()->GetOwnerNode()->GetOpDesc() == nullptr)) { | ||||
GELOGE(FAILED, "[Check][OpDesc]Node[%s] output[%u] peer input node desc is null.", | GELOGE(FAILED, "[Check][OpDesc]Node[%s] output[%u] peer input node desc is null.", | ||||
n->GetName().c_str(), out_index); | |||||
n->GetName().c_str(), out_index); | |||||
REPORT_INNER_ERROR("E19999", "get output anchor peer op_desc fail, node_name: %s output_index: %u.", | REPORT_INNER_ERROR("E19999", "get output anchor peer op_desc fail, node_name: %s output_index: %u.", | ||||
n->GetName().c_str(), out_index); | n->GetName().c_str(), out_index); | ||||
return false; | return false; | ||||
@@ -1105,9 +1107,10 @@ MemoryBlock *BlockMemAssigner::ApplyMemory(size_t block_size, size_t real_size, | |||||
OpMemoryType mem_type, const NodePtr &n, uint32_t out_index, | OpMemoryType mem_type, const NodePtr &n, uint32_t out_index, | ||||
const vector<bool> &workspace_reuse_flag, const bool is_op_reuse_mem, | const vector<bool> &workspace_reuse_flag, const bool is_op_reuse_mem, | ||||
const bool continuous, int64_t memory_type) { | const bool continuous, int64_t memory_type) { | ||||
GE_CHK_BOOL_TRUE_EXEC_WITH_LOG(n == nullptr, | |||||
REPORT_INNER_ERROR("E19999", "Input parameter n(type:node_ptr) is null, apply memory failed"); | |||||
return nullptr, "[Check][Param]Input parameter n(type:node_ptr) is null."); | |||||
GE_CHK_BOOL_TRUE_EXEC_WITH_LOG( | |||||
n == nullptr, | |||||
REPORT_INNER_ERROR("E19999", "Input parameter n(type:node_ptr) is null, apply memory failed"); | |||||
return nullptr, "[Check][Param]Input parameter n(type:node_ptr) is null."); | |||||
auto node_op_desc = n->GetOpDesc(); | auto node_op_desc = n->GetOpDesc(); | ||||
GE_IF_BOOL_EXEC(node_op_desc == nullptr, return nullptr); | GE_IF_BOOL_EXEC(node_op_desc == nullptr, return nullptr); | ||||
std::string batch_label; | std::string batch_label; | ||||
@@ -1159,10 +1162,12 @@ MemoryBlock *BlockMemAssigner::ApplyMemory(size_t block_size, size_t real_size, | |||||
} | } | ||||
auto block = new (std::nothrow) MemoryBlock(block_size, node_op_desc->GetStreamId(), is_reuse_memory, memory_type); | auto block = new (std::nothrow) MemoryBlock(block_size, node_op_desc->GetStreamId(), is_reuse_memory, memory_type); | ||||
GE_CHK_BOOL_TRUE_EXEC_WITH_LOG(block == nullptr, | |||||
REPORT_INNER_ERROR("E19999", "new a memoryblock object failed. node_name:%s out_index:%u", | |||||
n->GetName().c_str(), out_index); | |||||
return nullptr, "[New][Object]new MemoryBlock failed, node_name:%s out_index:%u", n->GetName().c_str(), out_index); | |||||
GE_CHK_BOOL_TRUE_EXEC_WITH_LOG( | |||||
block == nullptr, | |||||
REPORT_INNER_ERROR("E19999", "new a memoryblock object failed. node_name:%s out_index:%u", | |||||
n->GetName().c_str(), out_index); | |||||
return nullptr, | |||||
"[New][Object]new MemoryBlock failed, node_name:%s out_index:%u", n->GetName().c_str(), out_index); | |||||
// Data and netoutput need zero copy block | // Data and netoutput need zero copy block | ||||
block->is_zero_copy_ = IsZeroCopyBlock(n, continuous); | block->is_zero_copy_ = IsZeroCopyBlock(n, continuous); | ||||
@@ -1221,13 +1226,15 @@ void BlockMemAssigner::ContinuousOutRefCheck(bool &isAllOutputRef, bool &isOutpu | |||||
Status BlockMemAssigner::ApplyContinuousMemory(const NodePtr &n, const vector<int64_t> &ranges, | Status BlockMemAssigner::ApplyContinuousMemory(const NodePtr &n, const vector<int64_t> &ranges, | ||||
const bool is_op_reuse_mem) { | const bool is_op_reuse_mem) { | ||||
GE_CHK_BOOL_TRUE_EXEC_WITH_LOG(n == nullptr, | |||||
REPORT_INNER_ERROR("E19999", "Input parameter n(type:node_ptr) is null"); | |||||
return INTERNAL_ERROR, "[check][param]Input parameter n(type:NodePtr) is null."); | |||||
GE_CHK_BOOL_TRUE_EXEC_WITH_LOG( | |||||
n == nullptr, | |||||
REPORT_INNER_ERROR("E19999", "Input parameter n(type:node_ptr) is null"); | |||||
return INTERNAL_ERROR, "[check][param]Input parameter n(type:NodePtr) is null."); | |||||
auto node_op_desc = n->GetOpDesc(); | auto node_op_desc = n->GetOpDesc(); | ||||
GE_CHK_BOOL_TRUE_EXEC_WITH_LOG(node_op_desc == nullptr, | |||||
REPORT_INNER_ERROR("E19999", "Input parameter n(type:OpDescPtr) is null"); | |||||
return INTERNAL_ERROR, "[Check][Param]Input parameter n(type:OpDescPtr) is null"); | |||||
GE_CHK_BOOL_TRUE_EXEC_WITH_LOG( | |||||
node_op_desc == nullptr, | |||||
REPORT_INNER_ERROR("E19999", "Input parameter n(type:OpDescPtr) is null"); | |||||
return INTERNAL_ERROR, "[Check][Param]Input parameter n(type:OpDescPtr) is null"); | |||||
// continuous output support ref only when all output ref input | // continuous output support ref only when all output ref input | ||||
bool isAllOutputRef = true; | bool isAllOutputRef = true; | ||||
@@ -1242,7 +1249,7 @@ Status BlockMemAssigner::ApplyContinuousMemory(const NodePtr &n, const vector<in | |||||
if (!isAllOutputRef && isOutputHasRef) { | if (!isAllOutputRef && isOutputHasRef) { | ||||
REPORT_INNER_ERROR("E19999", "continuous output node ref part input, not support now. node_name:%s", | REPORT_INNER_ERROR("E19999", "continuous output node ref part input, not support now. node_name:%s", | ||||
n->GetName().c_str()); | |||||
n->GetName().c_str()); | |||||
GELOGE(INTERNAL_ERROR, "[Check][OutRefStatus]continuous output node ref part input, not support, node_name:%s", | GELOGE(INTERNAL_ERROR, "[Check][OutRefStatus]continuous output node ref part input, not support, node_name:%s", | ||||
n->GetName().c_str()); | n->GetName().c_str()); | ||||
return INTERNAL_ERROR; | return INTERNAL_ERROR; | ||||
@@ -1255,7 +1262,7 @@ Status BlockMemAssigner::ApplyContinuousMemory(const NodePtr &n, const vector<in | |||||
auto output_op_desc = node_op_desc->GetOutputDescPtr(index); | auto output_op_desc = node_op_desc->GetOutputDescPtr(index); | ||||
if (output_op_desc == nullptr) { | if (output_op_desc == nullptr) { | ||||
REPORT_INNER_ERROR("E19999", "get output_desc failed, node_name:%s, output_index:%u", | REPORT_INNER_ERROR("E19999", "get output_desc failed, node_name:%s, output_index:%u", | ||||
n->GetName().c_str(), index); | |||||
n->GetName().c_str(), index); | |||||
GELOGE(INTERNAL_ERROR, "[Get][OutputDesc]node_name:%s, output_index:%u", n->GetName().c_str(), index); | GELOGE(INTERNAL_ERROR, "[Get][OutputDesc]node_name:%s, output_index:%u", n->GetName().c_str(), index); | ||||
return INTERNAL_ERROR; | return INTERNAL_ERROR; | ||||
} | } | ||||
@@ -1268,7 +1275,7 @@ Status BlockMemAssigner::ApplyContinuousMemory(const NodePtr &n, const vector<in | |||||
int64_t size = 0; | int64_t size = 0; | ||||
if (ge::TensorUtils::GetSize(*output_op_desc, size) != SUCCESS) { | if (ge::TensorUtils::GetSize(*output_op_desc, size) != SUCCESS) { | ||||
REPORT_CALL_ERROR("E19999", "get tensor_size failed, node_name:%s, output_index:%u", | REPORT_CALL_ERROR("E19999", "get tensor_size failed, node_name:%s, output_index:%u", | ||||
n->GetName().c_str(), index); | |||||
n->GetName().c_str(), index); | |||||
GELOGE(INTERNAL_ERROR, "[Get][TensorSize]node_name:%s, output_index:%u", n->GetName().c_str(), index); | GELOGE(INTERNAL_ERROR, "[Get][TensorSize]node_name:%s, output_index:%u", n->GetName().c_str(), index); | ||||
return INTERNAL_ERROR; | return INTERNAL_ERROR; | ||||
} | } | ||||
@@ -1310,7 +1317,7 @@ Status BlockMemAssigner::ApplyContinuousMemory(const NodePtr &n, const vector<in | |||||
++(block->ref_count_); | ++(block->ref_count_); | ||||
} else { | } else { | ||||
REPORT_CALL_ERROR("E19999", "apply continuousMemory failed, node_name:%s, total_size:%ld", | REPORT_CALL_ERROR("E19999", "apply continuousMemory failed, node_name:%s, total_size:%ld", | ||||
n->GetName().c_str(), total_size); | |||||
n->GetName().c_str(), total_size); | |||||
GELOGE(INTERNAL_ERROR, "[Apply][ContinuousMemory]node_name:%s, total_size:%ld", n->GetName().c_str(), total_size); | GELOGE(INTERNAL_ERROR, "[Apply][ContinuousMemory]node_name:%s, total_size:%ld", n->GetName().c_str(), total_size); | ||||
return INTERNAL_ERROR; | return INTERNAL_ERROR; | ||||
} | } | ||||
@@ -1319,26 +1326,33 @@ Status BlockMemAssigner::ApplyContinuousMemory(const NodePtr &n, const vector<in | |||||
MemoryBlock *BlockMemAssigner::ApplyOutMemory(const NodePtr &n, uint32_t index, const vector<int64_t> &ranges, | MemoryBlock *BlockMemAssigner::ApplyOutMemory(const NodePtr &n, uint32_t index, const vector<int64_t> &ranges, | ||||
const bool is_op_reuse_mem, const bool continuous) { | const bool is_op_reuse_mem, const bool continuous) { | ||||
GE_CHK_BOOL_TRUE_EXEC_WITH_LOG(n == nullptr, | |||||
REPORT_INNER_ERROR("E19999", "Input parameter n(type:NodePtr) is null"); | |||||
return nullptr, "[Check][Param]Input parameter n(type:NodePtr) is null"); | |||||
GE_CHK_BOOL_TRUE_EXEC_WITH_LOG( | |||||
n == nullptr, | |||||
REPORT_INNER_ERROR("E19999", "Input parameter n(type:NodePtr) is null"); | |||||
return nullptr, "[Check][Param]Input parameter n(type:NodePtr) is null"); | |||||
auto node_op_desc = n->GetOpDesc(); | auto node_op_desc = n->GetOpDesc(); | ||||
GE_CHK_BOOL_TRUE_EXEC_WITH_LOG(node_op_desc == nullptr, | |||||
REPORT_INNER_ERROR("E19999", "Input parameter n(type:OpDescPtr) is null"); | |||||
return nullptr, "[Check][Param]Input parameter n(type:OpDescPtr) is null"); | |||||
GE_CHK_BOOL_TRUE_EXEC_WITH_LOG( | |||||
node_op_desc == nullptr, | |||||
REPORT_INNER_ERROR("E19999", "Input parameter n(type:OpDescPtr) is null"); | |||||
return nullptr, "[Check][Param]Input parameter n(type:OpDescPtr) is null"); | |||||
MemoryBlock *block = nullptr; | MemoryBlock *block = nullptr; | ||||
NodeIndexIO node_index_io(n, index, kOut); | NodeIndexIO node_index_io(n, index, kOut); | ||||
int64_t size = 0; | int64_t size = 0; | ||||
auto output_op_desc = node_op_desc->GetOutputDescPtr(index); | auto output_op_desc = node_op_desc->GetOutputDescPtr(index); | ||||
GE_IF_BOOL_EXEC(output_op_desc == nullptr, | |||||
REPORT_INNER_ERROR("E19999", "get output_desc failed, node_name:%s, output_index:%u", n->GetName().c_str(), index); | |||||
GELOGE(FAILED, "[Get][OutputDesc]node_name:%s, output_index:%u", n->GetName().c_str(), index); | |||||
return nullptr); | |||||
GE_IF_BOOL_EXEC( | |||||
output_op_desc == nullptr, | |||||
REPORT_INNER_ERROR("E19999", "get output_desc failed, node_name:%s, output_index:%u", | |||||
n->GetName().c_str(), index); | |||||
GELOGE(FAILED, "[Get][OutputDesc]node_name:%s, output_index:%u", n->GetName().c_str(), index); | |||||
return nullptr); | |||||
GE_IF_BOOL_EXEC(ge::TensorUtils::GetSize(*output_op_desc, size) != SUCCESS, GELOGI("Get size failed")); | GE_IF_BOOL_EXEC(ge::TensorUtils::GetSize(*output_op_desc, size) != SUCCESS, GELOGI("Get size failed")); | ||||
size_t no_align_size = 0; | size_t no_align_size = 0; | ||||
GE_CHK_BOOL_TRUE_EXEC_WITH_LOG(GetNoAlignSize(*node_op_desc, index, no_align_size) != SUCCESS, | |||||
REPORT_CALL_ERROR("E19999", "Get no align size failed, node_name:%s, output_index:%u", n->GetName().c_str(), index); | |||||
return nullptr, "[Get][TensorSize]Get no align size, node_name:%s, output_index:%u", n->GetName().c_str(), index); | |||||
GE_CHK_BOOL_TRUE_EXEC_WITH_LOG( | |||||
GetNoAlignSize(*node_op_desc, index, no_align_size) != SUCCESS, | |||||
REPORT_CALL_ERROR("E19999", "Get no align size failed, node_name:%s, output_index:%u", | |||||
n->GetName().c_str(), index); | |||||
return nullptr, | |||||
"[Get][TensorSize]Get no align size, node_name:%s, output_index:%u", n->GetName().c_str(), index); | |||||
std::string symbol; | std::string symbol; | ||||
bool reuse_input = false; | bool reuse_input = false; | ||||
@@ -1346,9 +1360,9 @@ MemoryBlock *BlockMemAssigner::ApplyOutMemory(const NodePtr &n, uint32_t index, | |||||
block = symbol_blocks_[symbol]; | block = symbol_blocks_[symbol]; | ||||
GE_IF_BOOL_EXEC(block == nullptr, | GE_IF_BOOL_EXEC(block == nullptr, | ||||
REPORT_INNER_ERROR("E19999", "get ref block failed, node_name:%s, symbol:%s", | REPORT_INNER_ERROR("E19999", "get ref block failed, node_name:%s, symbol:%s", | ||||
node_op_desc->GetName().c_str(), node_index_io.ToString().c_str()); | |||||
node_op_desc->GetName().c_str(), node_index_io.ToString().c_str()); | |||||
GELOGE(FAILED, "[Get][RefBlock]node_name:%s, symbol:%s", | GELOGE(FAILED, "[Get][RefBlock]node_name:%s, symbol:%s", | ||||
node_op_desc->GetName().c_str(), node_index_io.ToString().c_str()); | |||||
node_op_desc->GetName().c_str(), node_index_io.ToString().c_str()); | |||||
return nullptr); | return nullptr); | ||||
// reduce old size | // reduce old size | ||||
size_t align_size = block->Size(); | size_t align_size = block->Size(); | ||||
@@ -1392,24 +1406,28 @@ MemoryBlock *BlockMemAssigner::ApplyOutMemory(const NodePtr &n, uint32_t index, | |||||
vector<bool> workspace_reuse_flag; | vector<bool> workspace_reuse_flag; | ||||
block = ApplyMemory(block_size, size, no_align_size, kOutput, n, index, | block = ApplyMemory(block_size, size, no_align_size, kOutput, n, index, | ||||
workspace_reuse_flag, is_op_reuse_mem, continuous, memory_type); | workspace_reuse_flag, is_op_reuse_mem, continuous, memory_type); | ||||
GE_CHK_BOOL_TRUE_EXEC_WITH_LOG(block == nullptr, | |||||
REPORT_CALL_ERROR("E19999", "apply out Memory failed, node_name:%s, block_size:%ld, out_index:%u", | |||||
n->GetName().c_str(), block_size, index); | |||||
return nullptr, "[Apply][Memory]node_name:%s, block_size:%ld, out_index:%u", | |||||
GE_CHK_BOOL_TRUE_EXEC_WITH_LOG( | |||||
block == nullptr, | |||||
REPORT_CALL_ERROR("E19999", "apply out Memory failed, node_name:%s, block_size:%ld, out_index:%u", | |||||
n->GetName().c_str(), block_size, index); | |||||
return nullptr, | |||||
"[Apply][Memory]node_name:%s, block_size:%ld, out_index:%u", | |||||
n->GetName().c_str(), block_size, index); | n->GetName().c_str(), block_size, index); | ||||
} | } | ||||
int out_count = 0; | int out_count = 0; | ||||
GE_IF_BOOL_EXEC(index >= n->GetAllOutDataAnchors().size(), | |||||
REPORT_INNER_ERROR("E19999", "out index:%u exceed out_size:%lu, node_name:%s", | |||||
index, n->GetAllOutDataAnchors().size(), n->GetName().c_str()); | |||||
GELOGE(FAILED, "[Check][OutIndex]index:%u exceed out_size:%lu, node_name:%s", | |||||
index, n->GetAllOutDataAnchors().size(), n->GetName().c_str()); | |||||
return nullptr); | |||||
GE_IF_BOOL_EXEC( | |||||
index >= n->GetAllOutDataAnchors().size(), | |||||
REPORT_INNER_ERROR("E19999", "out index:%u exceed out_size:%lu, node_name:%s", | |||||
index, n->GetAllOutDataAnchors().size(), n->GetName().c_str()); | |||||
GELOGE(FAILED, "[Check][OutIndex]index:%u exceed out_size:%lu, node_name:%s", | |||||
index, n->GetAllOutDataAnchors().size(), n->GetName().c_str()); | |||||
return nullptr); | |||||
auto out_data_anchor = n->GetOutDataAnchor(index); | auto out_data_anchor = n->GetOutDataAnchor(index); | ||||
GE_IF_BOOL_EXEC(out_data_anchor == nullptr, | |||||
REPORT_INNER_ERROR("E19999", "out anchor is null, index:%u, node_name:%s", index, n->GetName().c_str()); | |||||
GELOGE(FAILED, "[Check][OutAnchor]is null, index:%u, node_name:%s", index, n->GetName().c_str()); | |||||
return nullptr); | |||||
GE_IF_BOOL_EXEC( | |||||
out_data_anchor == nullptr, | |||||
REPORT_INNER_ERROR("E19999", "out anchor is null, index:%u, node_name:%s", index, n->GetName().c_str()); | |||||
GELOGE(FAILED, "[Check][OutAnchor]is null, index:%u, node_name:%s", index, n->GetName().c_str()); | |||||
return nullptr); | |||||
for (const auto &in_anchor : out_data_anchor->GetPeerInDataAnchors()) { | for (const auto &in_anchor : out_data_anchor->GetPeerInDataAnchors()) { | ||||
auto owner_node = in_anchor->GetOwnerNode(); | auto owner_node = in_anchor->GetOwnerNode(); | ||||
auto op_desc = owner_node->GetOpDesc(); | auto op_desc = owner_node->GetOpDesc(); | ||||
@@ -1616,12 +1634,13 @@ Status BlockMemAssigner::AssignOutputMemoryWithReuse(const NodePtr &node, vector | |||||
op_desc->GetOutputsSize(), memorys_type.size()); | op_desc->GetOutputsSize(), memorys_type.size()); | ||||
if (has_mem_type_attr && (memorys_type.size() != op_desc->GetOutputsSize())) { | if (has_mem_type_attr && (memorys_type.size() != op_desc->GetOutputsSize())) { | ||||
REPORT_INNER_ERROR("E19999", "Attr[%s] size:%zu not equal to node output size:%zu, node_name:%s", | REPORT_INNER_ERROR("E19999", "Attr[%s] size:%zu not equal to node output size:%zu, node_name:%s", | ||||
ATTR_NAME_OUTPUT_MEM_TYPE_LIST.c_str(), memorys_type.size(), | |||||
op_desc->GetOutputsSize(), op_desc->GetName().c_str()); | |||||
GELOGE(INTERNAL_ERROR, | |||||
"[Check][MemTypeAttr]Attr %s size:%zu not equal to node output size:%zu, node_name:%s", | |||||
ATTR_NAME_OUTPUT_MEM_TYPE_LIST.c_str(), memorys_type.size(), | |||||
op_desc->GetOutputsSize(), op_desc->GetName().c_str()); | |||||
ATTR_NAME_OUTPUT_MEM_TYPE_LIST.c_str(), memorys_type.size(), | |||||
op_desc->GetOutputsSize(), op_desc->GetName().c_str()); | |||||
GELOGE( | |||||
INTERNAL_ERROR, | |||||
"[Check][MemTypeAttr]Attr %s size:%zu not equal to node output size:%zu, node_name:%s", | |||||
ATTR_NAME_OUTPUT_MEM_TYPE_LIST.c_str(), memorys_type.size(), | |||||
op_desc->GetOutputsSize(), op_desc->GetName().c_str()); | |||||
return INTERNAL_ERROR; | return INTERNAL_ERROR; | ||||
} | } | ||||
@@ -1748,9 +1767,11 @@ void BlockMemAssigner::AssignMemoryWithReuse(vector<int64_t> &ranges) { | |||||
if (has_tvm_workspace_mem_type_attr && (temp.size() != tvm_workspace_memory_type.size())) { | if (has_tvm_workspace_mem_type_attr && (temp.size() != tvm_workspace_memory_type.size())) { | ||||
REPORT_INNER_ERROR("E19999", "Attr[%s]size:%zu is not equal to workspace size:%zu, node_name:%s", | REPORT_INNER_ERROR("E19999", "Attr[%s]size:%zu is not equal to workspace size:%zu, node_name:%s", | ||||
TVM_ATTR_NAME_WORKSPACE_TYPE.c_str(), tvm_workspace_memory_type.size(), temp.size(), n->GetName().c_str()); | |||||
TVM_ATTR_NAME_WORKSPACE_TYPE.c_str(), tvm_workspace_memory_type.size(), | |||||
temp.size(), n->GetName().c_str()); | |||||
GELOGE(INTERNAL_ERROR, "[Check][Attr]Attr %s size:%zu is not equal to workspace size:%zu, node_name:%s", | GELOGE(INTERNAL_ERROR, "[Check][Attr]Attr %s size:%zu is not equal to workspace size:%zu, node_name:%s", | ||||
TVM_ATTR_NAME_WORKSPACE_TYPE.c_str(), tvm_workspace_memory_type.size(), temp.size(), n->GetName().c_str()); | |||||
TVM_ATTR_NAME_WORKSPACE_TYPE.c_str(), tvm_workspace_memory_type.size(), | |||||
temp.size(), n->GetName().c_str()); | |||||
return; | return; | ||||
} | } | ||||
for (size_t i = 0; i < temp.size(); i++) { | for (size_t i = 0; i < temp.size(); i++) { | ||||
@@ -2160,10 +2181,11 @@ bool BlockMemAssigner::GetWorkSpaceMemoryType(const NodePtr &node, size_t index, | |||||
ge::AttrUtils::GetListInt(op_desc, TVM_ATTR_NAME_WORKSPACE_TYPE, workspace_memory_type); | ge::AttrUtils::GetListInt(op_desc, TVM_ATTR_NAME_WORKSPACE_TYPE, workspace_memory_type); | ||||
if (has_workspace_mem_type_attr && (workspace_memory_type.size() <= index)) { | if (has_workspace_mem_type_attr && (workspace_memory_type.size() <= index)) { | ||||
REPORT_INNER_ERROR("E19999", "get workspace mem_type failed, " | REPORT_INNER_ERROR("E19999", "get workspace mem_type failed, " | ||||
"index %zu invalid, bigger than attr %s size:%zu, node_name:%s", | |||||
index, TVM_ATTR_NAME_WORKSPACE_TYPE.c_str(), workspace_memory_type.size(), node->GetName().c_str()); | |||||
"index %zu invalid, bigger than attr %s size:%zu, node_name:%s", | |||||
index, TVM_ATTR_NAME_WORKSPACE_TYPE.c_str(), | |||||
workspace_memory_type.size(), node->GetName().c_str()); | |||||
GELOGE(INTERNAL_ERROR, "[Get][WorkspaceMemType]index %zu invalid, bigger than attr %s size:%zu, node_name:%s", | GELOGE(INTERNAL_ERROR, "[Get][WorkspaceMemType]index %zu invalid, bigger than attr %s size:%zu, node_name:%s", | ||||
index, TVM_ATTR_NAME_WORKSPACE_TYPE.c_str(), workspace_memory_type.size(), node->GetName().c_str()); | |||||
index, TVM_ATTR_NAME_WORKSPACE_TYPE.c_str(), workspace_memory_type.size(), node->GetName().c_str()); | |||||
return false; | return false; | ||||
} | } | ||||
memory_type = has_workspace_mem_type_attr ? workspace_memory_type[index] : RT_MEMORY_HBM; | memory_type = has_workspace_mem_type_attr ? workspace_memory_type[index] : RT_MEMORY_HBM; | ||||
@@ -496,7 +496,7 @@ Status GraphMemoryAssigner::AssignContinuousInputMemory(const ge::NodePtr &node, | |||||
REPORT_INNER_ERROR("E19999", "find memory offset fail for mem_type:%ld, " | REPORT_INNER_ERROR("E19999", "find memory offset fail for mem_type:%ld, " | ||||
"when assign continuous input memory for node:%s, ", memory_type, node->GetName().c_str()); | "when assign continuous input memory for node:%s, ", memory_type, node->GetName().c_str()); | ||||
GELOGE(FAILED, "[Find][MemOffset]fail for mem_type:%ld, when AssignContinuousInputMemory for node:%s", | GELOGE(FAILED, "[Find][MemOffset]fail for mem_type:%ld, when AssignContinuousInputMemory for node:%s", | ||||
memory_type, node->GetName().c_str()); | |||||
memory_type, node->GetName().c_str()); | |||||
return FAILED; | return FAILED; | ||||
} | } | ||||
// The head and tail of hcom continuous input should be added 512 | // The head and tail of hcom continuous input should be added 512 | ||||
@@ -929,8 +929,8 @@ Status GraphMemoryAssigner::AssignReferenceMemory() { | |||||
if (out_op_desc->GetOutputsSize() > output_list.size()) { | if (out_op_desc->GetOutputsSize() > output_list.size()) { | ||||
REPORT_INNER_ERROR("E19999", "Output size:%zu more than output offset size:%zu, judge invalid in node:%s " | REPORT_INNER_ERROR("E19999", "Output size:%zu more than output offset size:%zu, judge invalid in node:%s " | ||||
"when AssignReferenceMemory", | |||||
out_op_desc->GetOutputsSize(), output_list.size(), node->GetName().c_str()); | |||||
"when AssignReferenceMemory", | |||||
out_op_desc->GetOutputsSize(), output_list.size(), node->GetName().c_str()); | |||||
GELOGE(ge::FAILED, "[Check][InnerData]Output size:%zu more than output offset size:%zu, invalid in node:%s", | GELOGE(ge::FAILED, "[Check][InnerData]Output size:%zu more than output offset size:%zu, invalid in node:%s", | ||||
out_op_desc->GetOutputsSize(), output_list.size(), node->GetName().c_str()); | out_op_desc->GetOutputsSize(), output_list.size(), node->GetName().c_str()); | ||||
return ge::FAILED; | return ge::FAILED; | ||||
@@ -384,7 +384,8 @@ Status ModelUtils::GetVarAddr(const RuntimeParam &model_param, const ConstOpDesc | |||||
switch (mem_type) { | switch (mem_type) { | ||||
case RT_MEMORY_RDMA_HBM: | case RT_MEMORY_RDMA_HBM: | ||||
if (offset < 0) { | if (offset < 0) { | ||||
GELOGE(PARAM_INVALID, "rdma var addr is invalid, addr=%p", reinterpret_cast<uint8_t *>(offset)); | |||||
GELOGE(PARAM_INVALID, "rdma var addr is invalid, addr=%p", | |||||
reinterpret_cast<uint8_t *>(static_cast<uintptr_t>(offset))); | |||||
return PARAM_INVALID; | return PARAM_INVALID; | ||||
} | } | ||||
var_addr = reinterpret_cast<uint8_t *>(static_cast<uintptr_t>(offset)); | var_addr = reinterpret_cast<uint8_t *>(static_cast<uintptr_t>(offset)); | ||||
@@ -1772,8 +1772,8 @@ Status GraphPrepare::CheckUserInput(const std::vector<GeTensor> &user_input) { | |||||
if (dim < UNKNOWN_DIM_NUM) { | if (dim < UNKNOWN_DIM_NUM) { | ||||
std::string situation = "data dim[" + std::to_string(i) + "][" + std::to_string(dim) + "]" ; | std::string situation = "data dim[" + std::to_string(i) + "][" + std::to_string(dim) + "]" ; | ||||
std::string reason = "it need >= -2"; | std::string reason = "it need >= -2"; | ||||
REPORT_INPUT_ERROR( | |||||
"E19025", std::vector<std::string>({"situation", "reason"}),std::vector<std::string>({situation, reason})); | |||||
REPORT_INPUT_ERROR("E19025", std::vector<std::string>({"situation", "reason"}), | |||||
std::vector<std::string>({situation, reason})); | |||||
GELOGE(GE_GRAPH_INIT_FAILED, "[Check][InputDim]data dim %zu is not supported, need >= -2, real:%ld.", i, dim); | GELOGE(GE_GRAPH_INIT_FAILED, "[Check][InputDim]data dim %zu is not supported, need >= -2, real:%ld.", i, dim); | ||||
return GE_GRAPH_INIT_FAILED; | return GE_GRAPH_INIT_FAILED; | ||||
} | } | ||||
@@ -212,7 +212,7 @@ Status InsertNewOpUtil::CheckGraph(const ComputeGraphPtr &graph) { | |||||
} | } | ||||
} | } | ||||
} | } | ||||
GE_CHK_LOG_AND_ERRORMSG((aippNodes.size() == 0) || (aippNodes.size() == next_nodes_cnt), | |||||
GE_CHK_LOG_AND_ERRORMSG((aippNodes.size() == 0) || (aippNodes.size() == next_nodes_cnt), | |||||
PARAM_INVALID, | PARAM_INVALID, | ||||
"Can not config part of outputs of Data node to support AIPP, config all " | "Can not config part of outputs of Data node to support AIPP, config all " | ||||
"of the outputs of Data to support AIPP, or config none of them"); | "of the outputs of Data to support AIPP, or config none of them"); | ||||
@@ -407,7 +407,8 @@ Status GatherV2Kernel::Compute(const OpDescPtr op_desc_ptr, const vector<ConstGe | |||||
// check input data type | // check input data type | ||||
auto x_data_type = tensor0->GetTensorDesc().GetDataType(); | auto x_data_type = tensor0->GetTensorDesc().GetDataType(); | ||||
if (supported_type.find(x_data_type) == supported_type.end()) { | if (supported_type.find(x_data_type) == supported_type.end()) { | ||||
GELOGI("GatherV2Kernel does not support this Data type:%s.", TypeUtils::DataTypeToSerialString(x_data_type).c_str()); | |||||
GELOGI("GatherV2Kernel does not support this Data type:%s.", | |||||
TypeUtils::DataTypeToSerialString(x_data_type).c_str()); | |||||
return NOT_CHANGED; | return NOT_CHANGED; | ||||
} | } | ||||
// calc output shape | // calc output shape | ||||
@@ -106,7 +106,7 @@ Status HybridModelAsyncExecutor::Init() { | |||||
executor_ = std::unique_ptr<HybridModelExecutor>(new(std::nothrow) HybridModelExecutor(model_, device_id_, stream_)); | executor_ = std::unique_ptr<HybridModelExecutor>(new(std::nothrow) HybridModelExecutor(model_, device_id_, stream_)); | ||||
GE_CHECK_NOTNULL(executor_); | GE_CHECK_NOTNULL(executor_); | ||||
GE_CHK_STATUS_RET(executor_->Init(), "Failed to init hybrid engine"); | GE_CHK_STATUS_RET(executor_->Init(), "Failed to init hybrid engine"); | ||||
GE_CHK_STATUS_RET(DumpOpDebug(),"Dump op debug failed in hybrid engine"); | |||||
GE_CHK_STATUS_RET(DumpOpDebug(), "Dump op debug failed in hybrid engine"); | |||||
GELOGI("HybridModel stage nums:%zu", model_->GetRootGraphItem()->NumGroups()); | GELOGI("HybridModel stage nums:%zu", model_->GetRootGraphItem()->NumGroups()); | ||||
if (model_->GetRootGraphItem()->NumGroups() >= kMinimumPiplineStages) { | if (model_->GetRootGraphItem()->NumGroups() >= kMinimumPiplineStages) { | ||||
@@ -34,6 +34,8 @@ const int64_t kDynamicImageSizeNum = 2; | |||||
const size_t kMaxDynamicDimNum = 100; | const size_t kMaxDynamicDimNum = 100; | ||||
const size_t kMaxNDDimNum = 4; | const size_t kMaxNDDimNum = 4; | ||||
const size_t kMinNDDimNum = 1; | const size_t kMinNDDimNum = 1; | ||||
const size_t kSquareBracketsSize = 2; | |||||
const size_t kRangePairSize = 2; | |||||
// datatype/formats from user to GE, Unified to util interface file later | // datatype/formats from user to GE, Unified to util interface file later | ||||
const std::map<std::string, ge::DataType> kOutputTypeSupportDatatype = { | const std::map<std::string, ge::DataType> kOutputTypeSupportDatatype = { | ||||
{"FP32", ge::DT_FLOAT}, {"FP16", ge::DT_FLOAT16}, {"UINT8", ge::DT_UINT8}}; | {"FP32", ge::DT_FLOAT}, {"FP16", ge::DT_FLOAT16}, {"UINT8", ge::DT_UINT8}}; | ||||
@@ -292,7 +294,8 @@ bool ParseSingleShapeRange(std::string &shape_range, vector<pair<int64_t, int64_ | |||||
} | } | ||||
} | } | ||||
bool is_square_brackets = (square_brackets[0] == '[') && (square_brackets[1] == ']') && (square_brackets.size() == 2); | |||||
bool is_square_brackets = (square_brackets[0] == '[') && (square_brackets[1] == ']') && | |||||
(square_brackets.size() == kSquareBracketsSize); | |||||
if (!is_square_brackets) { | if (!is_square_brackets) { | ||||
ErrorManager::GetInstance().ATCReportErrMessage("E10048", {"shape_range", "reason", "sample"}, | ErrorManager::GetInstance().ATCReportErrMessage("E10048", {"shape_range", "reason", "sample"}, | ||||
{shape_range, kInputShapeRangeInvalid, kInputShapeRangeSample2}); | {shape_range, kInputShapeRangeInvalid, kInputShapeRangeSample2}); | ||||
@@ -320,7 +323,7 @@ bool ParseSingleShapeRange(std::string &shape_range, vector<pair<int64_t, int64_ | |||||
} else { | } else { | ||||
range_pair = std::make_pair(range_value, range_value); | range_pair = std::make_pair(range_value, range_value); | ||||
} | } | ||||
} else if (range_pair_set.size() == 2) { | |||||
} else if (range_pair_set.size() == kRangePairSize) { | |||||
// unknown dim, should get range. | // unknown dim, should get range. | ||||
long range_left = 0; | long range_left = 0; | ||||
if (!StringToLongNoThrow(range_pair_set.at(0), range_left)) { | if (!StringToLongNoThrow(range_pair_set.at(0), range_left)) { | ||||
@@ -332,9 +335,10 @@ bool ParseSingleShapeRange(std::string &shape_range, vector<pair<int64_t, int64_ | |||||
} | } | ||||
if (range_left < 0 || (range_right < 0)) { | if (range_left < 0 || (range_right < 0)) { | ||||
ErrorManager::GetInstance().ATCReportErrMessage("E10048", {"shape_range", "reason", "sample"}, | ErrorManager::GetInstance().ATCReportErrMessage("E10048", {"shape_range", "reason", "sample"}, | ||||
{shape_range, kInputShapeRangeInvalid, kInputShapeRangeSample3}); | |||||
{shape_range, kInputShapeRangeInvalid, kInputShapeRangeSample3}); | |||||
GELOGE(PARAM_INVALID, | GELOGE(PARAM_INVALID, | ||||
"Parse input parameter [--input_shape_range]'s shape range[%s] failed, reason: %s, correct sample is %s.", | |||||
"Parse input parameter [--input_shape_range]'s shape range[%s] failed," | |||||
"reason: %s, correct sample is %s.", | |||||
shape_range.c_str(), kInputShapeRangeInvalid, kInputShapeRangeSample3); | shape_range.c_str(), kInputShapeRangeInvalid, kInputShapeRangeSample3); | ||||
return false; | return false; | ||||
} | } | ||||
@@ -383,7 +387,7 @@ bool ParseInputShapeRange(const std::string &shape_range, | |||||
} | } | ||||
shape_range_map.emplace(make_pair(StringUtils::Trim(shape_range_pair_vec[0]), shape_range_val)); | shape_range_map.emplace(make_pair(StringUtils::Trim(shape_range_pair_vec[0]), shape_range_val)); | ||||
} | } | ||||
return true; | return true; | ||||
} | } | ||||
@@ -402,7 +406,7 @@ Status CheckDynamicInputParamValid(string &dynamic_batch_size, string &dynamic_i | |||||
if (param_size == 0) { | if (param_size == 0) { | ||||
if (!input_shape_range.empty()) { | if (!input_shape_range.empty()) { | ||||
std::map<string, std::vector<std::pair<int64_t, int64_t>>> shape_range_map; | std::map<string, std::vector<std::pair<int64_t, int64_t>>> shape_range_map; | ||||
if(!ParseInputShapeRange(input_shape_range, shape_range_map)) { | |||||
if (!ParseInputShapeRange(input_shape_range, shape_range_map)) { | |||||
GELOGE(ge::PARAM_INVALID, "Failed to parse input shape range: %s", input_shape_range.c_str()); | GELOGE(ge::PARAM_INVALID, "Failed to parse input shape range: %s", input_shape_range.c_str()); | ||||
return ge::PARAM_INVALID; | return ge::PARAM_INVALID; | ||||
} | } | ||||
@@ -793,7 +793,7 @@ FMK_FUNC_HOST_VISIBILITY Status ParseGraph(ge::Graph &graph, const std::map<stri | |||||
std::string input_shape_range; | std::string input_shape_range; | ||||
ParseAtcParms(atc_params, INPUT_SHAPE_RANGE, input_shape_range); | ParseAtcParms(atc_params, INPUT_SHAPE_RANGE, input_shape_range); | ||||
GE_RETURN_WITH_LOG_IF_ERROR(UpdateDynamicInputShapeRange(compute_graph, input_shape_range), | GE_RETURN_WITH_LOG_IF_ERROR(UpdateDynamicInputShapeRange(compute_graph, input_shape_range), | ||||
"Update input shape range failed"); | |||||
"Update input shape range failed"); | |||||
GELOGI("ATC parser success."); | GELOGI("ATC parser success."); | ||||
@@ -52,7 +52,7 @@ class GE_FUNC_VISIBILITY StringUtils { | |||||
return s; | return s; | ||||
} | } | ||||
// lint -esym(551,*) | // lint -esym(551,*) | ||||
static std::string &Rtrim(std::string &s) { /*lint !e618*/ | |||||
static std::string &Rtrim(std::string &s) { /*lint !e618*/ | |||||
#if __cplusplus >= 201103L | #if __cplusplus >= 201103L | ||||
(void)s.erase(s.begin(), std::find_if(s.begin(), s.end(), [](int c) { return !std::isspace(c); })); | (void)s.erase(s.begin(), std::find_if(s.begin(), s.end(), [](int c) { return !std::isspace(c); })); | ||||
#else | #else | ||||
@@ -76,8 +76,8 @@ class GE_FUNC_VISIBILITY StringUtils { | |||||
/// @param [in] delim separator | /// @param [in] delim separator | ||||
/// @return string array after segmentation | /// @return string array after segmentation | ||||
/// | /// | ||||
static std::vector<std::string> Split(const std::string &str, char delim) { | |||||
std::vector<std::string> elems; | |||||
static std::vector<std::string> Split(const std::string &str, char delim) { /*lint !e1077*/ | |||||
std::vector<std::string> elems; /*lint !e1077*/ | |||||
if (str.empty()) { | if (str.empty()) { | ||||
elems.emplace_back(""); | elems.emplace_back(""); | ||||
@@ -52,34 +52,34 @@ TEST_F(UtestFormatTransfer, build_unsupported_transfer) { | |||||
EXPECT_EQ(transfer2, nullptr); | EXPECT_EQ(transfer2, nullptr); | ||||
} | } | ||||
// TEST_F(UtestFormatTransfer, get_size_by_data_type) { | |||||
// EXPECT_EQ(GetSizeByDataType(DT_FLOAT), 4); | |||||
// EXPECT_EQ(GetSizeByDataType(DT_FLOAT16), 2); | |||||
// EXPECT_EQ(GetSizeByDataType(DT_INT8), 1); | |||||
// EXPECT_EQ(GetSizeByDataType(DT_INT16), 2); | |||||
// EXPECT_EQ(GetSizeByDataType(DT_UINT16), 2); | |||||
// EXPECT_EQ(GetSizeByDataType(DT_UINT8), 1); | |||||
// EXPECT_EQ(GetSizeByDataType(DT_INT32), 4); | |||||
// EXPECT_EQ(GetSizeByDataType(DT_INT64), 8); | |||||
// EXPECT_EQ(GetSizeByDataType(DT_UINT32), 4); | |||||
// EXPECT_EQ(GetSizeByDataType(DT_UINT64), 8); | |||||
// EXPECT_EQ(GetSizeByDataType(DT_BOOL), 1); | |||||
// EXPECT_EQ(GetSizeByDataType(DT_DOUBLE), 8); | |||||
// EXPECT_EQ(GetSizeByDataType(DT_STRING), -1); | |||||
// EXPECT_EQ(GetSizeByDataType(DT_DUAL_SUB_INT8), 1); | |||||
// EXPECT_EQ(GetSizeByDataType(DT_DUAL_SUB_UINT8), 1); | |||||
// EXPECT_EQ(GetSizeByDataType(DT_COMPLEX64), 8); | |||||
// EXPECT_EQ(GetSizeByDataType(DT_COMPLEX128), 16); | |||||
// EXPECT_EQ(GetSizeByDataType(DT_QINT8), 1); | |||||
// EXPECT_EQ(GetSizeByDataType(DT_QINT16), 2); | |||||
// EXPECT_EQ(GetSizeByDataType(DT_QINT32), 4); | |||||
// EXPECT_EQ(GetSizeByDataType(DT_QUINT8), 1); | |||||
// EXPECT_EQ(GetSizeByDataType(DT_QUINT16), 2); | |||||
// EXPECT_EQ(GetSizeByDataType(DT_RESOURCE), -1); | |||||
// EXPECT_EQ(GetSizeByDataType(DT_STRING_REF), -1); | |||||
// EXPECT_EQ(GetSizeByDataType(DT_DUAL), 5); | |||||
// EXPECT_EQ(GetSizeByDataType(DT_UNDEFINED), -1); | |||||
// EXPECT_EQ(DT_UNDEFINED, 27); | |||||
// } | |||||
TEST_F(UtestFormatTransfer, get_size_by_data_type) { | |||||
EXPECT_EQ(GetSizeByDataType(DT_FLOAT), 4); | |||||
EXPECT_EQ(GetSizeByDataType(DT_FLOAT16), 2); | |||||
EXPECT_EQ(GetSizeByDataType(DT_INT8), 1); | |||||
EXPECT_EQ(GetSizeByDataType(DT_INT16), 2); | |||||
EXPECT_EQ(GetSizeByDataType(DT_UINT16), 2); | |||||
EXPECT_EQ(GetSizeByDataType(DT_UINT8), 1); | |||||
EXPECT_EQ(GetSizeByDataType(DT_INT32), 4); | |||||
EXPECT_EQ(GetSizeByDataType(DT_INT64), 8); | |||||
EXPECT_EQ(GetSizeByDataType(DT_UINT32), 4); | |||||
EXPECT_EQ(GetSizeByDataType(DT_UINT64), 8); | |||||
EXPECT_EQ(GetSizeByDataType(DT_BOOL), 1); | |||||
EXPECT_EQ(GetSizeByDataType(DT_DOUBLE), 8); | |||||
EXPECT_EQ(GetSizeByDataType(DT_STRING), -1); | |||||
EXPECT_EQ(GetSizeByDataType(DT_DUAL_SUB_INT8), 1); | |||||
EXPECT_EQ(GetSizeByDataType(DT_DUAL_SUB_UINT8), 1); | |||||
EXPECT_EQ(GetSizeByDataType(DT_COMPLEX64), 8); | |||||
EXPECT_EQ(GetSizeByDataType(DT_COMPLEX128), 16); | |||||
EXPECT_EQ(GetSizeByDataType(DT_QINT8), 1); | |||||
EXPECT_EQ(GetSizeByDataType(DT_QINT16), 2); | |||||
EXPECT_EQ(GetSizeByDataType(DT_QINT32), 4); | |||||
EXPECT_EQ(GetSizeByDataType(DT_QUINT8), 1); | |||||
EXPECT_EQ(GetSizeByDataType(DT_QUINT16), 2); | |||||
EXPECT_EQ(GetSizeByDataType(DT_RESOURCE), 8); | |||||
EXPECT_EQ(GetSizeByDataType(DT_STRING_REF), -1); | |||||
EXPECT_EQ(GetSizeByDataType(DT_DUAL), 5); | |||||
EXPECT_EQ(GetSizeByDataType(DT_UNDEFINED), -1); | |||||
EXPECT_EQ(DT_UNDEFINED, 28); | |||||
} | |||||
} // namespace formats | } // namespace formats | ||||
} // namespace ge | } // namespace ge |
@@ -67,4 +67,22 @@ TEST_F(UtestModelUtils, get_var_addr_rdma_hbm) { | |||||
EXPECT_EQ(reinterpret_cast<uint8_t *>(offset), var_addr); | EXPECT_EQ(reinterpret_cast<uint8_t *>(offset), var_addr); | ||||
VarManager::Instance(runtime_param.session_id)->Destory(); | VarManager::Instance(runtime_param.session_id)->Destory(); | ||||
} | } | ||||
TEST_F(UtestModelUtils, get_var_addr_rdma_hbm_negative_offset) { | |||||
uint8_t test = 2; | |||||
uint8_t *pf = &test; | |||||
RuntimeParam runtime_param; | |||||
runtime_param.session_id = 0; | |||||
runtime_param.logic_var_base = 0; | |||||
runtime_param.var_base = pf; | |||||
int64_t offset = -1; | |||||
EXPECT_EQ(VarManager::Instance(runtime_param.session_id)->Init(0, 0, 0, 0), SUCCESS); | |||||
EXPECT_NE(VarManager::Instance(runtime_param.session_id)->var_resource_, nullptr); | |||||
VarManager::Instance(runtime_param.session_id)->var_resource_->var_offset_map_[offset] = RT_MEMORY_RDMA_HBM; | |||||
std::shared_ptr<OpDesc> op_desc = std::make_shared<OpDesc>("test", "test"); | |||||
uint8_t *var_addr = nullptr; | |||||
EXPECT_NE(ModelUtils::GetVarAddr(runtime_param, op_desc, offset, var_addr), SUCCESS); | |||||
VarManager::Instance(runtime_param.session_id)->Destory(); | |||||
} | |||||
} // namespace ge | } // namespace ge |