|
|
|
@@ -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<size_t>(total_size), args.data, static_cast<size_t>(total_size)); |
|
|
|
if (ret != EOK) { |
|
|
|
GELOGE(INTERNAL_ERROR, "Failed to copy data ==="); |
|
|
|
return INTERNAL_ERROR; |
|
|
|
} |
|
|
|
result.data = dst; |
|
|
|
result.length = static_cast<size_t>(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<int64_t>(SECUREC_MEM_MAX_LEN) |
|
|
|
@@ -133,6 +124,16 @@ Status GetDstDataAfterTrans(const TransArgs &args, TransResult &result, const in |
|
|
|
: static_cast<int64_t>(SECUREC_MEM_MAX_LEN); |
|
|
|
auto ret = memcpy_s(dst.get() + dst_offset, static_cast<size_t>(protected_size), args.data + src_offset, |
|
|
|
static_cast<size_t>(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; |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|