|
|
|
@@ -302,8 +302,8 @@ Status AiCoreOpTask::UpdateTilingInfo(TaskContext &context) { |
|
|
|
|
|
|
|
GELOGD("[%s] Start to update tiling info for task: [%s]", node->GetName().c_str(), stub_name_.c_str()); |
|
|
|
OpRunInfo tiling_info; |
|
|
|
tiling_info.block_dim = -1; // codex: Using uninitialized value |
|
|
|
tiling_info.clear_atomic = true; |
|
|
|
tiling_info.SetBlockDim(-1); // codex: Using uninitialized value |
|
|
|
tiling_info.SetClearAtomic(true); |
|
|
|
|
|
|
|
auto execution_context = context.GetExecutionContext(); |
|
|
|
|
|
|
|
@@ -314,12 +314,18 @@ Status AiCoreOpTask::UpdateTilingInfo(TaskContext &context) { |
|
|
|
GetContext().SetSessionId(execution_context->session_id); |
|
|
|
|
|
|
|
// update op args by tiling info |
|
|
|
block_dim_ = static_cast<uint32_t>(tiling_info.block_dim); |
|
|
|
op_desc->SetWorkspaceBytes(tiling_info.workspaces); |
|
|
|
clear_atomic_ = tiling_info.clear_atomic; |
|
|
|
|
|
|
|
tiling_data_ = tiling_info.tiling_data.str(); |
|
|
|
tiling_key_ = tiling_info.tiling_key; |
|
|
|
block_dim_ = static_cast<uint32_t>(tiling_info.GetBlockDim()); |
|
|
|
vector<int64_t> workspaces; |
|
|
|
for (size_t i = 0; i < tiling_info.GetWorkSpaceNum(); ++i) { |
|
|
|
int64_t workspace = 0; |
|
|
|
GE_CHK_STATUS_RET(tiling_info.GetWorkSpace(i, workspace)); |
|
|
|
workspaces.emplace_back(workspace); |
|
|
|
} |
|
|
|
op_desc->SetWorkspaceBytes(workspaces); |
|
|
|
clear_atomic_ = tiling_info.GetClearAtomic(); |
|
|
|
|
|
|
|
tiling_data_ = tiling_info.ByteBufferGet().str(); // todo |
|
|
|
tiling_key_ = tiling_info.GetTilingKey(); |
|
|
|
GELOGD("Successfully getting [tiling_key] : %u", tiling_key_); |
|
|
|
if (tiling_data_.empty()) { |
|
|
|
GELOGD("[%s] Tiling data is empty.", op_desc->GetName().c_str()); |
|
|
|
@@ -352,7 +358,7 @@ Status AiCoreOpTask::CalcTilingInfo(const NodePtr &node, OpRunInfo &tiling_info) |
|
|
|
"Failed calc tiling data of node %s.", |
|
|
|
node->GetName().c_str()); |
|
|
|
if (is_single_op_) { |
|
|
|
tiling_info.clear_atomic = false; |
|
|
|
tiling_info.SetClearAtomic(false); |
|
|
|
} |
|
|
|
GELOGD("[%s] Done invoking OpParaCalculate successfully.", node->GetName().c_str()); |
|
|
|
return SUCCESS; |
|
|
|
|