|
|
@@ -59,7 +59,7 @@ bool CheckShape(Format format, const ShapeVector &shape) { |
|
|
|
return CheckShapeValid(shape, kDimSize4D); |
|
|
|
default: |
|
|
|
std::string error = "Trans format between " + FmtToStr(TypeUtils::FormatToSerialString(format)) + |
|
|
|
" and FORMAT_FRACTAL_NZ is not supported."; |
|
|
|
" and FORMAT_FRACTAL_NZ is not supported."; |
|
|
|
GE_ERRORLOG_AND_ERRORMSG(ACL_ERROR_GE_FORMAT_INVALID, error.c_str()); |
|
|
|
return false; |
|
|
|
} |
|
|
@@ -185,6 +185,7 @@ Status TransFormatFromNdToFracNz(const TransArgs &args, TransResult &result, con |
|
|
|
auto src_offset = (src_h_head + w1_idx * w0) * size; |
|
|
|
auto protected_size = dst_size - dst_offset < static_cast<int64_t>(SECUREC_MEM_MAX_LEN) ? |
|
|
|
dst_size - dst_offset : static_cast<int64_t>(SECUREC_MEM_MAX_LEN); |
|
|
|
GE_CHECK_GE(protected_size, 0); |
|
|
|
auto ret = memcpy_s(dst.get() + dst_offset, static_cast<size_t>(protected_size), args.data + src_offset, |
|
|
|
static_cast<size_t>(size * w0)); |
|
|
|
if (ret != EOK) { |
|
|
@@ -202,6 +203,7 @@ Status TransFormatFromNdToFracNz(const TransArgs &args, TransResult &result, con |
|
|
|
auto src_offset = (src_h_head + src_w_idx) * size; |
|
|
|
auto protected_size = dst_size - dst_offset < static_cast<int64_t>(SECUREC_MEM_MAX_LEN) ? |
|
|
|
dst_size - dst_offset : static_cast<int64_t>(SECUREC_MEM_MAX_LEN); |
|
|
|
GE_CHECK_GE(protected_size, 0); |
|
|
|
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) { |
|
|
@@ -267,6 +269,7 @@ Status TransFormatFromFracNzToNd(const TransArgs &args, TransResult &result, con |
|
|
|
auto dst_offset = (dst_h_head + w1_idx * w0) * size; |
|
|
|
auto protected_size = dst_size - dst_offset < static_cast<int64_t>(SECUREC_MEM_MAX_LEN) ? |
|
|
|
dst_size - dst_offset : static_cast<int64_t>(SECUREC_MEM_MAX_LEN); |
|
|
|
GE_CHECK_GE(protected_size, 0); |
|
|
|
ret = memcpy_s(dst.get() + dst_offset, static_cast<size_t>(protected_size), args.data + src_offset, |
|
|
|
static_cast<size_t>(size * w0)); |
|
|
|
if (ret != EOK) { |
|
|
@@ -285,6 +288,7 @@ Status TransFormatFromFracNzToNd(const TransArgs &args, TransResult &result, con |
|
|
|
auto dst_offset = (dst_h_head + dst_w_idx) * size; |
|
|
|
auto protected_size = dst_size - dst_offset < static_cast<int64_t>(SECUREC_MEM_MAX_LEN) ? |
|
|
|
dst_size - dst_offset : static_cast<int64_t>(SECUREC_MEM_MAX_LEN); |
|
|
|
GE_CHECK_GE(protected_size, 0); |
|
|
|
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) { |
|
|
|