format log optimize

pull/1438/head
liyihan2@huawei.com 5 years ago
parent b52f821c6e
commit 61b239ef31

@ -41,7 +41,7 @@ Status CheckArgsForFracZToHwcn(const TransArgs &args) {
return ACL_ERROR_GE_FORMAT_INVALID; return ACL_ERROR_GE_FORMAT_INVALID;
} }
if (!CheckDataTypeSupported(args.src_data_type)) { if (!CheckDataTypeSupported(args.src_data_type)) {
GELOGE(ACL_ERROR_GE_DATATYPE_INVALID, "[Trans][Shape]Failed, " GELOGE(ACL_ERROR_GE_DATATYPE_INVALID, "[Check][DataType]Failed, "
"shape from FORMAT_FRACTAL_Z to HWCN, invalid data type %s", "shape from FORMAT_FRACTAL_Z to HWCN, invalid data type %s",
TypeUtils::DataTypeToSerialString(args.src_data_type).c_str()); TypeUtils::DataTypeToSerialString(args.src_data_type).c_str());
REPORT_INNER_ERROR("E19999", "Failed to trans shape from FORMAT_FRACTAL_Z to HWCN, " REPORT_INNER_ERROR("E19999", "Failed to trans shape from FORMAT_FRACTAL_Z to HWCN, "
@ -52,14 +52,14 @@ Status CheckArgsForFracZToHwcn(const TransArgs &args) {
if (!CheckShapeValid(src_shape, kFracZDimsNum)) { if (!CheckShapeValid(src_shape, kFracZDimsNum)) {
GELOGE(ACL_ERROR_GE_SHAPE_INVALID, "[Check][Shape]Failed, src shape %s", GELOGE(ACL_ERROR_GE_SHAPE_INVALID, "[Check][Shape]Failed, src shape %s",
ShapeToString(src_shape).c_str()); ShapeToString(src_shape).c_str());
REPORT_CALL_ERROR("E19999", "Failed to check src shape %s", REPORT_CALL_ERROR("E19999", "Src shape %s check failed",
ShapeToString(src_shape).c_str()); ShapeToString(src_shape).c_str());
return ACL_ERROR_GE_SHAPE_INVALID; return ACL_ERROR_GE_SHAPE_INVALID;
} }
if (!CheckShapeValid(dst_shape, kHwcnDimsNum)) { if (!CheckShapeValid(dst_shape, kHwcnDimsNum)) {
GELOGE(ACL_ERROR_GE_SHAPE_INVALID, "[Check][Shape]Failed, dst shape %s", GELOGE(ACL_ERROR_GE_SHAPE_INVALID, "[Check][Shape]Failed, dst shape %s",
ShapeToString(dst_shape).c_str()); ShapeToString(dst_shape).c_str());
REPORT_CALL_ERROR("E19999", "Failed to check dst shape %s", REPORT_CALL_ERROR("E19999", "Dst shape %s check failed",
ShapeToString(dst_shape).c_str()); ShapeToString(dst_shape).c_str());
return ACL_ERROR_GE_SHAPE_INVALID; return ACL_ERROR_GE_SHAPE_INVALID;
} }
@ -76,7 +76,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;
} }
@ -90,11 +90,11 @@ Status GetDstDataAfterTrans(const TransArgs &args, TransResult &result, const in
total_size, ShapeToString(args.dst_shape).c_str(), total_size, ShapeToString(args.dst_shape).c_str(),
TypeUtils::FormatToSerialString(args.src_format).c_str(), TypeUtils::FormatToSerialString(args.src_format).c_str(),
TypeUtils::FormatToSerialString(args.dst_format).c_str()); TypeUtils::FormatToSerialString(args.dst_format).c_str());
REPORT_INNER_ERROR("E19999", "Failed to alloc the memory for dst buf %ld, shape %s " REPORT_CALL_ERROR("E19999", "Failed to alloc the memory for dst buf %ld, shape %s "
"when trans format from %s to %s", "when trans format from %s to %s",
total_size, ShapeToString(args.dst_shape).c_str(), total_size, ShapeToString(args.dst_shape).c_str(),
TypeUtils::FormatToSerialString(args.src_format).c_str(), TypeUtils::FormatToSerialString(args.src_format).c_str(),
TypeUtils::FormatToSerialString(args.dst_format).c_str()); TypeUtils::FormatToSerialString(args.dst_format).c_str());
return ACL_ERROR_GE_MEMORY_ALLOCATION; return ACL_ERROR_GE_MEMORY_ALLOCATION;
} }
@ -163,7 +163,7 @@ Status FormatTransferFracZHwcn::TransFormat(const TransArgs &args, TransResult &
result.length = static_cast<size_t>(total_size); result.length = static_cast<size_t>(total_size);
return SUCCESS; return SUCCESS;
} }
GELOGE(ACL_ERROR_GE_SHAPE_INVALID, "[Get][Shape]Failed, " GELOGE(ACL_ERROR_GE_SHAPE_INVALID, "[Get][ShapeSize]Failed, "
"total size %ld from dst shape %s, src shape %s", total_size, "total size %ld 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());
REPORT_CALL_ERROR("E19999", "Failed to get total size %ld from " REPORT_CALL_ERROR("E19999", "Failed to get total size %ld from "

@ -41,7 +41,7 @@ Status CheckArgsForFracZToNchw(const TransArgs &args) {
return ACL_ERROR_GE_FORMAT_INVALID; return ACL_ERROR_GE_FORMAT_INVALID;
} }
if (!CheckDataTypeSupported(args.src_data_type)) { if (!CheckDataTypeSupported(args.src_data_type)) {
GELOGE(ACL_ERROR_GE_DATATYPE_INVALID, "[Trans][Shape]Failed, " GELOGE(ACL_ERROR_GE_DATATYPE_INVALID, "[Check][DataType]Failed, "
"shape from FORMAT_FRACTAL_Z to NCHW, invalid data type %s", "shape from FORMAT_FRACTAL_Z to NCHW, invalid data type %s",
TypeUtils::DataTypeToSerialString(args.src_data_type).c_str()); TypeUtils::DataTypeToSerialString(args.src_data_type).c_str());
REPORT_INNER_ERROR("E19999", "Failed to trans shape from FORMAT_FRACTAL_Z to NCHW, " REPORT_INNER_ERROR("E19999", "Failed to trans shape from FORMAT_FRACTAL_Z to NCHW, "
@ -52,14 +52,14 @@ Status CheckArgsForFracZToNchw(const TransArgs &args) {
if (!CheckShapeValid(src_shape, kFracZDimsNum)) { if (!CheckShapeValid(src_shape, kFracZDimsNum)) {
GELOGE(ACL_ERROR_GE_SHAPE_INVALID, "[Check][Shape]Failed, src shape %s", GELOGE(ACL_ERROR_GE_SHAPE_INVALID, "[Check][Shape]Failed, src shape %s",
ShapeToString(src_shape).c_str()); ShapeToString(src_shape).c_str());
REPORT_CALL_ERROR("E19999", "Failed to check src shape %s", REPORT_CALL_ERROR("E19999", "Src shape %s check failed",
ShapeToString(src_shape).c_str()); ShapeToString(src_shape).c_str());
return ACL_ERROR_GE_SHAPE_INVALID; return ACL_ERROR_GE_SHAPE_INVALID;
} }
if (!CheckShapeValid(dst_shape, kNchwDimsNum)) { if (!CheckShapeValid(dst_shape, kNchwDimsNum)) {
GELOGE(ACL_ERROR_GE_SHAPE_INVALID, "[Check][Shape]Failed, dst shape %s", GELOGE(ACL_ERROR_GE_SHAPE_INVALID, "[Check][Shape]Failed, dst shape %s",
ShapeToString(dst_shape).c_str()); ShapeToString(dst_shape).c_str());
REPORT_CALL_ERROR("E19999", "Failed to check dst shape %s", REPORT_CALL_ERROR("E19999", "Dst shape %s check failed",
ShapeToString(dst_shape).c_str()); ShapeToString(dst_shape).c_str());
return ACL_ERROR_GE_SHAPE_INVALID; return ACL_ERROR_GE_SHAPE_INVALID;
} }
@ -88,16 +88,16 @@ Status GetDstDataAfterTrans(const TransArgs &args, TransResult &result, const in
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, GELOGE(ACL_ERROR_GE_MEMORY_ALLOCATION,
"[Allocate][DSTMemory]Failed, memory for dst buf %ld, shape %s " "[Allocate][DSTMemory]Failed, memory for dst buf %ld, shape %s "
"when trans format from %s to %s", "when trans format from %s to %s",
total_size, ShapeToString(args.dst_shape).c_str(), total_size, ShapeToString(args.dst_shape).c_str(),
TypeUtils::FormatToSerialString(args.src_format).c_str(), TypeUtils::FormatToSerialString(args.src_format).c_str(),
TypeUtils::FormatToSerialString(args.dst_format).c_str()); TypeUtils::FormatToSerialString(args.dst_format).c_str());
REPORT_INNER_ERROR("E19999", "Failed to alloc the memory for dst buf %ld, shape %s " REPORT_CALL_ERROR("E19999", "Failed to alloc the memory for dst buf %ld, shape %s "
"when trans format from %s to %s", "when trans format from %s to %s",
total_size, ShapeToString(args.dst_shape).c_str(), total_size, ShapeToString(args.dst_shape).c_str(),
TypeUtils::FormatToSerialString(args.src_format).c_str(), TypeUtils::FormatToSerialString(args.src_format).c_str(),
TypeUtils::FormatToSerialString(args.dst_format).c_str()); TypeUtils::FormatToSerialString(args.dst_format).c_str());
return ACL_ERROR_GE_MEMORY_ALLOCATION; return ACL_ERROR_GE_MEMORY_ALLOCATION;
} }
@ -138,7 +138,7 @@ Status GetDstDataAfterTrans(const TransArgs &args, TransResult &result, const in
"[Operate][Memory]Failed to copy data from FracZ offset %ld to " "[Operate][Memory]Failed to copy data from FracZ offset %ld to "
"NCHW[%ld, %ld, %ld, %ld] offset %ld, err-code %d", "NCHW[%ld, %ld, %ld, %ld] offset %ld, err-code %d",
src_offset, n_idx, c_idx, h_idx, w_idx, dst_offset, ret); src_offset, n_idx, c_idx, h_idx, w_idx, dst_offset, ret);
REPORT_CALL_ERROR("E19999","Failed to copy data from FracZ offset %ld to " REPORT_CALL_ERROR("E19999","Failed to copy data from FracZ offset %ld to "
"NCHW[%ld, %ld, %ld, %ld] offset %ld, err-code %d", "NCHW[%ld, %ld, %ld, %ld] offset %ld, err-code %d",
src_offset, n_idx, c_idx, h_idx, w_idx, dst_offset, ret ); src_offset, n_idx, c_idx, h_idx, w_idx, dst_offset, ret );
return ACL_ERROR_GE_MEMORY_OPERATE_FAILED; return ACL_ERROR_GE_MEMORY_OPERATE_FAILED;
@ -167,7 +167,7 @@ Status FormatTransferFracZNchw::TransFormat(const TransArgs &args, TransResult &
return SUCCESS; return SUCCESS;
} }
GELOGE(ACL_ERROR_GE_SHAPE_INVALID, "[Get][Shape]Failed, total size %ld from dst shape %s, " GELOGE(ACL_ERROR_GE_SHAPE_INVALID, "[Get][ShapeSize]Failed, total size %ld from dst shape %s, "
"src shape %s", total_size, "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());
REPORT_CALL_ERROR("E19999", "Failed to get total size %ld from dst shape %s, src shape %s", REPORT_CALL_ERROR("E19999", "Failed to get total size %ld from dst shape %s, src shape %s",
@ -190,7 +190,7 @@ Status FormatTransferFracZNchw::TransFormat(const TransArgs &args, TransResult &
"data type %s, dst shape %s, memory size %ld", "data type %s, dst shape %s, memory size %ld",
ShapeToString(args.src_shape).c_str(), ShapeToString(args.src_shape).c_str(),
TypeUtils::DataTypeToSerialString(args.src_data_type).c_str(), TypeUtils::DataTypeToSerialString(args.src_data_type).c_str(),
ShapeToString(args.dst_shape).c_str(), total_size); ShapeToString(args.dst_shape).c_str(), total_size);
return ret; return ret;
} }
return SUCCESS; return SUCCESS;

@ -41,7 +41,7 @@ Status CheckArgsForFracZToNhwc(const TransArgs &args) {
return ACL_ERROR_GE_FORMAT_INVALID; return ACL_ERROR_GE_FORMAT_INVALID;
} }
if (!CheckDataTypeSupported(args.src_data_type)) { if (!CheckDataTypeSupported(args.src_data_type)) {
GELOGE(ACL_ERROR_GE_DATATYPE_INVALID, "[Trans][Shape]Failed, " GELOGE(ACL_ERROR_GE_DATATYPE_INVALID, "[Check][DataType]Failed, "
"shape from FORMAT_FRACTAL_Z to NCHW, invalid data type %s", "shape from FORMAT_FRACTAL_Z to NCHW, invalid data type %s",
TypeUtils::DataTypeToSerialString(args.src_data_type).c_str()); TypeUtils::DataTypeToSerialString(args.src_data_type).c_str());
REPORT_INNER_ERROR("E19999", "Failed to trans shape from FORMAT_FRACTAL_Z to NCHW, " REPORT_INNER_ERROR("E19999", "Failed to trans shape from FORMAT_FRACTAL_Z to NCHW, "
@ -52,14 +52,14 @@ Status CheckArgsForFracZToNhwc(const TransArgs &args) {
if (!CheckShapeValid(src_shape, kFracZDimsNum)) { if (!CheckShapeValid(src_shape, kFracZDimsNum)) {
GELOGE(ACL_ERROR_GE_SHAPE_INVALID, "[Check][Shape]Failed, src shape %s", GELOGE(ACL_ERROR_GE_SHAPE_INVALID, "[Check][Shape]Failed, src shape %s",
ShapeToString(src_shape).c_str()); ShapeToString(src_shape).c_str());
REPORT_CALL_ERROR("E19999", "Failed to check src shape %s", REPORT_CALL_ERROR("E19999", "Src shape %s check failed",
ShapeToString(src_shape).c_str()); ShapeToString(src_shape).c_str());
return ACL_ERROR_GE_SHAPE_INVALID; return ACL_ERROR_GE_SHAPE_INVALID;
} }
if (!CheckShapeValid(dst_shape, kNhwcDimsNum)) { if (!CheckShapeValid(dst_shape, kNhwcDimsNum)) {
GELOGE(ACL_ERROR_GE_SHAPE_INVALID, "[Check][Shape]Failed, dst shape %s", GELOGE(ACL_ERROR_GE_SHAPE_INVALID, "[Check][Shape]Failed, dst shape %s",
ShapeToString(dst_shape).c_str()); ShapeToString(dst_shape).c_str());
REPORT_CALL_ERROR("E19999", "Failed to check dst shape %s", REPORT_CALL_ERROR("E19999", "Dst shape %s check failed",
ShapeToString(dst_shape).c_str()); ShapeToString(dst_shape).c_str());
return ACL_ERROR_GE_SHAPE_INVALID; return ACL_ERROR_GE_SHAPE_INVALID;
} }
@ -74,7 +74,7 @@ Status CheckArgsForFracZToNhwc(const TransArgs &args) {
GELOGE(ACL_ERROR_GE_SHAPE_INVALID, GELOGE(ACL_ERROR_GE_SHAPE_INVALID,
"[Check][Shape]Failed to check relationship between src and dst shape, " "[Check][Shape]Failed to check relationship between src and dst shape, "
"src shape %s, dst shape %s", "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());
REPORT_INNER_ERROR("E19999", "Failed to check relationship between src and dst shape, " REPORT_INNER_ERROR("E19999", "Failed to check relationship between src and dst shape, "
"src shape %s, dst shape %s", "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());
@ -93,11 +93,11 @@ Status GetDstDataAfterTrans(const TransArgs &args, TransResult &result, int size
total_size, ShapeToString(args.dst_shape).c_str(), total_size, ShapeToString(args.dst_shape).c_str(),
TypeUtils::FormatToSerialString(args.src_format).c_str(), TypeUtils::FormatToSerialString(args.src_format).c_str(),
TypeUtils::FormatToSerialString(args.dst_format).c_str()); TypeUtils::FormatToSerialString(args.dst_format).c_str());
REPORT_INNER_ERROR("E19999", "Failed to alloc the memory for dst buf %ld, " REPORT_CALL_ERROR("E19999", "Failed to alloc the memory for dst buf %ld, "
"shape %s when trans format from %s to %s", "shape %s when trans format from %s to %s",
total_size, ShapeToString(args.dst_shape).c_str(), total_size, ShapeToString(args.dst_shape).c_str(),
TypeUtils::FormatToSerialString(args.src_format).c_str(), TypeUtils::FormatToSerialString(args.src_format).c_str(),
TypeUtils::FormatToSerialString(args.dst_format).c_str()); TypeUtils::FormatToSerialString(args.dst_format).c_str());
return ACL_ERROR_GE_MEMORY_ALLOCATION; return ACL_ERROR_GE_MEMORY_ALLOCATION;
} }
@ -135,7 +135,7 @@ Status GetDstDataAfterTrans(const TransArgs &args, TransResult &result, int size
static_cast<size_t>(size)); static_cast<size_t>(size));
if (ret != EOK) { if (ret != EOK) {
GELOGE(ACL_ERROR_GE_MEMORY_OPERATE_FAILED, GELOGE(ACL_ERROR_GE_MEMORY_OPERATE_FAILED,
"[Operate][Memory]Failed to copy data from FracZ offset %ld to " "[Operate][Memory]Failed to copy data from FracZ offset %ld to "
"NCHW[%ld, %ld, %ld, %ld] offset %ld, err-code %d", "NCHW[%ld, %ld, %ld, %ld] offset %ld, err-code %d",
src_offset, n_idx, c_idx, h_idx, w_idx, dst_offset, ret); src_offset, n_idx, c_idx, h_idx, w_idx, dst_offset, ret);
REPORT_CALL_ERROR("E19999","Failed to copy data from FracZ offset %ld to " REPORT_CALL_ERROR("E19999","Failed to copy data from FracZ offset %ld to "
@ -167,7 +167,7 @@ Status FormatTransferFracZNhwc::TransFormat(const TransArgs &args, TransResult &
return SUCCESS; return SUCCESS;
} }
GELOGE(ACL_ERROR_GE_PARAM_INVALID, "[Get][Shape]Failed, total size %ld from dst shape %s, " GELOGE(ACL_ERROR_GE_PARAM_INVALID, "[Get][ShapeSize]Failed, total size %ld from dst shape %s, "
"src shape %s", total_size, "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());
REPORT_CALL_ERROR("E19999", "Failed to get total size %ld from dst shape %s, src shape %s", REPORT_CALL_ERROR("E19999", "Failed to get total size %ld from dst shape %s, src shape %s",

@ -45,7 +45,7 @@ Status TransShapeHwcnToC1hwncoc0(const DataType &data_type, const std::vector<in
if (!CheckShapeValid(dst_shape, kC1hwncoc0DimsNum)) { if (!CheckShapeValid(dst_shape, kC1hwncoc0DimsNum)) {
GELOGE(ACL_ERROR_GE_SHAPE_INVALID, "[Check][Shape]Failed, dst shape %s", GELOGE(ACL_ERROR_GE_SHAPE_INVALID, "[Check][Shape]Failed, dst shape %s",
ShapeToString(dst_shape).c_str()); ShapeToString(dst_shape).c_str());
REPORT_CALL_ERROR("E19999", "Failed to check dst shape %s", REPORT_CALL_ERROR("E19999", "Dst shape %s check failed",
ShapeToString(dst_shape).c_str()); ShapeToString(dst_shape).c_str());
return ACL_ERROR_GE_SHAPE_INVALID; return ACL_ERROR_GE_SHAPE_INVALID;
} }
@ -72,14 +72,14 @@ Status CheckArgsForHwcnToC1hwncoc0(const TransArgs &args) {
if (!CheckShapeValid(args.src_shape, kHwcnDimsNum)) { if (!CheckShapeValid(args.src_shape, kHwcnDimsNum)) {
GELOGE(ACL_ERROR_GE_SHAPE_INVALID, "[Check][Shape]Failed, src shape %s", GELOGE(ACL_ERROR_GE_SHAPE_INVALID, "[Check][Shape]Failed, src shape %s",
ShapeToString(args.src_shape).c_str()); ShapeToString(args.src_shape).c_str());
REPORT_CALL_ERROR("E19999", "Failed to check src shape %s", REPORT_CALL_ERROR("E19999", "Src shape %s check failed",
ShapeToString(args.src_shape).c_str()); ShapeToString(args.src_shape).c_str());
return ACL_ERROR_GE_SHAPE_INVALID; return ACL_ERROR_GE_SHAPE_INVALID;
} }
if (!CheckShapeValid(args.dst_shape, kC1hwncoc0DimsNum)) { if (!CheckShapeValid(args.dst_shape, kC1hwncoc0DimsNum)) {
GELOGE(ACL_ERROR_GE_SHAPE_INVALID, "[Check][Shape]Failed, dst shape %s", GELOGE(ACL_ERROR_GE_SHAPE_INVALID, "[Check][Shape]Failed, dst shape %s",
ShapeToString(args.dst_shape).c_str()); ShapeToString(args.dst_shape).c_str());
REPORT_CALL_ERROR("E19999", "Failed to check dst shape %s", REPORT_CALL_ERROR("E19999", "Dst shape %s check failed",
ShapeToString(args.dst_shape).c_str()); ShapeToString(args.dst_shape).c_str());
return ACL_ERROR_GE_SHAPE_INVALID; return ACL_ERROR_GE_SHAPE_INVALID;
} }
@ -112,7 +112,7 @@ Status GetDstDataAfterTrans(const TransArgs &args, TransResult &result, const in
total_size, ShapeToString(args.dst_shape).c_str(), total_size, ShapeToString(args.dst_shape).c_str(),
TypeUtils::FormatToSerialString(args.src_format).c_str(), TypeUtils::FormatToSerialString(args.src_format).c_str(),
TypeUtils::FormatToSerialString(args.dst_format).c_str()); TypeUtils::FormatToSerialString(args.dst_format).c_str());
REPORT_INNER_ERROR("E19999", "Failed to alloc the memory for dst buf %ld, " REPORT_CALL_ERROR("E19999", "Failed to alloc the memory for dst buf %ld, "
"shape %s when trans format from %s to %s", "shape %s when trans format from %s to %s",
total_size, ShapeToString(args.dst_shape).c_str(), total_size, ShapeToString(args.dst_shape).c_str(),
TypeUtils::FormatToSerialString(args.src_format).c_str(), TypeUtils::FormatToSerialString(args.src_format).c_str(),
@ -163,8 +163,10 @@ Status GetDstDataAfterTrans(const TransArgs &args, TransResult &result, const in
"C1HWNCoC0[%ld, %ld, %ld, %ld, %ld, %ld] offset %ld, err-code %d", "C1HWNCoC0[%ld, %ld, %ld, %ld, %ld, %ld] offset %ld, err-code %d",
h_idx, w_idx, c_idx, n_idx, src_offset, c1_idx, h_idx, w_idx, h_idx, w_idx, c_idx, n_idx, src_offset, c1_idx, h_idx, w_idx,
n_idx, co_idx, c0_idx, dst_offset, ret); n_idx, co_idx, c0_idx, dst_offset, ret);
REPORT_CALL_ERROR("E19999", "Failed to copy data from HWCN[%ld, %ld, %ld, %ld] offset %ld " REPORT_CALL_ERROR("E19999", "Failed to copy data from "
"to, C1HWNCoC0[%ld, %ld, %ld, %ld, %ld, %ld] offset %ld, err-code %d", "HWCN[%ld, %ld, %ld, %ld] offset %ld "
"to, C1HWNCoC0[%ld, %ld, %ld, %ld, %ld, %ld] "
"offset %ld, err-code %d",
h_idx, w_idx, c_idx, n_idx, src_offset, c1_idx, h_idx, w_idx, h_idx, w_idx, c_idx, n_idx, src_offset, c1_idx, h_idx, w_idx,
n_idx, co_idx, c0_idx, dst_offset, ret); n_idx, co_idx, c0_idx, dst_offset, ret);
return ACL_ERROR_GE_MEMORY_OPERATE_FAILED; return ACL_ERROR_GE_MEMORY_OPERATE_FAILED;
@ -178,13 +180,14 @@ Status GetDstDataAfterTrans(const TransArgs &args, TransResult &result, const in
"C1HWNCoC0[%ld, %ld, %ld, %ld, %ld, %ld] offset %ld, err-code %d", "C1HWNCoC0[%ld, %ld, %ld, %ld, %ld, %ld] offset %ld, err-code %d",
c1_idx, h_idx, w_idx, n_idx, co_idx, c0_idx, dst_offset, ret); c1_idx, h_idx, w_idx, n_idx, co_idx, c0_idx, dst_offset, ret);
REPORT_CALL_ERROR("E19999", "Failed to set to 0 to " REPORT_CALL_ERROR("E19999", "Failed to set to 0 to "
"C1HWNCoC0[%ld, %ld, %ld, %ld, %ld, %ld] offset %ld, err-code %d", "C1HWNCoC0[%ld, %ld, %ld, %ld, %ld, %ld] offset %ld, "
"err-code %d",
c1_idx, h_idx, w_idx, n_idx, co_idx, c0_idx, dst_offset, ret); c1_idx, h_idx, w_idx, n_idx, co_idx, c0_idx, dst_offset, ret);
return ACL_ERROR_GE_MEMORY_OPERATE_FAILED; return ACL_ERROR_GE_MEMORY_OPERATE_FAILED;
} }
} }
} }
}
} }
} }
} }
@ -209,7 +212,7 @@ Status FormatTransferHwcnC1hwncoc0::TransFormat(const TransArgs &args, TransResu
return SUCCESS; return SUCCESS;
} }
GELOGE(ACL_ERROR_GE_SHAPE_INVALID, "[Get][Shape]Failed, total size %ld from dst shape %s, " GELOGE(ACL_ERROR_GE_SHAPE_INVALID, "[Get][ShapeSize]Failed, total size %ld from dst shape %s, "
"src shape %s", total_size, "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());
REPORT_CALL_ERROR("E19999", "Failed to get total size %ld from dst shape %s, src shape %s", REPORT_CALL_ERROR("E19999", "Failed to get total size %ld from dst shape %s, src shape %s",
@ -230,7 +233,7 @@ Status FormatTransferHwcnC1hwncoc0::TransFormat(const TransArgs &args, TransResu
ShapeToString(args.dst_shape).c_str(), total_size, ret); ShapeToString(args.dst_shape).c_str(), total_size, ret);
REPORT_CALL_ERROR("E19999", "Failed to get data after trans, src shape %s, data type %s, " REPORT_CALL_ERROR("E19999", "Failed to get data after trans, src shape %s, data type %s, "
"dst shape %s, memory size %ld, error_code %u", "dst shape %s, memory size %ld, error_code %u",
ShapeToString(args.src_shape).c_str(), ShapeToString(args.src_shape).c_str(),
TypeUtils::DataTypeToSerialString(args.src_data_type).c_str(), TypeUtils::DataTypeToSerialString(args.src_data_type).c_str(),
ShapeToString(args.dst_shape).c_str(), total_size, ret); ShapeToString(args.dst_shape).c_str(), total_size, ret);
return ret; return ret;
@ -244,7 +247,7 @@ Status FormatTransferHwcnC1hwncoc0::TransShape(Format src_format, const std::vec
if (!CheckShapeValid(src_shape, kHwcnDimsNum)) { if (!CheckShapeValid(src_shape, kHwcnDimsNum)) {
GELOGE(ACL_ERROR_GE_SHAPE_INVALID, "[Check][Shape]Failed, src shape %s", GELOGE(ACL_ERROR_GE_SHAPE_INVALID, "[Check][Shape]Failed, src shape %s",
ShapeToString(src_shape).c_str()); ShapeToString(src_shape).c_str());
REPORT_CALL_ERROR("E19999", "Failed to check src shape %s", REPORT_CALL_ERROR("E19999", "Src shape %s check failed",
ShapeToString(src_shape).c_str()); ShapeToString(src_shape).c_str());
return ACL_ERROR_GE_SHAPE_INVALID; return ACL_ERROR_GE_SHAPE_INVALID;
} }

@ -41,7 +41,7 @@ Status CheckArgsForNc1hwc0ToNchw(const TransArgs &args) {
return ACL_ERROR_GE_FORMAT_INVALID; return ACL_ERROR_GE_FORMAT_INVALID;
} }
if (!CheckDataTypeSupported(args.src_data_type)) { if (!CheckDataTypeSupported(args.src_data_type)) {
GELOGE(ACL_ERROR_GE_DATATYPE_INVALID, "[Trans][Shape]Failed, shape from NC1HWC0 to NCHW, " GELOGE(ACL_ERROR_GE_DATATYPE_INVALID, "[Check][DataType]Failed, shape from NC1HWC0 to NCHW, "
"invalid data type %s", "invalid data type %s",
TypeUtils::DataTypeToSerialString(args.src_data_type).c_str()); TypeUtils::DataTypeToSerialString(args.src_data_type).c_str());
REPORT_INNER_ERROR("E19999", "Failed to trans shape from NC1HWC0 to NCHW, invalid data type %s", REPORT_INNER_ERROR("E19999", "Failed to trans shape from NC1HWC0 to NCHW, invalid data type %s",
@ -51,14 +51,14 @@ Status CheckArgsForNc1hwc0ToNchw(const TransArgs &args) {
if (!CheckShapeValid(args.src_shape, kNc1hwc0DimsNum)) { if (!CheckShapeValid(args.src_shape, kNc1hwc0DimsNum)) {
GELOGE(ACL_ERROR_GE_SHAPE_INVALID, "[Check][Shape]Failed, src shape %s", GELOGE(ACL_ERROR_GE_SHAPE_INVALID, "[Check][Shape]Failed, src shape %s",
ShapeToString(args.src_shape).c_str()); ShapeToString(args.src_shape).c_str());
REPORT_CALL_ERROR("E19999", "Failed to check src shape %s", REPORT_CALL_ERROR("E19999", "Src shape %s check failed",
ShapeToString(args.src_shape).c_str()); ShapeToString(args.src_shape).c_str());
return ACL_ERROR_GE_SHAPE_INVALID; return ACL_ERROR_GE_SHAPE_INVALID;
} }
if (!CheckShapeValid(args.dst_shape, kNchwDimsNum)) { if (!CheckShapeValid(args.dst_shape, kNchwDimsNum)) {
GELOGE(ACL_ERROR_GE_SHAPE_INVALID, "[Check][Shape]Failed, dst shape %s", GELOGE(ACL_ERROR_GE_SHAPE_INVALID, "[Check][Shape]Failed, dst shape %s",
ShapeToString(args.dst_shape).c_str()); ShapeToString(args.dst_shape).c_str());
REPORT_CALL_ERROR("E19999", "Failed to check dst shape %s", REPORT_CALL_ERROR("E19999", "Dst shape %s check failed",
ShapeToString(args.dst_shape).c_str()); ShapeToString(args.dst_shape).c_str());
return ACL_ERROR_GE_SHAPE_INVALID; return ACL_ERROR_GE_SHAPE_INVALID;
} }
@ -76,7 +76,8 @@ Status CheckArgsForNc1hwc0ToNchw(const TransArgs &args) {
GELOGE(ACL_ERROR_GE_SHAPE_INVALID, "[Check][Shape]Failed to check relationship between " GELOGE(ACL_ERROR_GE_SHAPE_INVALID, "[Check][Shape]Failed to check relationship between "
"src shape %s and dst shape %s", "src shape %s and dst shape %s",
ShapeToString(src_shape).c_str(), ShapeToString(dst_shape).c_str()); ShapeToString(src_shape).c_str(), ShapeToString(dst_shape).c_str());
REPORT_INNER_ERROR("E19999", "Failed to check relationship between src shape %s and dst shape %s", REPORT_INNER_ERROR("E19999", "Failed to check relationship between src shape %s "
"and 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;
} }
@ -92,11 +93,11 @@ Status GetDstDataAfterTrans(const TransArgs &args, TransResult &result, const in
total_size, ShapeToString(args.dst_shape).c_str(), total_size, ShapeToString(args.dst_shape).c_str(),
TypeUtils::FormatToSerialString(args.src_format).c_str(), TypeUtils::FormatToSerialString(args.src_format).c_str(),
TypeUtils::FormatToSerialString(args.dst_format).c_str()); TypeUtils::FormatToSerialString(args.dst_format).c_str());
REPORT_INNER_ERROR("E19999", "Failed to alloc the memory for dst buf %ld, " REPORT_CALL_ERROR("E19999", "Failed to alloc the memory for dst buf %ld, "
"shape %s when trans format from %s to %s", "shape %s when trans format from %s to %s",
total_size, ShapeToString(args.dst_shape).c_str(), total_size, ShapeToString(args.dst_shape).c_str(),
TypeUtils::FormatToSerialString(args.src_format).c_str(), TypeUtils::FormatToSerialString(args.src_format).c_str(),
TypeUtils::FormatToSerialString(args.dst_format).c_str()); TypeUtils::FormatToSerialString(args.dst_format).c_str());
return ACL_ERROR_GE_MEMORY_ALLOCATION; return ACL_ERROR_GE_MEMORY_ALLOCATION;
} }
@ -137,7 +138,8 @@ Status GetDstDataAfterTrans(const TransArgs &args, TransResult &result, const in
n_idx, c1_idx, h_idx, w_idx, c0_idx, src_offset, n_idx, n_idx, c1_idx, h_idx, w_idx, c0_idx, src_offset, n_idx,
c_idx, h_idx, w_idx, dst_offset, ret); c_idx, h_idx, w_idx, dst_offset, ret);
REPORT_CALL_ERROR("E19999", "Failed to copy data from NC1HWC0[%ld, %ld, %ld, %ld, %ld] " REPORT_CALL_ERROR("E19999", "Failed to copy data from NC1HWC0[%ld, %ld, %ld, %ld, %ld] "
"src offset %ld to NCHW[%ld, %ld, %ld, %ld], dst offset %ld, err-code %d", "src offset %ld to NCHW[%ld, %ld, %ld, %ld], dst offset %ld, "
"err-code %d",
n_idx, c1_idx, h_idx, w_idx, c0_idx, src_offset, n_idx, n_idx, c1_idx, h_idx, w_idx, c0_idx, src_offset, n_idx,
c_idx, h_idx, w_idx, dst_offset, ret); c_idx, h_idx, w_idx, dst_offset, ret);
return ACL_ERROR_GE_MEMORY_OPERATE_FAILED; return ACL_ERROR_GE_MEMORY_OPERATE_FAILED;
@ -166,7 +168,7 @@ Status FormatTransferNc1hwc0Nchw::TransFormat(const TransArgs &args, TransResult
return SUCCESS; return SUCCESS;
} }
GELOGE(ACL_ERROR_GE_PARAM_INVALID, "[Get][Shape]Failed, total size %ld from dst shape %s, " GELOGE(ACL_ERROR_GE_PARAM_INVALID, "[Get][ShapeSize]Failed, total size %ld from dst shape %s, "
"src shape %s", total_size, "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());
REPORT_CALL_ERROR("E19999", "Failed to get total size %ld from dst shape %s, src shape %s", REPORT_CALL_ERROR("E19999", "Failed to get total size %ld from dst shape %s, src shape %s",

@ -41,24 +41,24 @@ Status CheckArgsForNc1hwc0ToNhwc(const TransArgs &args) {
return ACL_ERROR_GE_FORMAT_INVALID; return ACL_ERROR_GE_FORMAT_INVALID;
} }
if (!CheckDataTypeSupported(args.src_data_type)) { if (!CheckDataTypeSupported(args.src_data_type)) {
GELOGE(ACL_ERROR_GE_DATATYPE_INVALID, "[Trans][Shape]Failed, shape from NC1HWC0 to NHWC, " GELOGE(ACL_ERROR_GE_DATATYPE_INVALID, "[Check][DataType]Failed, shape from NC1HWC0 to NHWC, "
"invalid data type %s", "invalid data type %s",
TypeUtils::DataTypeToSerialString(args.src_data_type).c_str()); TypeUtils::DataTypeToSerialString(args.src_data_type).c_str());
REPORT_INNER_ERROR("E19999", "Failed to trans shape from NC1HWC0 to NHWC, invalid data type %s", REPORT_INNER_ERROR("E19999", "Failed to trans shape from NC1HWC0 to NHWC, invalid data type %s",
TypeUtils::DataTypeToSerialString(args.src_data_type).c_str()); TypeUtils::DataTypeToSerialString(args.src_data_type).c_str());
return ACL_ERROR_GE_DATATYPE_INVALID; return ACL_ERROR_GE_DATATYPE_INVALID;
} }
if (!CheckShapeValid(args.src_shape, kNc1hwc0DimsNum)) { if (!CheckShapeValid(args.src_shape, kNc1hwc0DimsNum)) {
GELOGE(ACL_ERROR_GE_SHAPE_INVALID, "[Check][Shape]Failed, src shape %s", GELOGE(ACL_ERROR_GE_SHAPE_INVALID, "[Check][Shape]Failed, src shape %s",
ShapeToString(args.src_shape).c_str()); ShapeToString(args.src_shape).c_str());
REPORT_CALL_ERROR("E19999", "Failed to check src shape %s", REPORT_CALL_ERROR("E19999", "Src shape %s check failed",
ShapeToString(args.src_shape).c_str()); ShapeToString(args.src_shape).c_str());
return ACL_ERROR_GE_SHAPE_INVALID; return ACL_ERROR_GE_SHAPE_INVALID;
} }
if (!CheckShapeValid(args.dst_shape, kNhwcDimsNum)) { if (!CheckShapeValid(args.dst_shape, kNhwcDimsNum)) {
GELOGE(ACL_ERROR_GE_SHAPE_INVALID, "[Check][Shape]Failed, dst shape %s", GELOGE(ACL_ERROR_GE_SHAPE_INVALID, "[Check][Shape]Failed, dst shape %s",
ShapeToString(args.dst_shape).c_str()); ShapeToString(args.dst_shape).c_str());
REPORT_CALL_ERROR("E19999", "Failed to check dst shape %s", REPORT_CALL_ERROR("E19999", "Dst shape %s check failed",
ShapeToString(args.dst_shape).c_str()); ShapeToString(args.dst_shape).c_str());
return ACL_ERROR_GE_SHAPE_INVALID; return ACL_ERROR_GE_SHAPE_INVALID;
} }
@ -76,7 +76,8 @@ Status CheckArgsForNc1hwc0ToNhwc(const TransArgs &args) {
GELOGE(ACL_ERROR_GE_SHAPE_INVALID, "[Check][Shape]Failed to check relationship between " GELOGE(ACL_ERROR_GE_SHAPE_INVALID, "[Check][Shape]Failed to check relationship between "
"src shape %s and dst shape %s", "src shape %s and dst shape %s",
ShapeToString(src_shape).c_str(), ShapeToString(dst_shape).c_str()); ShapeToString(src_shape).c_str(), ShapeToString(dst_shape).c_str());
REPORT_INNER_ERROR("E19999", "Failed to check relationship between src shape %s and dst shape %s", REPORT_INNER_ERROR("E19999", "Failed to check relationship between src shape %s "
"and 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;
} }
@ -92,11 +93,11 @@ Status GetDstDataAfterTrans(const TransArgs &args, TransResult &result, const in
total_size, ShapeToString(args.dst_shape).c_str(), total_size, ShapeToString(args.dst_shape).c_str(),
TypeUtils::FormatToSerialString(args.src_format).c_str(), TypeUtils::FormatToSerialString(args.src_format).c_str(),
TypeUtils::FormatToSerialString(args.dst_format).c_str()); TypeUtils::FormatToSerialString(args.dst_format).c_str());
REPORT_INNER_ERROR("E19999", "Failed to alloc the memory for dst buf %ld, " REPORT_CALL_ERROR("E19999", "Failed to alloc the memory for dst buf %ld, "
"shape %s when trans format from %s to %s", "shape %s when trans format from %s to %s",
total_size, ShapeToString(args.dst_shape).c_str(), total_size, ShapeToString(args.dst_shape).c_str(),
TypeUtils::FormatToSerialString(args.src_format).c_str(), TypeUtils::FormatToSerialString(args.src_format).c_str(),
TypeUtils::FormatToSerialString(args.dst_format).c_str()); TypeUtils::FormatToSerialString(args.dst_format).c_str());
return ACL_ERROR_GE_MEMORY_ALLOCATION; return ACL_ERROR_GE_MEMORY_ALLOCATION;
} }
@ -136,9 +137,9 @@ Status GetDstDataAfterTrans(const TransArgs &args, TransResult &result, const in
"offset %ld to NHWC[%ld, %ld, %ld, %ld] offset %ld, err-code %d", "offset %ld to NHWC[%ld, %ld, %ld, %ld] offset %ld, err-code %d",
n_idx, c1_idx, h_idx, w_idx, c0_idx, src_offset, n_idx, c_idx, n_idx, c1_idx, h_idx, w_idx, c0_idx, src_offset, n_idx, c_idx,
h_idx, w_idx, dst_offset, ret); h_idx, w_idx, dst_offset, ret);
REPORT_CALL_ERROR("E19999", "Failed to copy data from NC1HWC0[%ld, %ld, %ld, %ld, %ld] " REPORT_CALL_ERROR("E19999", "Failed to copy data from NC1HWC0[%ld, %ld, %ld, %ld, %ld] "
"offset %ld to NHWC[%ld, %ld, %ld, %ld] offset %ld, err-code %d", "offset %ld to NHWC[%ld, %ld, %ld, %ld] offset %ld, err-code %d",
n_idx, c1_idx, h_idx, w_idx, c0_idx, src_offset, n_idx, c_idx, n_idx, c1_idx, h_idx, w_idx, c0_idx, src_offset, n_idx, c_idx,
h_idx, w_idx, dst_offset, ret); h_idx, w_idx, dst_offset, ret);
return ACL_ERROR_GE_MEMORY_OPERATE_FAILED; return ACL_ERROR_GE_MEMORY_OPERATE_FAILED;
} }
@ -166,7 +167,7 @@ Status FormatTransferNc1hwc0Nhwc::TransFormat(const TransArgs &args, TransResult
return SUCCESS; return SUCCESS;
} }
GELOGE(ACL_ERROR_GE_SHAPE_INVALID, "[Get][Shape]Failed, total size %ld from dst shape %s, " GELOGE(ACL_ERROR_GE_SHAPE_INVALID, "[Get][ShapeSize]Failed, total size %ld from dst shape %s, "
"src shape %s", total_size, "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());
REPORT_CALL_ERROR("E19999", "Failed to get total size %ld from dst shape %s, src shape %s", REPORT_CALL_ERROR("E19999", "Failed to get total size %ld from dst shape %s, src shape %s",

@ -61,7 +61,7 @@ Status TransShape(int64_t n, int64_t c, int64_t h, int64_t w, DataType data_type
if (!IsShapeValid(dst_shape)) { if (!IsShapeValid(dst_shape)) {
GELOGE(ACL_ERROR_GE_SHAPE_INVALID, "[Check][Shape]Failed, dst shape %s", GELOGE(ACL_ERROR_GE_SHAPE_INVALID, "[Check][Shape]Failed, dst shape %s",
ShapeToString(dst_shape).c_str()); ShapeToString(dst_shape).c_str());
REPORT_CALL_ERROR("E19999", "Failed to check dst shape %s", ShapeToString(dst_shape).c_str()); REPORT_CALL_ERROR("E19999", "Dst shape %s check failed", ShapeToString(dst_shape).c_str());
return ACL_ERROR_GE_SHAPE_INVALID; return ACL_ERROR_GE_SHAPE_INVALID;
} }
return SUCCESS; return SUCCESS;
@ -98,7 +98,8 @@ Status TransFormatFromNchwToFzC04(const TransArgs &args, TransResult &result) {
GELOGE(ret, "[Trans][Formats]Failed from NCHW to HWCN, src_shape %s, src_data_type %s", GELOGE(ret, "[Trans][Formats]Failed from NCHW to HWCN, src_shape %s, src_data_type %s",
ShapeToString(args.src_shape).c_str(), ShapeToString(args.src_shape).c_str(),
TypeUtils::DataTypeToSerialString(args.src_data_type).c_str()); TypeUtils::DataTypeToSerialString(args.src_data_type).c_str());
REPORT_CALL_ERROR("E19999", "Failede to trans formats from NCHW to HWCN, src_shape %s, src_data_type %s", REPORT_CALL_ERROR("E19999", "Failede to trans formats from NCHW to HWCN, src_shape %s, "
"src_data_type %s",
ShapeToString(args.src_shape).c_str(), ShapeToString(args.src_shape).c_str(),
TypeUtils::DataTypeToSerialString(args.src_data_type).c_str()); TypeUtils::DataTypeToSerialString(args.src_data_type).c_str());
return ret; return ret;
@ -110,7 +111,8 @@ Status TransFormatFromNchwToFzC04(const TransArgs &args, TransResult &result) {
// check size it should be same with original // check size it should be same with original
size_t expect_size = n * c * h * w * size; // before has do check about mul size_t expect_size = n * c * h * w * size; // before has do check about mul
if (trans_result_1.length != expect_size) { if (trans_result_1.length != expect_size) {
GELOGE(ACL_ERROR_GE_PARAM_INVALID, "[Check][Shape]size %zu is not match expect size %zu after transpose", GELOGE(ACL_ERROR_GE_PARAM_INVALID, "[Check][Shape]size %zu is not match expect size %zu "
"after transpose",
trans_result_1.length, expect_size); trans_result_1.length, expect_size);
return ACL_ERROR_GE_PARAM_INVALID; return ACL_ERROR_GE_PARAM_INVALID;
} }
@ -127,21 +129,21 @@ Status TransFormatFromNchwToFzC04(const TransArgs &args, TransResult &result) {
GE_IF_BOOL_EXEC(!CheckInt64MulOverflow(h_o, w_o), GE_IF_BOOL_EXEC(!CheckInt64MulOverflow(h_o, w_o),
GELOGE(ACL_ERROR_GE_INTERNAL_ERROR, "[Check][Shape]Failed, " GELOGE(ACL_ERROR_GE_INTERNAL_ERROR, "[Check][Shape]Failed, "
"int64 mul overflow.A[%ld], B[%ld]", h_o, w_o); "int64 mul overflow.A[%ld], B[%ld]", h_o, w_o);
REPORT_CALL_ERROR("E19999", "Check shape failed, int64 mul overflow.A[%ld], B[%ld]", REPORT_CALL_ERROR("E19999", "Check shape failed, int64 mul overflow.A[%ld], "
h_o, w_o); "B[%ld]", h_o, w_o);
return ACL_ERROR_GE_INTERNAL_ERROR); return ACL_ERROR_GE_INTERNAL_ERROR);
GE_IF_BOOL_EXEC(!CheckInt64MulOverflow(n_o, c_o), GE_IF_BOOL_EXEC(!CheckInt64MulOverflow(n_o, c_o),
GELOGE(ACL_ERROR_GE_INTERNAL_ERROR, "[Check][Shape]Failed, " GELOGE(ACL_ERROR_GE_INTERNAL_ERROR, "[Check][Shape]Failed, "
"int64 mul overflow.A[%ld], B[%ld]", n_o, c_o); "int64 mul overflow.A[%ld], B[%ld]", n_o, c_o);
REPORT_CALL_ERROR("E19999", "Check shape failed, int64 mul overflow.A[%ld], B[%ld]", REPORT_CALL_ERROR("E19999", "Check shape failed, int64 mul overflow.A[%ld], "
n_o, c_o); "B[%ld]", n_o, c_o);
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), GE_IF_BOOL_EXEC(!CheckInt64MulOverflow(t1, t2),
GELOGE(ACL_ERROR_GE_INTERNAL_ERROR, "[Check][Shape]Failed, " GELOGE(ACL_ERROR_GE_INTERNAL_ERROR, "[Check][Shape]Failed, "
"int64 mul overflow.A[%ld], B[%ld]", t1, t2); "int64 mul overflow.A[%ld], B[%ld]", t1, t2);
REPORT_CALL_ERROR("E19999", "Check shape failed, " REPORT_CALL_ERROR("E19999", "Check shape failed, "
"int64 mul overflow.A[%ld], B[%ld]", t1, t2); "int64 mul overflow.A[%ld], B[%ld]", t1, t2);
return ACL_ERROR_GE_INTERNAL_ERROR); return ACL_ERROR_GE_INTERNAL_ERROR);
@ -149,8 +151,8 @@ Status TransFormatFromNchwToFzC04(const TransArgs &args, TransResult &result) {
GE_IF_BOOL_EXEC(!CheckInt64MulOverflow(total_ele_cnt, size), GE_IF_BOOL_EXEC(!CheckInt64MulOverflow(total_ele_cnt, size),
GELOGE(ACL_ERROR_GE_INTERNAL_ERROR, "[Check][Shape]Failed, " GELOGE(ACL_ERROR_GE_INTERNAL_ERROR, "[Check][Shape]Failed, "
"int64 mul overflow.A[%ld], B[%d]", total_ele_cnt, size); "int64 mul overflow.A[%ld], B[%d]", total_ele_cnt, size);
REPORT_CALL_ERROR("E19999", "Check shape failed, int64 mul overflow.A[%ld], B[%d]", REPORT_CALL_ERROR("E19999", "Check shape failed, int64 mul overflow.A[%ld], "
total_ele_cnt, size); "B[%d]", total_ele_cnt, size);
return ACL_ERROR_GE_INTERNAL_ERROR); return ACL_ERROR_GE_INTERNAL_ERROR);
int64_t dst_size = total_ele_cnt * size; int64_t dst_size = total_ele_cnt * size;
if (dst_size == 0) { if (dst_size == 0) {
@ -164,9 +166,10 @@ Status TransFormatFromNchwToFzC04(const TransArgs &args, TransResult &result) {
"when trans format from %s to %s", "when trans format from %s to %s",
dst_size, TypeUtils::FormatToSerialString(args.src_format).c_str(), dst_size, TypeUtils::FormatToSerialString(args.src_format).c_str(),
TypeUtils::FormatToSerialString(args.dst_format).c_str()); TypeUtils::FormatToSerialString(args.dst_format).c_str());
REPORT_INNER_ERROR("E19999", "Failed to alloc the memory for dst buf %ld when trans format from %s to %s", REPORT_CALL_ERROR("E19999", "Failed to alloc the memory for dst buf %ld "
dst_size, TypeUtils::FormatToSerialString(args.src_format).c_str(), "when trans format from %s to %s",
TypeUtils::FormatToSerialString(args.dst_format).c_str()); dst_size, TypeUtils::FormatToSerialString(args.src_format).c_str(),
TypeUtils::FormatToSerialString(args.dst_format).c_str());
return ACL_ERROR_GE_MEMORY_ALLOCATION; return ACL_ERROR_GE_MEMORY_ALLOCATION;
} }
auto retMem = memset_s(dst.get(), dst_size, 0, dst_size); auto retMem = memset_s(dst.get(), dst_size, 0, dst_size);
@ -238,22 +241,22 @@ Status PaddingNC(const TransArgs &args, TransArgs &args_tmp, std::shared_ptr<uin
GE_IF_BOOL_EXEC(!CheckInt64MulOverflow(h_o, w_o), GE_IF_BOOL_EXEC(!CheckInt64MulOverflow(h_o, w_o),
GELOGE(ACL_ERROR_GE_INTERNAL_ERROR, "[Check][Shape]Failed, " GELOGE(ACL_ERROR_GE_INTERNAL_ERROR, "[Check][Shape]Failed, "
"int64 mul overflow.A[%ld], B[%ld]", h_o, w_o); "int64 mul overflow.A[%ld], B[%ld]", h_o, w_o);
REPORT_CALL_ERROR("E19999", "Check shape failed, int64 mul overflow.A[%ld], B[%ld]", REPORT_CALL_ERROR("E19999", "Check shape failed, int64 mul overflow.A[%ld], "
h_o, w_o); "B[%ld]", h_o, w_o);
return ACL_ERROR_GE_INTERNAL_ERROR); return ACL_ERROR_GE_INTERNAL_ERROR);
GE_IF_BOOL_EXEC(!CheckInt64MulOverflow(n_o, c_o), GE_IF_BOOL_EXEC(!CheckInt64MulOverflow(n_o, c_o),
GELOGE(ACL_ERROR_GE_INTERNAL_ERROR, "[Check][Shape]Failed, " GELOGE(ACL_ERROR_GE_INTERNAL_ERROR, "[Check][Shape]Failed, "
"int64 mul overflow.A[%ld], B[%ld]", n_o, c_o); "int64 mul overflow.A[%ld], B[%ld]", n_o, c_o);
REPORT_CALL_ERROR("E19999", "Check shape failed, int64 mul overflow.A[%ld], B[%ld]", REPORT_CALL_ERROR("E19999", "Check shape failed, int64 mul overflow.A[%ld], "
n_o, c_o); "B[%ld]", n_o, c_o);
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), GE_IF_BOOL_EXEC(!CheckInt64MulOverflow(t1, t2),
GELOGE(ACL_ERROR_GE_INTERNAL_ERROR, "[Check][Shape]Failed, " GELOGE(ACL_ERROR_GE_INTERNAL_ERROR, "[Check][Shape]Failed, "
"int64 mul overflow.A[%ld], B[%ld]", t1, t2); "int64 mul overflow.A[%ld], B[%ld]", t1, t2);
REPORT_CALL_ERROR("E19999", "Check shape failed, int64 mul overflow.A[%ld], B[%ld]", REPORT_CALL_ERROR("E19999", "Check shape failed, int64 mul overflow.A[%ld], "
t1, t2); "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;
@ -261,8 +264,8 @@ Status PaddingNC(const TransArgs &args, TransArgs &args_tmp, std::shared_ptr<uin
GE_IF_BOOL_EXEC(!CheckInt64MulOverflow(total_ele_cnt, size), GE_IF_BOOL_EXEC(!CheckInt64MulOverflow(total_ele_cnt, size),
GELOGE(ACL_ERROR_GE_INTERNAL_ERROR, "[Check][Shape]Failed, " GELOGE(ACL_ERROR_GE_INTERNAL_ERROR, "[Check][Shape]Failed, "
"int64 mul overflow.A[%ld], B[%d]", total_ele_cnt, size); "int64 mul overflow.A[%ld], B[%d]", total_ele_cnt, size);
REPORT_CALL_ERROR("E19999", "Check shape failed, int64 mul overflow.A[%ld], B[%d]", REPORT_CALL_ERROR("E19999", "Check shape failed, int64 mul overflow.A[%ld], "
total_ele_cnt, size); "B[%d]", total_ele_cnt, size);
return ACL_ERROR_GE_INTERNAL_ERROR); return ACL_ERROR_GE_INTERNAL_ERROR);
int64_t dst_size = total_ele_cnt * size; int64_t dst_size = total_ele_cnt * size;
@ -276,10 +279,10 @@ Status PaddingNC(const TransArgs &args, TransArgs &args_tmp, std::shared_ptr<uin
"trans format from %s to %s", "trans format from %s to %s",
dst_size, TypeUtils::FormatToSerialString(args.src_format).c_str(), dst_size, TypeUtils::FormatToSerialString(args.src_format).c_str(),
TypeUtils::FormatToSerialString(args.dst_format).c_str()); TypeUtils::FormatToSerialString(args.dst_format).c_str());
REPORT_INNER_ERROR("E19999", "Failed to alloc the memory for dst buf %ld when " REPORT_CALL_ERROR("E19999", "Failed to alloc the memory for dst buf %ld when "
"trans format from %s to %s", "trans format from %s to %s",
dst_size, TypeUtils::FormatToSerialString(args.src_format).c_str(), dst_size, TypeUtils::FormatToSerialString(args.src_format).c_str(),
TypeUtils::FormatToSerialString(args.dst_format).c_str()); TypeUtils::FormatToSerialString(args.dst_format).c_str());
return ACL_ERROR_GE_MEMORY_ALLOCATION; return ACL_ERROR_GE_MEMORY_ALLOCATION;
} }
auto ret = memset_s(dst.get(), dst_size, 0, dst_size); auto ret = memset_s(dst.get(), dst_size, 0, dst_size);

@ -81,11 +81,12 @@ Status CheckArgsForNchwToNc1hwc0(const TransArgs &args) {
TypeUtils::DataTypeToSerialString(args.src_data_type).c_str(), TypeUtils::DataTypeToSerialString(args.src_data_type).c_str(),
ShapeToString(args.src_shape).c_str(), ShapeToString(args.src_shape).c_str(),
ShapeToString(args.dst_shape).c_str(), ShapeToString(expect_5d_shape).c_str()); ShapeToString(args.dst_shape).c_str(), ShapeToString(expect_5d_shape).c_str());
REPORT_INNER_ERROR("E19999", "Failed to trans formats, the src and dst shape are not compatible. " REPORT_INNER_ERROR("E19999", "Failed to trans formats, the src and dst shape are not "
"data type %s, src shape %s, dst shape %s, expect dst shape %s", "compatible. data type %s, src shape %s, dst shape %s, expect dst shape %s",
TypeUtils::DataTypeToSerialString(args.src_data_type).c_str(), TypeUtils::DataTypeToSerialString(args.src_data_type).c_str(),
ShapeToString(args.src_shape).c_str(), ShapeToString(args.src_shape).c_str(),
ShapeToString(args.dst_shape).c_str(), ShapeToString(expect_5d_shape).c_str()); ShapeToString(args.dst_shape).c_str(),
ShapeToString(expect_5d_shape).c_str());
return ACL_ERROR_GE_SHAPE_INVALID; return ACL_ERROR_GE_SHAPE_INVALID;
} }
@ -101,11 +102,11 @@ Status GetDstDataAfterTrans(const TransArgs &args, TransResult &result, const in
total_size, ShapeToString(args.dst_shape).c_str(), total_size, ShapeToString(args.dst_shape).c_str(),
TypeUtils::FormatToSerialString(args.src_format).c_str(), TypeUtils::FormatToSerialString(args.src_format).c_str(),
TypeUtils::FormatToSerialString(args.dst_format).c_str()); TypeUtils::FormatToSerialString(args.dst_format).c_str());
REPORT_INNER_ERROR("E19999", "Failed to alloc the memory for dst buf %ld, " REPORT_CALL_ERROR("E19999", "Failed to alloc the memory for dst buf %ld, "
"shape %s when trans format from %s to %s", "shape %s when trans format from %s to %s",
total_size, ShapeToString(args.dst_shape).c_str(), total_size, ShapeToString(args.dst_shape).c_str(),
TypeUtils::FormatToSerialString(args.src_format).c_str(), TypeUtils::FormatToSerialString(args.src_format).c_str(),
TypeUtils::FormatToSerialString(args.dst_format).c_str()); TypeUtils::FormatToSerialString(args.dst_format).c_str());
return ACL_ERROR_GE_MEMORY_ALLOCATION; return ACL_ERROR_GE_MEMORY_ALLOCATION;
} }
@ -157,7 +158,8 @@ Status GetDstDataAfterTrans(const TransArgs &args, TransResult &result, const in
srcIdx, src_offset, n_idx, c1_idx, h_idx, w_idx, c0_idx, dst_offset, ret); srcIdx, src_offset, n_idx, c1_idx, h_idx, w_idx, c0_idx, dst_offset, ret);
REPORT_CALL_ERROR("E19999", "Failed to copy data from NCHW[%ld] offset %ld " REPORT_CALL_ERROR("E19999", "Failed to copy data from NCHW[%ld] offset %ld "
"to NC1HWC0[%ld, %ld, %ld, %ld, %ld] offset %ld, err-code %d", "to NC1HWC0[%ld, %ld, %ld, %ld, %ld] offset %ld, err-code %d",
srcIdx, src_offset, n_idx, c1_idx, h_idx, w_idx, c0_idx, dst_offset, ret); srcIdx, src_offset, n_idx, c1_idx, h_idx, w_idx, c0_idx,
dst_offset, ret);
return ACL_ERROR_GE_MEMORY_OPERATE_FAILED; return ACL_ERROR_GE_MEMORY_OPERATE_FAILED;
} }
} else { } else {
@ -223,9 +225,9 @@ Status FormatTransferNchwNc1hwc0::TransFormat(const TransArgs &args, TransResult
ShapeToString(args.dst_shape).c_str(), total_size, ret); ShapeToString(args.dst_shape).c_str(), total_size, ret);
REPORT_CALL_ERROR("E19999", "Failed to get data after trans, src shape %s, data type %s, " REPORT_CALL_ERROR("E19999", "Failed to get data after trans, src shape %s, data type %s, "
"dst shape %s, memory size %ld, error_code %u", "dst shape %s, memory size %ld, error_code %u",
ShapeToString(args.src_shape).c_str(), ShapeToString(args.src_shape).c_str(),
TypeUtils::DataTypeToSerialString(args.src_data_type).c_str(), TypeUtils::DataTypeToSerialString(args.src_data_type).c_str(),
ShapeToString(args.dst_shape).c_str(), total_size, ret); ShapeToString(args.dst_shape).c_str(), total_size, ret);
return ret; return ret;
} }
return SUCCESS; return SUCCESS;

@ -65,24 +65,24 @@ Status CheckArgsForNhwcToNc1hwc0(const TransArgs &args) {
return ACL_ERROR_GE_FORMAT_INVALID; return ACL_ERROR_GE_FORMAT_INVALID;
} }
if (!CheckDataTypeSupported(args.src_data_type)) { if (!CheckDataTypeSupported(args.src_data_type)) {
GELOGE(ACL_ERROR_GE_DATATYPE_INVALID, "[Trans][Shape]Failed from NHWC to NC1HWC0, " GELOGE(ACL_ERROR_GE_DATATYPE_INVALID, "[Check][DataType]Failed from NHWC to NC1HWC0, "
"invalid data type %s", "invalid data type %s",
TypeUtils::DataTypeToSerialString(args.src_data_type).c_str()); TypeUtils::DataTypeToSerialString(args.src_data_type).c_str());
REPORT_INNER_ERROR("E19999", "Failed to trans shape from NHWC to NC1HWC0, invalid data type %s", REPORT_INNER_ERROR("E19999", "Failed to trans shape from NHWC to NC1HWC0, invalid data type %s",
TypeUtils::DataTypeToSerialString(args.src_data_type).c_str()); TypeUtils::DataTypeToSerialString(args.src_data_type).c_str());
return ACL_ERROR_GE_DATATYPE_INVALID; return ACL_ERROR_GE_DATATYPE_INVALID;
} }
if (!CheckShapeValid(args.src_shape, kNhwcDimsNum)) { if (!CheckShapeValid(args.src_shape, kNhwcDimsNum)) {
GELOGE(ACL_ERROR_GE_SHAPE_INVALID, "[Check][Shape]Failed, src shape %s", GELOGE(ACL_ERROR_GE_SHAPE_INVALID, "[Check][Shape]Failed, src shape %s",
ShapeToString(args.src_shape).c_str()); ShapeToString(args.src_shape).c_str());
REPORT_CALL_ERROR("E19999", "Failed to check src shape %s", REPORT_CALL_ERROR("E19999", "Src shape %s check failed",
ShapeToString(args.src_shape).c_str()); ShapeToString(args.src_shape).c_str());
return ACL_ERROR_GE_SHAPE_INVALID; return ACL_ERROR_GE_SHAPE_INVALID;
} }
if (!CheckShapeValid(args.dst_shape, kNc1hwc0DimsNum)) { if (!CheckShapeValid(args.dst_shape, kNc1hwc0DimsNum)) {
GELOGE(ACL_ERROR_GE_SHAPE_INVALID, "[Check][Shape]Failed, dst shape %s", GELOGE(ACL_ERROR_GE_SHAPE_INVALID, "[Check][Shape]Failed, dst shape %s",
ShapeToString(args.dst_shape).c_str()); ShapeToString(args.dst_shape).c_str());
REPORT_CALL_ERROR("E19999", "Failed to check dst shape %s", REPORT_CALL_ERROR("E19999", "Dst shape %s check failed",
ShapeToString(args.dst_shape).c_str()); ShapeToString(args.dst_shape).c_str());
return ACL_ERROR_GE_SHAPE_INVALID; return ACL_ERROR_GE_SHAPE_INVALID;
} }
@ -115,11 +115,11 @@ Status GetDstDataAfterTrans(const TransArgs &args, TransResult &result, const in
total_size, ShapeToString(args.dst_shape).c_str(), total_size, ShapeToString(args.dst_shape).c_str(),
TypeUtils::FormatToSerialString(args.src_format).c_str(), TypeUtils::FormatToSerialString(args.src_format).c_str(),
TypeUtils::FormatToSerialString(args.dst_format).c_str()); TypeUtils::FormatToSerialString(args.dst_format).c_str());
REPORT_INNER_ERROR("E19999", "Failed to alloc the memory for dst buf %ld, " REPORT_CALL_ERROR("E19999", "Failed to alloc the memory for dst buf %ld, "
"shape %s when trans format from %s to %s", "shape %s when trans format from %s to %s",
total_size, ShapeToString(args.dst_shape).c_str(), total_size, ShapeToString(args.dst_shape).c_str(),
TypeUtils::FormatToSerialString(args.src_format).c_str(), TypeUtils::FormatToSerialString(args.src_format).c_str(),
TypeUtils::FormatToSerialString(args.dst_format).c_str()); TypeUtils::FormatToSerialString(args.dst_format).c_str());
return ACL_ERROR_GE_MEMORY_ALLOCATION; return ACL_ERROR_GE_MEMORY_ALLOCATION;
} }
@ -157,11 +157,12 @@ Status GetDstDataAfterTrans(const TransArgs &args, TransResult &result, const in
auto ret = memcpy_s(dst.get() + dst_offset, protected_size, args.data + src_offset, size); auto ret = memcpy_s(dst.get() + dst_offset, protected_size, args.data + src_offset, size);
if (ret != EOK) { if (ret != EOK) {
GELOGE(ACL_ERROR_GE_MEMORY_OPERATE_FAILED, GELOGE(ACL_ERROR_GE_MEMORY_OPERATE_FAILED,
"[Operate][Memory]Failed to copy data from NHWC[%ld, %ld, %ld, %ld] offset %ld to " "[Operate][Memory]Failed to copy data from NHWC[%ld, %ld, %ld, %ld] "
"NC1HWC0[%ld, %ld, %ld, %ld, %ld] offset %ld err-code %d", "offset %ld to NC1HWC0[%ld, %ld, %ld, %ld, %ld] offset %ld err-code %d",
n_idx, h_idx, w_idx, c_idx, src_offset, n_idx, h_idx, w_idx, c_idx, src_offset,
n_idx, c1_idx, h_idx, w_idx, c0_idx, dst_offset, ret); n_idx, c1_idx, h_idx, w_idx, c0_idx, dst_offset, ret);
REPORT_CALL_ERROR("E19999", "Failed to copy data from NHWC[%ld, %ld, %ld, %ld] offset %ld to " REPORT_CALL_ERROR("E19999", "Failed to copy data from NHWC[%ld, %ld, %ld, %ld] "
"offset %ld to "
"NC1HWC0[%ld, %ld, %ld, %ld, %ld] offset %ld err-code %d", "NC1HWC0[%ld, %ld, %ld, %ld, %ld] offset %ld err-code %d",
n_idx, h_idx, w_idx, c_idx, src_offset, n_idx, h_idx, w_idx, c_idx, src_offset,
n_idx, c1_idx, h_idx, w_idx, c0_idx, dst_offset, ret); n_idx, c1_idx, h_idx, w_idx, c0_idx, dst_offset, ret);
@ -205,7 +206,7 @@ Status FormatTransferNhwcNc1hwc0::TransFormat(const TransArgs &args, TransResult
return SUCCESS; return SUCCESS;
} }
GELOGE(ACL_ERROR_GE_DATATYPE_INVALID, "[Get][Shape]Failed, " GELOGE(ACL_ERROR_GE_DATATYPE_INVALID, "[Get][ShapeSize]Failed, "
"total size %ld from dst shape %s, src shape %s", total_size, "total size %ld 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());
REPORT_CALL_ERROR("E19999", "[Get][Shape]Failed, total size %ld from " REPORT_CALL_ERROR("E19999", "[Get][Shape]Failed, total size %ld from "

@ -180,9 +180,10 @@ Status Transpose(const uint8_t *src, const std::vector<int64_t> &src_shape, Data
ShapeToString(src_shape).c_str(), ShapeToString(perm_arg).c_str(), ShapeToString(dst_shape).c_str(), ShapeToString(src_shape).c_str(), ShapeToString(perm_arg).c_str(), ShapeToString(dst_shape).c_str(),
dst_offset_bytes, ShapeToString(dst_indexes).c_str()); dst_offset_bytes, ShapeToString(dst_indexes).c_str());
REPORT_CALL_ERROR("E19999", "Failed to transpose, src shape %s, perm arg %s, dst shape %s, " REPORT_CALL_ERROR("E19999", "Failed to transpose, src shape %s, perm arg %s, dst shape %s, "
"failed to write to dst offset %ld, current dim offset %s", "failed to write to dst offset %ld, current dim offset %s",
ShapeToString(src_shape).c_str(), ShapeToString(perm_arg).c_str(), ShapeToString(dst_shape).c_str(), ShapeToString(src_shape).c_str(), ShapeToString(perm_arg).c_str(),
dst_offset_bytes, ShapeToString(dst_indexes).c_str()); ShapeToString(dst_shape).c_str(),
dst_offset_bytes, ShapeToString(dst_indexes).c_str());
return ACL_ERROR_GE_MEMORY_OPERATE_FAILED; return ACL_ERROR_GE_MEMORY_OPERATE_FAILED;
} }
AddOne(dst_shape, dst_indexes); AddOne(dst_shape, dst_indexes);

Loading…
Cancel
Save