| @@ -536,7 +536,7 @@ Status GraphManager::CopySubGraphAndMarkFusion(const ComputeGraphPtr &compute_gr | |||||
| return SUCCESS; | return SUCCESS; | ||||
| } | } | ||||
| Status GraphManager::OptimizeSubGraphWithMultiThreads(ComputeGraphPtr compute_graph, | |||||
| Status GraphManager::OptimizeSubGraphWithMultiThreads(ComputeGraphPtr compute_graph, | |||||
| Graph2SubGraphInfoList &sub_graph_map, uint64_t session_id) { | Graph2SubGraphInfoList &sub_graph_map, uint64_t session_id) { | ||||
| GE_CHECK_NOTNULL(compute_graph); | GE_CHECK_NOTNULL(compute_graph); | ||||
| // use default 16 multi thread | // use default 16 multi thread | ||||
| @@ -2439,6 +2439,13 @@ Status GraphManager::CheckAndReleaseMemory(const GeModelPtr &ge_model, const Gra | |||||
| continue; | continue; | ||||
| } | } | ||||
| auto model_id = model->GetModelId(); | auto model_id = model->GetModelId(); | ||||
| // unknown model not release | |||||
| bool is_unknown_shape = false; | |||||
| GE_CHK_STATUS_RET(model->CheckIsUnknownShape(is_unknown_shape)); | |||||
| if (is_unknown_shape) { | |||||
| GELOGD("model_id[%u] graph_id[%u] is unknown model, not release memory", model_id, graph_id); | |||||
| continue; | |||||
| } | |||||
| // not loaded,no need unload | // not loaded,no need unload | ||||
| if (!it.second->GetLoadFlag()) { | if (!it.second->GetLoadFlag()) { | ||||
| GELOGI("CheckAndReleaseMemory graph[%u] has not been loaded.", graph_id); | GELOGI("CheckAndReleaseMemory graph[%u] has not been loaded.", graph_id); | ||||