|
|
@@ -101,10 +101,14 @@ Status KnownNodeTask::Init(TaskContext &context) { |
|
|
|
GE_CHK_STATUS_RET(context.AllocateOutputs(), "[Allocate][Outputs] failed for %s.", context.GetNodeName()); |
|
|
|
// allocate mem base |
|
|
|
void *buffer = nullptr; |
|
|
|
if (davinci_model_->TotalMemSize() != 0) { |
|
|
|
size_t total_mem_size = davinci_model_->TotalMemSize(); |
|
|
|
size_t total_zero_copy_size = davinci_model_->TotalZeroCopySize(); |
|
|
|
GELOGI("####KnownNodeTask::Init total mem size is %lu, total zero size is %lu.", |
|
|
|
total_mem_size, total_zero_copy_size); |
|
|
|
if (total_mem_size != 0 && total_mem_size > total_zero_copy_size) { |
|
|
|
RECORD_EXECUTION_EVENT(context.GetExecutionContext(), context.GetNodeName(), |
|
|
|
"[KnownNodeTask_AllocateWorkspace] Start"); |
|
|
|
GE_CHK_STATUS_RET(context.AllocateWorkspace(davinci_model_->TotalMemSize(), &buffer, |
|
|
|
GE_CHK_STATUS_RET(context.AllocateWorkspace(total_mem_size - total_zero_copy_size, &buffer, |
|
|
|
davinci_model_->GetRuntimeParam().mem_base), |
|
|
|
"[Allocate][Workspace] failed for %s.", context.GetNodeName()); |
|
|
|
RECORD_EXECUTION_EVENT(context.GetExecutionContext(), context.GetNodeName(), |
|
|
|