|
|
|
@ -89,6 +89,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) {
|
|
|
|
@ -131,6 +139,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 GraphMemoryAssigner::CalculateTensorRealSizeAndOutSize(const ge::ConstGeTensorDescPtr &output_desc,
|
|
|
|
|
int64_t dim_index, int64_t &output_mem_size,
|
|
|
|
|
int64_t &batch_dim_num, int64_t &out_size) {
|
|
|
|
|