diff --git a/ge/common/formats/format_transfers/format_transfer_hwcn_fractal_zn_lstm.cc b/ge/common/formats/format_transfers/format_transfer_hwcn_fractal_zn_lstm.cc index 7ed3e7d3..604566a8 100644 --- a/ge/common/formats/format_transfers/format_transfer_hwcn_fractal_zn_lstm.cc +++ b/ge/common/formats/format_transfers/format_transfer_hwcn_fractal_zn_lstm.cc @@ -95,15 +95,6 @@ Status GetDstDataAfterTrans(const TransArgs &args, TransResult &result, const in return OUT_OF_MEMORY; } - auto ret = memcpy_s(dst.get(), static_cast(total_size), args.data, static_cast(total_size)); - if (ret != EOK) { - GELOGE(INTERNAL_ERROR, "Failed to copy data ==="); - return INTERNAL_ERROR; - } - result.data = dst; - result.length = static_cast(total_size); - return SUCCESS; - auto c = args.src_shape.at(kHwcnC); auto n = args.src_shape.at(kHwcnN); @@ -121,11 +112,11 @@ Status GetDstDataAfterTrans(const TransArgs &args, TransResult &result, const in for (int64_t y_src = y_src_head; y_src < y_src_head + K; y_src++) { int64_t x_dst = x_src_head + index; ++index; - int64_t src_idx = x_src * c + y_src; + int64_t src_idx = x_src * n + y_src; auto src_offset = src_idx * size; int64_t y_dst = x_src + y_src - x_dst; - auto dst_idx = x_dst * c + y_dst; + auto dst_idx = x_dst * n + y_dst; auto dst_offset = dst_idx * size; auto protected_size = total_size - dst_offset < static_cast(SECUREC_MEM_MAX_LEN) @@ -133,6 +124,16 @@ Status GetDstDataAfterTrans(const TransArgs &args, TransResult &result, const in : static_cast(SECUREC_MEM_MAX_LEN); auto ret = memcpy_s(dst.get() + dst_offset, static_cast(protected_size), args.data + src_offset, static_cast(size)); + if (ret != EOK) { + GELOGE(ACL_ERROR_GE_MEMORY_OPERATE_FAILED, + "[Operate][Memory]Failed to copy data from HWCN offset %ld to " + "FracZnLstm offset %ld, err-code %d", + src_offset, dst_offset, ret); + REPORT_CALL_ERROR("E19999", "Failed to copy data from HWCN offset %ld to " + "FracZnLstm offset %ld, err-code %d", + src_offset, dst_offset, ret); + return ACL_ERROR_GE_MEMORY_OPERATE_FAILED; + } } } }