|
|
@@ -88,6 +88,14 @@ Status VariableMemoryAssigner::AssignVarAttr2Nodes() { |
|
|
|
return ge::SUCCESS; |
|
|
|
} |
|
|
|
|
|
|
|
Status VariableMemoryAssigner::AssignMemory2HasRefAttrNode() { |
|
|
|
Status result = ge::VarMemAssignUtil::AssignMemory2HasRefAttrNode(compute_graph_); |
|
|
|
if (result != ge::SUCCESS) { |
|
|
|
return result; |
|
|
|
} |
|
|
|
return ge::SUCCESS; |
|
|
|
} |
|
|
|
|
|
|
|
Status GraphMemoryAssigner::AssignMemory() { |
|
|
|
ge::HybridMemAssignerPtr mem_assigner(new(std::nothrow) HybridMemAssigner(compute_graph_)); |
|
|
|
if (mem_assigner->Assign() != ge::SUCCESS) { |
|
|
@@ -135,6 +143,19 @@ ge::Status GraphMemoryAssigner::AssignVarAttr2Nodes() { |
|
|
|
return ge::SUCCESS; |
|
|
|
} |
|
|
|
|
|
|
|
ge::Status GraphMemoryAssigner::AssignMemory2HasRefAttrNode() { |
|
|
|
auto variable_assigner = |
|
|
|
std::unique_ptr<ge::VariableMemoryAssigner>(new(std::nothrow) ge::VariableMemoryAssigner(compute_graph_)); |
|
|
|
if (variable_assigner == nullptr) { |
|
|
|
GELOGE(ge::FAILED, "Alloc VariableMemoryAssigner failed."); |
|
|
|
return ge::FAILED; |
|
|
|
} |
|
|
|
if (variable_assigner->AssignMemory2HasRefAttrNode() != ge::SUCCESS) { |
|
|
|
return ge::FAILED; |
|
|
|
} |
|
|
|
return ge::SUCCESS; |
|
|
|
} |
|
|
|
|
|
|
|
ge::Status CalculateTensorRealSizeAndOutSize(const ge::ConstGeTensorDescPtr &output_desc, |
|
|
|
int64_t dim_index, int64_t &output_mem_size, |
|
|
|
int64_t &batch_dim_num, int64_t &out_size) { |
|
|
|