From 0af21277e514985274a13c50c0db37948262d6ab Mon Sep 17 00:00:00 2001 From: chuxing Date: Fri, 11 Dec 2020 15:51:35 +0800 Subject: [PATCH] fix SC --- ge/single_op/single_op.cc | 4 ++-- ge/single_op/stream_resource.cc | 4 ++-- ge/single_op/stream_resource.h | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/ge/single_op/single_op.cc b/ge/single_op/single_op.cc index 5e90bfa0..906ce187 100755 --- a/ge/single_op/single_op.cc +++ b/ge/single_op/single_op.cc @@ -174,8 +174,8 @@ FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY Status SingleOp::ExecuteAsync(c std::lock_guard lk(*stream_mutex_); auto current_mem_base = stream_resource_->GetMemoryBase(); if (running_param_->mem_base != current_mem_base) { - running_param_->mem_base = current_mem_base; - GELOGD("Memory base changed, new memory base =%lu", current_mem_base); + running_param_->mem_base = const_cast(current_mem_base); + GELOGD("Memory base changed, new memory base = %p", current_mem_base); for (auto &task : tasks_) { auto new_address = BuildTaskUtils::GetAddresses(task->GetOpdesc(), *running_param_); GE_CHK_STATUS_RET(task->UpdateArgTable(*running_param_), diff --git a/ge/single_op/stream_resource.cc b/ge/single_op/stream_resource.cc index 2aeeb99b..722a1024 100755 --- a/ge/single_op/stream_resource.cc +++ b/ge/single_op/stream_resource.cc @@ -74,7 +74,7 @@ uint8_t *StreamResource::DoMallocMemory(const std::string &purpose, return nullptr; } - if (size <= max_allocated) { + if (size <= max_allocated && !allocated.empty()) { GELOGD("reuse last memory"); return allocated.back(); } @@ -190,7 +190,7 @@ Status StreamResource::BuildOperator(const string &model_name, const ModelData & return SUCCESS; } -uint8_t *StreamResource::GetMemoryBase() const { +const uint8_t *StreamResource::GetMemoryBase() const { if (memory_list_.empty()) { return nullptr; } diff --git a/ge/single_op/stream_resource.h b/ge/single_op/stream_resource.h index e57453ee..d5bc941a 100755 --- a/ge/single_op/stream_resource.h +++ b/ge/single_op/stream_resource.h @@ -47,7 +47,7 @@ class StreamResource { uint8_t *MallocMemory(const std::string &purpose, size_t size, bool holding_lock = true); uint8_t *MallocWeight(const std::string &purpose, size_t size); - uint8_t *GetMemoryBase() const; + const uint8_t *GetMemoryBase() const; private: uint8_t *DoMallocMemory(const std::string &purpose,