Browse Source

!1999 fix coverity

Merge pull request !1999 from wangjiming/local
tags/v1.5.1
i-robot Gitee 3 years ago
parent
commit
c2b5ad1d35
3 changed files with 33 additions and 24 deletions
  1. +7
    -9
      ge/common/formats/format_transfers/format_transfer_fracz_hwcn.cc
  2. +7
    -0
      ge/common/helper/model_cache_helper.cc
  3. +19
    -15
      ge/hybrid/node_executor/hccl/hccl_node_executor.cc

+ 7
- 9
ge/common/formats/format_transfers/format_transfer_fracz_hwcn.cc View File

@@ -17,6 +17,7 @@
#include "common/formats/format_transfers/format_transfer_fracz_hwcn.h"

#include <securec.h>

#include <memory>

#include "common/formats/utils/formats_definitions.h"
@@ -35,8 +36,8 @@ Status CheckArgsForFracZToHwcn(const TransArgs &args) {
auto dst_shape = args.dst_shape;
if (args.src_format != FORMAT_FRACTAL_Z || args.dst_format != FORMAT_HWCN) {
std::string error = "Dose not support trans format from " +
FmtToStr(TypeUtils::FormatToSerialString(args.src_format)) + " to " +
FmtToStr(TypeUtils::FormatToSerialString(args.dst_format));
FmtToStr(TypeUtils::FormatToSerialString(args.src_format)) + " to " +
FmtToStr(TypeUtils::FormatToSerialString(args.dst_format));
GE_ERRORLOG_AND_ERRORMSG(ACL_ERROR_GE_FORMAT_INVALID, error.c_str());
return ACL_ERROR_GE_FORMAT_INVALID;
}
@@ -52,15 +53,13 @@ Status CheckArgsForFracZToHwcn(const TransArgs &args) {
if (!CheckShapeValid(src_shape, kFracZDimsNum)) {
GELOGE(ACL_ERROR_GE_SHAPE_INVALID, "[Check][Shape]Value is invalid, src shape %s",
ShapeToString(src_shape).c_str());
REPORT_CALL_ERROR("E19999", "Src shape %s check invalid",
ShapeToString(src_shape).c_str());
REPORT_CALL_ERROR("E19999", "Src shape %s check invalid", ShapeToString(src_shape).c_str());
return ACL_ERROR_GE_SHAPE_INVALID;
}
if (!CheckShapeValid(dst_shape, kHwcnDimsNum)) {
GELOGE(ACL_ERROR_GE_SHAPE_INVALID, "[Check][Shape]Value is invalid, dst shape %s",
ShapeToString(dst_shape).c_str());
REPORT_CALL_ERROR("E19999", "Dst shape %s check invalid",
ShapeToString(dst_shape).c_str());
REPORT_CALL_ERROR("E19999", "Dst shape %s check invalid", ShapeToString(dst_shape).c_str());
return ACL_ERROR_GE_SHAPE_INVALID;
}
int64_t c0 = GetCubeSizeByDataType(args.src_data_type);
@@ -71,9 +70,8 @@ Status CheckArgsForFracZToHwcn(const TransArgs &args) {
int64_t n0 = Ceil(dst_shape.at(kHwcnN), static_cast<int64_t>(kNiSize));
if (src_shape.at(kFracZHWC1) != dst_shape.at(kHwcnH) * dst_shape.at(kHwcnW) * c1 || src_shape.at(kFracZC0) != c0 ||
src_shape.at(kFracZNi) != kNiSize || src_shape.at(kFracZN0) != n0) {
std::string error = "Failed to check relationship between src shape" +
FmtToStr(ShapeToString(src_shape)) + " and dst shape" +
FmtToStr(ShapeToString(dst_shape));
std::string error = "Failed to check relationship between src shape" + FmtToStr(ShapeToString(src_shape)) +
" and dst shape" + FmtToStr(ShapeToString(dst_shape));
GE_ERRORLOG_AND_ERRORMSG(ACL_ERROR_GE_SHAPE_INVALID, error.c_str());
return ACL_ERROR_GE_SHAPE_INVALID;
}


+ 7
- 0
ge/common/helper/model_cache_helper.cc View File

@@ -1679,6 +1679,13 @@ Status ModelCacheHelper::LoadOmModelFromCache(GeModelPtr &ge_model) const {
GELOGW("LoadOmModelFromCache: Load model from file failed. ret = %u", ret);
return ret;
}
std::function<void()> callback = [&]() {
if (model_data.model_data != nullptr) {
delete[] reinterpret_cast<char *>(model_data.model_data);
model_data.model_data = nullptr;
}
};
GE_MAKE_GUARD(release, callback);

ModelHelper model_helper;
ret = model_helper.LoadModel(model_data);


+ 19
- 15
ge/hybrid/node_executor/hccl/hccl_node_executor.cc View File

@@ -15,15 +15,16 @@
*/

#include "hybrid/node_executor/hccl/hccl_node_executor.h"

#include "common/ge/plugin_manager.h"
#include "common/math/math_util.h"
#include "external/graph/attr_value.h"
#include "external/graph/types.h"
#include "graph/debug/ge_attr_define.h"
#include "graph/manager/util/hcom_util.h"
#include "graph/utils/type_utils.h"
#include "external/graph/types.h"
#include "hybrid/executor/hybrid_execution_context.h"
#include "hccl/hcom.h"
#include "hybrid/executor/hybrid_execution_context.h"
#include "runtime/event.h"

namespace ge {
@@ -267,14 +268,16 @@ Status RdmaNodeTask::ExtractTensor(TaskContext &context, vector<HcomRemoteAccess
}
auto dims = remote_tensor.GetTensorDesc().GetShape().GetDims();
if (dims.size() != kVarTableDims && dims.back() != kVarTableRowCnt) {
REPORT_INNER_ERROR("E19999", "Variable table shape check failed, number of shape dims:%zu not equal expect:%zu"
REPORT_INNER_ERROR("E19999",
"Variable table shape check failed, number of shape dims:%zu not equal expect:%zu"
"and shape dims back:%zu not equal expect:%zu, node:%s(%s)",
dims.size(), kVarTableDims, dims.back(), kVarTableRowCnt,
context.GetNodeName(), context.GetNodeItem().NodeType().c_str());
GELOGE(PARAM_INVALID, "[Check][Param]Variable table shape check failed,"
dims.size(), kVarTableDims, dims.back(), kVarTableRowCnt, context.GetNodeName(),
context.GetNodeItem().NodeType().c_str());
GELOGE(PARAM_INVALID,
"[Check][Param]Variable table shape check failed,"
"number of shape dims:%zu not equal expect:%zu and shape dims back:%zu not equal expect:%zu, node:%s(%s)",
dims.size(), kVarTableDims, dims.back(), kVarTableRowCnt,
context.GetNodeName(), context.GetNodeItem().NodeType().c_str());
dims.size(), kVarTableDims, dims.back(), kVarTableRowCnt, context.GetNodeName(),
context.GetNodeItem().NodeType().c_str());
return PARAM_INVALID;
}

@@ -357,8 +360,8 @@ Status RdmaNodeTask::ExecuteAsync(TaskContext &context, std::function<void()> do
}

Status BuildAllToAllVparams(TaskContext &context, HcomAllToAllVParams &params) {
void **input_addrs[kAllToAllVInputNums] = {&params.sendbuf, &params.sendcounts, &params.sdispls,
&params.recvcounts, &params.rdispls};
void **input_addrs[kAllToAllVInputNums] = {&params.sendbuf, &params.sendcounts, &params.sdispls, &params.recvcounts,
&params.rdispls};
for (size_t i = 0; i < kAllToAllVInputNums; ++i) {
auto addr = context.MutableInput(i);
GE_CHECK_NOTNULL(addr);
@@ -383,13 +386,14 @@ Status BuildAllToAllVparams(TaskContext &context, HcomAllToAllVParams &params) {
}
params.sendtype = iter->second;
params.recvtype = iter->second;
params.group = nullptr;

return SUCCESS;
}

Status BuildGatherAllToAllParams(TaskContext &context, HcomGatherAllToAllVParams &params) {
void **input_addrs[kGatherAllToAllVInputNums] = {&params.addrInfo, &params.addrInfoCountPerRank,
&params.recvcounts, &params.rdispls};
void **input_addrs[kGatherAllToAllVInputNums] = {&params.addrInfo, &params.addrInfoCountPerRank, &params.recvcounts,
&params.rdispls};
for (size_t i = 0; i < kGatherAllToAllVInputNums; ++i) {
auto addr = context.MutableInput(i);
GE_CHECK_NOTNULL(addr);
@@ -418,8 +422,9 @@ Status BuildGatherAllToAllParams(TaskContext &context, HcomGatherAllToAllVParams
params.recvtype = iter->second;

int64_t addr_len = 0;
(void) ge::AttrUtils::GetInt(op_desc, "addr_length", addr_len);
(void)ge::AttrUtils::GetInt(op_desc, "addr_length", addr_len);
params.addrLength = static_cast<int>(addr_len);
params.group = nullptr;

return SUCCESS;
}
@@ -428,7 +433,7 @@ Status AllToAllNodeTask::ExecuteAsync(TaskContext &context, std::function<void()
GELOGI("[%s] AllToAllNodeTask::ExecuteAsync in.", context.GetNodeName());

TaskContext *p_ctx = &context;
auto callback = [p_ctx, done_callback](HcclResult status){
auto callback = [p_ctx, done_callback](HcclResult status) {
if (status != HCCL_SUCCESS) {
GELOGE(HCCL_E_INTERNAL, "[%s] AllToAllNodeTask execute failed.", p_ctx->GetNodeName());
p_ctx->SetStatus(FAILED);
@@ -460,7 +465,6 @@ Status AllToAllNodeTask::ExecuteAsync(TaskContext &context, std::function<void()
return FAILED;
}
HcomGatherAllToAllVParams params;
params.group = nullptr;
GE_CHK_STATUS_RET(BuildGatherAllToAllParams(context, params));
HcclResult hccl_ret = HcomExecEnqueueGatherAllToAllV(params, callback);
if (hccl_ret != HCCL_SUCCESS) {


Loading…
Cancel
Save