From 275a22636fa7a34779a0b4531bcd487e09ca9f66 Mon Sep 17 00:00:00 2001 From: Parichay Kapoor Date: Tue, 26 Jan 2021 16:50:02 +0900 Subject: [PATCH] [manager] Disable user_shared_memory Disable user_shared_memory to as NNAPI is not required to be supported. It is further needed to decouple tensor structure allocation and its internal memory allocation. **Self evaluation:** 1. Build test: [x]Passed [ ]Failed [ ]Skipped 2. Run test: [x]Passed [ ]Failed [ ]Skipped Signed-off-by: Parichay Kapoor --- nntrainer/tensor/manager.cpp | 13 ++++++------- nntrainer/tensor/manager.h | 3 +-- 2 files changed, 7 insertions(+), 9 deletions(-) diff --git a/nntrainer/tensor/manager.cpp b/nntrainer/tensor/manager.cpp index 4b4a3a7..9dd0c82 100644 --- a/nntrainer/tensor/manager.cpp +++ b/nntrainer/tensor/manager.cpp @@ -124,8 +124,7 @@ MMapedMemory::~MMapedMemory() { Manager::Manager(bool enable_gradient_memory_opt_, bool enable_derivative_memory_opt_, bool enable_activation_memory_opt_, - bool enable_inference_inout_memory_opt_, - bool use_shared_memory_) : + bool enable_inference_inout_memory_opt_) : total_weight_size(0), total_grad_size(0), max_grad_size(0), @@ -136,7 +135,7 @@ Manager::Manager(bool enable_gradient_memory_opt_, enable_derivative_memory_opt(enable_derivative_memory_opt_), enable_activation_memory_opt(enable_activation_memory_opt_), enable_inference_inout_memory_opt(enable_inference_inout_memory_opt_), - use_shared_memory(use_shared_memory_) {} + use_shared_memory(false) {} Manager::~Manager() {} @@ -184,6 +183,7 @@ Manager::AllocFunc Manager::getAllocFunc(bool is_weight) { AllocFunc allocate_func = allocate_none; + /**< use_shared_memory has been deprecated */ if (use_shared_memory) { /// this creates memory and sets to @a memory and returns AllocFunc @@ -212,11 +212,10 @@ Manager::AllocFunc Manager::getAllocFunc(bool is_weight) { } else if (!is_weight) { /** only for gradients */ if (max_grad_size > 0 && enable_gradient_memory_opt) { - std::shared_ptr window(new float[max_grad_size], - std::default_delete()); + Tensor shared_grad = Tensor(TensorDim({(unsigned int)max_grad_size})); - allocate_func = [window](const TensorDim &dim, size_t offset) { - return Tensor::Map(window, dim, offset); + allocate_func = [shared_grad](const TensorDim &dim, size_t offset) { + return shared_grad.getSharedDataTensor(dim, offset); }; } } diff --git a/nntrainer/tensor/manager.h b/nntrainer/tensor/manager.h index 7d7033b..3f0bf79 100644 --- a/nntrainer/tensor/manager.h +++ b/nntrainer/tensor/manager.h @@ -89,8 +89,7 @@ public: Manager(bool enable_gradient_memory_opt_ = true, bool enable_derivative_memory_opt_ = true, bool enable_activation_memory_opt_ = true, - bool enable_inference_inout_memory_opt_ = true, - bool use_shared_memory_ = true); + bool enable_inference_inout_memory_opt_ = true); Manager(const Manager &) = default; -- 2.7.4