Browse Source

!1163 single_op doesn't execute atomic.

From: @zhao_zhixuan
Reviewed-by: @xchu42,@ji_chen
Signed-off-by: @ji_chen
tags/v1.2.0
mindspore-ci-bot Gitee 3 years ago
parent
commit
d74de6fb92
2 changed files with 15 additions and 0 deletions
  1. +3
    -0
      ge/hybrid/node_executor/aicore/aicore_op_task.cc
  2. +12
    -0
      tests/ut/ge/hybrid/ge_hybrid_unittest.cc

+ 3
- 0
ge/hybrid/node_executor/aicore/aicore_op_task.cc View File

@@ -351,6 +351,9 @@ Status AiCoreOpTask::CalcTilingInfo(const NodePtr &node, OpRunInfo &tiling_info)
GE_CHK_STATUS_RET(OpParaCalculate(*node, tiling_info),
"Failed calc tiling data of node %s.",
node->GetName().c_str());
if (is_single_op_) {
tiling_info.clear_atomic = false;
}
GELOGD("[%s] Done invoking OpParaCalculate successfully.", node->GetName().c_str());
return SUCCESS;
}


+ 12
- 0
tests/ut/ge/hybrid/ge_hybrid_unittest.cc View File

@@ -98,4 +98,16 @@ TEST_F(UtestGeHybrid, aicore_op_task_init_success) {
aicore_task->handle_ = handle;
aicore_task->tiling_key_ = 1;
ASSERT_EQ(aicore_task->LaunchKernel(stream), SUCCESS);
}

TEST_F(UtestGeHybrid, task_update_tiling_info) {
auto aicore_task = std::unique_ptr<hybrid::AiCoreOpTask>(new(std::nothrow)hybrid::AiCoreOpTask());
aicore_task->is_single_op_ = true;
auto graph = make_shared<ComputeGraph>("graph");
OpDescPtr op_desc = CreateOpDesc("Add", "Add");
ge::AttrUtils::SetStr(op_desc, "compile_info_key", "key");
ge::AttrUtils::SetStr(op_desc, "compile_info_json", "json");
auto node = graph->AddNode(op_desc);
optiling::OpRunInfo tiling_info;
ASSERT_EQ(aicore_task->CalcTilingInfo(node, tiling_info), SUCCESS);
}

Loading…
Cancel
Save