diff options
author | Georgios Pinitas <georgios.pinitas@arm.com> | 2018-05-03 20:47:16 +0100 |
---|---|---|
committer | Anthony Barbier <anthony.barbier@arm.com> | 2018-11-02 16:51:50 +0000 |
commit | 3d1489de593574e65ef1e64a7ae64e4e56c2978b (patch) | |
tree | f87f3df521cb5ed8bd383dad89cbeb92c49670ac /arm_compute/graph/backends/NEON | |
parent | 54d6fae4dbb4f556cc5ec484c51681ad84c015a7 (diff) | |
download | ComputeLibrary-3d1489de593574e65ef1e64a7ae64e4e56c2978b.tar.gz |
COMPMID-605: Transition buffer memory manager
Change-Id: Ide7c6124eb19f13f15f517e62d705646a0cd1ecd
Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/130184
Reviewed-by: Georgios Pinitas <georgios.pinitas@arm.com>
Tested-by: Jenkins <bsgcomp@arm.com>
Reviewed-by: Anthony Barbier <anthony.barbier@arm.com>
Diffstat (limited to 'arm_compute/graph/backends/NEON')
-rw-r--r-- | arm_compute/graph/backends/NEON/NEDeviceBackend.h | 1 | ||||
-rw-r--r-- | arm_compute/graph/backends/NEON/NESubTensorHandle.h | 21 | ||||
-rw-r--r-- | arm_compute/graph/backends/NEON/NETensorHandle.h | 14 |
3 files changed, 25 insertions, 11 deletions
diff --git a/arm_compute/graph/backends/NEON/NEDeviceBackend.h b/arm_compute/graph/backends/NEON/NEDeviceBackend.h index b23c83adea..c1e2e0c078 100644 --- a/arm_compute/graph/backends/NEON/NEDeviceBackend.h +++ b/arm_compute/graph/backends/NEON/NEDeviceBackend.h @@ -44,6 +44,7 @@ public: void initialize_backend() override; void setup_backend_context(GraphContext &ctx) override; bool is_backend_supported() override; + IAllocator *backend_allocator() override; std::unique_ptr<ITensorHandle> create_tensor(const Tensor &tensor) override; std::unique_ptr<ITensorHandle> create_subtensor(ITensorHandle *parent, TensorShape shape, Coordinates coords, bool extend_parent) override; std::unique_ptr<arm_compute::IFunction> configure_node(INode &node, GraphContext &ctx) override; diff --git a/arm_compute/graph/backends/NEON/NESubTensorHandle.h b/arm_compute/graph/backends/NEON/NESubTensorHandle.h index 11dcec60f3..101d3e6644 100644 --- a/arm_compute/graph/backends/NEON/NESubTensorHandle.h +++ b/arm_compute/graph/backends/NEON/NESubTensorHandle.h @@ -52,18 +52,27 @@ public: NESubTensorHandle(NESubTensorHandle &&) = default; /** Allow instances of this class to be moved */ NESubTensorHandle &operator=(NESubTensorHandle &&) = default; + /** Prevent instances of this class from being copied (As this class contains pointers) */ + NESubTensorHandle(const NESubTensorHandle &) = delete; + /** Prevent instances of this class from being copied (As this class contains pointers) */ + NESubTensorHandle &operator=(const NESubTensorHandle &) = delete; // Inherited overridden methods - void allocate() override; + void allocate() override; + void free() override; + void manage(IMemoryGroup *mg) override; + void map(bool blocking) override; + void unmap() override; + void release_if_unused() override; arm_compute::ITensor &tensor() override; const arm_compute::ITensor &tensor() const override; - void map(bool blocking) override; - void unmap() override; - void release_if_unused() override; - bool is_subtensor() const override; + ITensorHandle *parent_handle() override; + bool is_subtensor() const override; + Target target() const override; private: - arm_compute::SubTensor _sub_tensor; /**< Backend Sub-Tensor */ + arm_compute::SubTensor _sub_tensor; /**< Backend Sub-Tensor */ + ITensorHandle *_parent_handle; /**< Parent handle */ }; } // namespace backends } // namespace graph diff --git a/arm_compute/graph/backends/NEON/NETensorHandle.h b/arm_compute/graph/backends/NEON/NETensorHandle.h index 06ccdd83cc..150e0c97c8 100644 --- a/arm_compute/graph/backends/NEON/NETensorHandle.h +++ b/arm_compute/graph/backends/NEON/NETensorHandle.h @@ -51,13 +51,17 @@ public: NETensorHandle &operator=(NETensorHandle &&) = default; // Inherited overridden methods - void allocate() override; + void allocate() override; + void free() override; + void manage(IMemoryGroup *mg) override; + void map(bool blocking) override; + void unmap() override; + void release_if_unused() override; arm_compute::ITensor &tensor() override; const arm_compute::ITensor &tensor() const override; - void map(bool blocking) override; - void unmap() override; - void release_if_unused() override; - bool is_subtensor() const override; + ITensorHandle *parent_handle() override; + bool is_subtensor() const override; + Target target() const override; private: arm_compute::Tensor _tensor; /**< Backend Tensor */ |