From 610ffc9b3c4002645f43743dde77a49728f8b916 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=86=8A=E6=94=80?= Date: Thu, 25 Sep 2025 09:32:37 +0800 Subject: [PATCH] =?UTF-8?q?=E8=A7=A3=E5=86=B3=E6=98=BE=E5=AD=98=E6=B3=84?= =?UTF-8?q?=E9=9C=B2=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/extendrt/delegate/ascend_acl/model_process.cc | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/mindspore-lite/src/extendrt/delegate/ascend_acl/model_process.cc b/mindspore-lite/src/extendrt/delegate/ascend_acl/model_process.cc index e02358b3..8f7ef761 100644 --- a/mindspore-lite/src/extendrt/delegate/ascend_acl/model_process.cc +++ b/mindspore-lite/src/extendrt/delegate/ascend_acl/model_process.cc @@ -1411,6 +1411,7 @@ bool ModelProcess::CheckAndInitOutput(const std::vector *outputs) { bool ModelProcess::ResetDynamicOutputTensor(const std::vector *outputs) { dyn_out_sys_buf_addr_.clear(); + FreeResourceOutput(&output_infos_, outputs); for (size_t i = 0; i < output_infos_.size(); ++i) { auto &output_info = output_infos_[i]; @@ -1485,6 +1486,7 @@ bool ModelProcess::PredictFromHost(const std::vector &inputs, const st return false; } } else { + FreeResourceOutput(&output_infos_, outputs); for (size_t i = 0; i < output_infos_.size(); ++i) { auto &output_info = output_infos_[i]; aclDataBuffer *data_buffer = CALL_ASCEND_API(aclmdlGetDatasetBuffer, outputs_, i); @@ -1740,9 +1742,11 @@ void ModelProcess::FreeResourceOutput(std::vector *acl_tensor_inf item.device_data = nullptr; if (item.dynamic_acl_data_buffer != nullptr) { CALL_ASCEND_API(aclDestroyDataBuffer, item.dynamic_acl_data_buffer); + item.dynamic_acl_data_buffer = nullptr; } if (item.dynamic_acl_tensor_desc != nullptr) { CALL_ASCEND_API(aclDestroyTensorDesc, item.dynamic_acl_tensor_desc); + item.dynamic_acl_tensor_desc = nullptr; } } } -- Gitee