Browse Source

Add transfer HWCN to Fractal_Zn_Lstm

pull/1527/head
dongduo5@huawei.com 4 years ago
parent
commit
508081bffc
1 changed files with 12 additions and 11 deletions
  1. +12
    -11
      ge/common/formats/format_transfers/format_transfer_hwcn_fractal_zn_lstm.cc

+ 12
- 11
ge/common/formats/format_transfers/format_transfer_hwcn_fractal_zn_lstm.cc View File

@@ -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;
}
}
}
}


Loading…
Cancel
Save