From 9573011b2b3e48d03c5fec789b20fa6894a96e3a Mon Sep 17 00:00:00 2001 From: zhangxiaokun Date: Sat, 26 Dec 2020 13:40:17 +0800 Subject: [PATCH] Add SetIoAddrs for UpdateArgs. --- ge/graph/load/new_model_manager/davinci_model.h | 2 +- ge/graph/load/new_model_manager/task_info/hccl_task_info.cc | 2 +- ge/graph/load/new_model_manager/task_info/kernel_task_info.cc | 3 +-- .../new_model_manager/task_info/memcpy_async_task_info.cc | 11 +++++------ 4 files changed, 8 insertions(+), 10 deletions(-) diff --git a/ge/graph/load/new_model_manager/davinci_model.h b/ge/graph/load/new_model_manager/davinci_model.h index 3f109713..480db4f8 100755 --- a/ge/graph/load/new_model_manager/davinci_model.h +++ b/ge/graph/load/new_model_manager/davinci_model.h @@ -503,7 +503,7 @@ class DavinciModel { void *cur_args = static_cast(args_) + offset; return cur_args; } - void SetTotalIOAddrs(vector &io_addrs) { + void SetTotalIOAddrs(const vector &io_addrs) { total_io_addrs_.insert(total_io_addrs_.end(), io_addrs.begin(), io_addrs.end()); } void SetHybridArgsSize(uint32_t args_size) { total_hybrid_args_size_ += args_size; } diff --git a/ge/graph/load/new_model_manager/task_info/hccl_task_info.cc b/ge/graph/load/new_model_manager/task_info/hccl_task_info.cc index cf6019e5..df43fd5b 100644 --- a/ge/graph/load/new_model_manager/task_info/hccl_task_info.cc +++ b/ge/graph/load/new_model_manager/task_info/hccl_task_info.cc @@ -230,7 +230,7 @@ Status HcclTaskInfo::CalculateArgs(const domi::TaskDef &task_def, DavinciModel * return SUCCESS; } -void HcclTaskInfo::SetIoAddrs() { +void HcclTaskInfo::SetIoAddrs(const OpDescPtr &op_desc) { const RuntimeParam &rts_param = davinci_model_->GetRuntimeParam(); const auto input_data_addrs = ModelUtils::GetInputDataAddrs(rts_param, op_desc); const auto output_data_addrs = ModelUtils::GetOutputDataAddrs(rts_param, op_desc); diff --git a/ge/graph/load/new_model_manager/task_info/kernel_task_info.cc b/ge/graph/load/new_model_manager/task_info/kernel_task_info.cc index 1906a0c9..31725e11 100755 --- a/ge/graph/load/new_model_manager/task_info/kernel_task_info.cc +++ b/ge/graph/load/new_model_manager/task_info/kernel_task_info.cc @@ -218,7 +218,7 @@ uint32_t KernelTaskInfo::GetDumpFlag() { } Status KernelTaskInfo::SuperKernelLaunch() { - SuperKernelTaskInfo &skt_info = davinci_model_->GetSuperKernelTaskInfo(); + const SuperKernelTaskInfo &skt_info = davinci_model_->GetSuperKernelTaskInfo(); if (skt_info.kernel_list.empty()) { GELOGI("SuperKernelLaunch: Skt_kernel_list has no task, just return"); return SUCCESS; @@ -448,7 +448,6 @@ void KernelTaskInfo::SetIoAddrs(const OpDescPtr &op_desc) { Status KernelTaskInfo::UpdateArgs() { GELOGI("KernelTaskInfo::UpdateArgs in."); - if (kernel_type_ == ccKernelType::TE) { davinci_model_->SetTotalIOAddrs(io_addrs_); } else if (kernel_type_ == ccKernelType::AI_CPU || kernel_type_ == ccKernelType::CUST_AI_CPU) { diff --git a/ge/graph/load/new_model_manager/task_info/memcpy_async_task_info.cc b/ge/graph/load/new_model_manager/task_info/memcpy_async_task_info.cc index 6f34e0ec..fa320d81 100755 --- a/ge/graph/load/new_model_manager/task_info/memcpy_async_task_info.cc +++ b/ge/graph/load/new_model_manager/task_info/memcpy_async_task_info.cc @@ -45,7 +45,7 @@ Status MemcpyAsyncTaskInfo::Init(const domi::TaskDef &task_def, DavinciModel *da dst_ = reinterpret_cast(reinterpret_cast(src_) + sizeof(void *)); // for zero copy kind_ = RT_MEMCPY_ADDR_DEVICE_TO_DEVICE; - GE_CHK_STATUS_RET(SetIoAddrs(op_desc, memcpy_async), "Set addr failed"); + GE_CHK_STATUS_RET(SetIoAddrs(op_desc, memcpy_async), "Set addrs failed"); GELOGI("MemcpyAsyncTaskInfo op name %s, src_ %p, dst_ %p, args_offset %u.", op_desc->GetName().c_str(), src_, dst_, args_offset_); return SUCCESS; @@ -75,8 +75,7 @@ Status MemcpyAsyncTaskInfo::Init(const domi::TaskDef &task_def, DavinciModel *da davinci_model_->DisableZeroCopy(src_); davinci_model_->DisableZeroCopy(dst_); - GE_CHK_STATUS_RET(SetIoAddrs(op_desc, memcpy_async), "Set addr failed"); - + GE_CHK_STATUS_RET(SetIoAddrs(op_desc, memcpy_async), "Set addrs failed"); GELOGI("MemcpyAsyncTaskInfo Init Success, logic[0x%lx, 0x%lx], src:%p, dst:%p, max:%lu, count:%lu", memcpy_async.src(), memcpy_async.dst(), src_, dst_, dst_max_, count_); return SUCCESS; @@ -118,7 +117,7 @@ Status MemcpyAsyncTaskInfo::CalculateArgs(const domi::TaskDef &task_def, Davinci Status MemcpyAsyncTaskInfo::SetIoAddrs(const OpDescPtr &op_desc, const domi::MemcpyAsyncDef &memcpy_async) { uint8_t *src = nullptr; - Status ret = ModelUtils::GetRtAddress(davinci_model_->GetRuntimeParam(), memcpy_async_.src(), src); + Status ret = ModelUtils::GetRtAddress(davinci_model_->GetRuntimeParam(), memcpy_async.src(), src); if (ret != SUCCESS) { return ret; } @@ -129,11 +128,11 @@ Status MemcpyAsyncTaskInfo::SetIoAddrs(const OpDescPtr &op_desc, const domi::Mem io_addrs_.emplace_back(fixed_addr); } else { uint8_t *dst = nullptr; - ret = ModelUtils::GetRtAddress(davinci_model_->GetRuntimeParam(), memcpy_async_.dst(), dst); + ret = ModelUtils::GetRtAddress(davinci_model_->GetRuntimeParam(), memcpy_async.dst(), dst); if (ret != SUCCESS) { return ret; } - io_addrs_.emplace_back(reinterpret_cast(dst_)); + io_addrs_.emplace_back(reinterpret_cast(dst)); } return SUCCESS;