diff options
author | Georgios Pinitas <georgios.pinitas@arm.com> | 2018-03-08 19:09:19 +0000 |
---|---|---|
committer | Anthony Barbier <anthony.barbier@arm.com> | 2018-11-02 16:49:16 +0000 |
commit | 1562be3e8a449360a90af75f6f1481a30d41be75 (patch) | |
tree | 3180551f4c8595ae5c9630694754f3b1f8b493b1 /arm_compute/graph2/ITensorHandle.h | |
parent | 684cb0f29d23fbe418e5e5347234abf9eccef363 (diff) | |
download | ComputeLibrary-1562be3e8a449360a90af75f6f1481a30d41be75.tar.gz |
COMPMID-998: Release unused trainable parameters.
Change-Id: I361a520f34080016a25bc86e1e6789777c5152c1
Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/124432
Reviewed-by: Anthony Barbier <anthony.barbier@arm.com>
Tested-by: Jenkins <bsgcomp@arm.com>
Diffstat (limited to 'arm_compute/graph2/ITensorHandle.h')
-rw-r--r-- | arm_compute/graph2/ITensorHandle.h | 21 |
1 files changed, 15 insertions, 6 deletions
diff --git a/arm_compute/graph2/ITensorHandle.h b/arm_compute/graph2/ITensorHandle.h index 68f79d8b01..c92a213121 100644 --- a/arm_compute/graph2/ITensorHandle.h +++ b/arm_compute/graph2/ITensorHandle.h @@ -30,25 +30,34 @@ namespace arm_compute { namespace graph2 { -/** Tensor handle interface object **/ +/** Tensor handle interface object */ class ITensorHandle { public: - /** Default virtual destructor **/ + /** Default virtual destructor */ virtual ~ITensorHandle() = default; - /** Allocates backend memory for the handle **/ + /** Allocates backend memory for the handle */ virtual void allocate() = 0; - /** Backend tensor object accessor **/ + /** Backend tensor object accessor */ virtual arm_compute::ITensor &tensor() = 0; - /** Backend tensor object const accessor **/ + /** Backend tensor object const accessor */ virtual const arm_compute::ITensor &tensor() const = 0; /** Maps backend tensor object * * @param[in] blocking Flags if the mapping operations should be blocking */ virtual void map(bool blocking) = 0; - /** Un-maps a backend tensor object **/ + /** Un-maps a backend tensor object */ virtual void unmap() = 0; + /** Releases backend tensor if is marked as unused + * + * + * @note This has no effect on sub-tensors + * @warning Parent tensors don't keep track of sub-tensors, + * thus if a parent is set as unused then all sub-tensors will be invalidated, + * on the other hand if a sub-tensor is marked as unused then the parent tensor won't be released + */ + virtual void release_if_unused() = 0; /** Checks if a backing tensor is a sub-tensor object or not * * @return True if the backend tensor is a sub-tensor else false |