From 68c5af2e0a585d6828b880be481b0945c5da37e7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=99=8F=E5=90=8D=E9=A6=99?= Date: Mon, 15 Sep 2025 01:52:00 +0000 Subject: [PATCH] =?UTF-8?q?!3025=20log=20loevel=20Merge=20pull=20request?= =?UTF-8?q?=20!3025=20from=20=E6=99=8F=E5=90=8D=E9=A6=99/master?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../core/op_executors/npu_concrete_graph.cpp | 25 +++++++++++-------- .../core/op_executors/npu_concrete_graph.h | 2 +- 2 files changed, 16 insertions(+), 11 deletions(-) diff --git a/tf_adapter_2.x/npu_device/core/op_executors/npu_concrete_graph.cpp b/tf_adapter_2.x/npu_device/core/op_executors/npu_concrete_graph.cpp index c24991ed8..010d2fd32 100644 --- a/tf_adapter_2.x/npu_device/core/op_executors/npu_concrete_graph.cpp +++ b/tf_adapter_2.x/npu_device/core/op_executors/npu_concrete_graph.cpp @@ -79,21 +79,26 @@ void NpuConcreteGraph::RunImpl(TFE_Context *context, NpuDevice *device, int tf_n consume_resource_times = npu::global::g_npu_loop_size; } - for (const auto &resource : ConsumedIteratos()) { + for (const auto &resource : ConsumedIterators()) { if (looped || kDumpExecutionDetail) { LOG(INFO) << "Start consume iterator resource " << resource.second->Name() << " " << consume_resource_times << " times"; } - const tensorflow::Tensor *tensor; - NPU_CTX_REQUIRES_OK(status, npu::GetTensorHandleTensor(tf_inputs[resource.first], &tensor)); + const tensorflow::Tensor *tensors; + NPU_CTX_REQUIRES_OK(status, npu::GetTensorHandleTensor(tf_inputs[resource.first], &tensors)); // 注意,这个callback不能引用捕获,防止中途因为消费某个资源失败而导致coredump auto done = [resource, consume_resource_times, looped](const tensorflow::Status &s) { if (looped || !s.ok() || kDumpExecutionDetail) { - LOG(INFO) << "Iterator resource " << resource.second->Name() << " consume " << consume_resource_times - << " times done with status " << s.ToString(); + if (s.ok()) { + LOG(INFO) << "Iterator resource " << resource.second->Name() << " consume " << consume_resource_times + << " times done with status " << s.ToString(); + } else { + LOG(ERROR) << "Iterator resource " << resource.second->Name() << " consume " << consume_resource_times + << " times done with status " << s.ToString(); + } } }; - NPU_CTX_REQUIRES_OK(status, resource.second->ConsumeAsync(*tensor, consume_resource_times, done)); + NPU_CTX_REQUIRES_OK(status, resource.second->ConsumeAsync(*tensors, consume_resource_times, done)); } if (execution_type_ == ExecutionType::MIX) { @@ -127,9 +132,9 @@ void NpuConcreteGraph::RunImpl(TFE_Context *context, NpuDevice *device, int tf_n } while (++times < iterations_per_loop && loop_type_ == LoopType::HOST_LOOP); timer.Stop(); } - for (size_t i = 0; i < output_handles_.size(); i++) { - DLOG() << "Mapping npu graph " << Op() << " output " << i << " to tensorflow output " << produced_outputs_[i]; - outputs[produced_outputs_[i]] = output_handles_[i]; + for (size_t idx = 0; idx < output_handles_.size(); idx++) { + DLOG() << "Mapping npu graph " << Op() << " output " << idx << " to tensorflow output " << produced_outputs_[idx]; + outputs[produced_outputs_[idx]] = output_handles_[idx]; } } @@ -202,7 +207,7 @@ tensorflow::Status NpuMutableConcreteGraph::TryTransToNpuLoopGraph(TFE_Context * return tensorflow::Status::OK(); } - if (ConsumedIteratos().empty()) { + if (ConsumedIterators().empty()) { DLOG() << "Skip trans " << Op() << " as npu loop graph as not consumed iterator resources"; return tensorflow::Status::OK(); } diff --git a/tf_adapter_2.x/npu_device/core/op_executors/npu_concrete_graph.h b/tf_adapter_2.x/npu_device/core/op_executors/npu_concrete_graph.h index c5b75aadb..4fe0aaa3f 100644 --- a/tf_adapter_2.x/npu_device/core/op_executors/npu_concrete_graph.h +++ b/tf_adapter_2.x/npu_device/core/op_executors/npu_concrete_graph.h @@ -51,7 +51,7 @@ class NpuConcreteGraph : public OpExecutor { uint64_t GeGraphId() const { return ge_graph_id_; } - const std::map> &ConsumedIteratos() const { + const std::map> &ConsumedIterators() const { return consumed_iterators_; } -- Gitee