diff options
author | Viet-Hoa Do <viet-hoa.do@arm.com> | 2024-01-18 16:10:46 +0000 |
---|---|---|
committer | Viet-Hoa Do <viet-hoa.do@arm.com> | 2024-01-23 09:52:40 +0000 |
commit | fdf56fb9d414a754e7cedfdc1351ab0ce2866a0c (patch) | |
tree | 75b48446e9b4041ae9c520070e432d32b9748ef7 /arm_compute/dynamic_fusion/sketch/gpu/GpuWorkloadSketch.h | |
parent | e812c0cafc6f224ec9caca30c2e97ec062012d53 (diff) | |
download | ComputeLibrary-fdf56fb9d414a754e7cedfdc1351ab0ce2866a0c.tar.gz |
Make GpuWorkloadContext own all tensor info objects
* The tensor info objects created by calling create_tensor_info
is now solely owned by the context object. The user only receives
pointers to those objects.
- Internally pointers to tensor info objects are used in various
places. It's safer for dynamic fusion to manage these objects
directly rather than relying on the users.
- The validation test is updated to use the modified API.
* Make various changes in dynamic fusion API to make it more
friendly (e.g. making some of the objects moveable).
Partially resolves: COMPMID-6707
Signed-off-by: Viet-Hoa Do <viet-hoa.do@arm.com>
Change-Id: Ifee70e53c05f8e7b72bf9ef123701ff291c5ee80
Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/10990
Tested-by: Arm Jenkins <bsgcomp@arm.com>
Reviewed-by: Jakub Sujak <jakub.sujak@arm.com>
Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>
Benchmark: Arm Jenkins <bsgcomp@arm.com>
Diffstat (limited to 'arm_compute/dynamic_fusion/sketch/gpu/GpuWorkloadSketch.h')
-rw-r--r-- | arm_compute/dynamic_fusion/sketch/gpu/GpuWorkloadSketch.h | 21 |
1 files changed, 17 insertions, 4 deletions
diff --git a/arm_compute/dynamic_fusion/sketch/gpu/GpuWorkloadSketch.h b/arm_compute/dynamic_fusion/sketch/gpu/GpuWorkloadSketch.h index 75c2b1f528..1c738bd060 100644 --- a/arm_compute/dynamic_fusion/sketch/gpu/GpuWorkloadSketch.h +++ b/arm_compute/dynamic_fusion/sketch/gpu/GpuWorkloadSketch.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2022-2023 Arm Limited. + * Copyright (c) 2022-2024 Arm Limited. * * SPDX-License-Identifier: MIT * @@ -21,8 +21,8 @@ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE * SOFTWARE. */ -#ifndef ARM_COMPUTE_DYNAMIC_FUSION_SKETCH_GPU_GPUWORKLOADSKETCH -#define ARM_COMPUTE_DYNAMIC_FUSION_SKETCH_GPU_GPUWORKLOADSKETCH +#ifndef ACL_ARM_COMPUTE_DYNAMIC_FUSION_SKETCH_GPU_GPUWORKLOADSKETCH_H +#define ACL_ARM_COMPUTE_DYNAMIC_FUSION_SKETCH_GPU_GPUWORKLOADSKETCH_H #include "arm_compute/dynamic_fusion/sketch/gpu/GpuWorkloadContext.h" @@ -53,15 +53,28 @@ public: * @param[in] context Gpu context for the creation of a workload */ explicit GpuWorkloadSketch(GpuWorkloadContext *context); + /** Destructor */ ~GpuWorkloadSketch(); + + /** Move constructor */ + GpuWorkloadSketch(GpuWorkloadSketch &&); + + /** Move assignment */ + GpuWorkloadSketch &operator=(GpuWorkloadSketch &&); + /** Get the implementation */ Implementation &implementation(); + /** Get the implementation */ const Implementation &implementation() const; + /** Get the gpu workload context of this sketch */ const GpuWorkloadContext *gpu_context() const; + /** Get the gpu workload context of this sketch */ + GpuWorkloadContext *gpu_context(); + private: std::unique_ptr<Implementation> _impl; /**< Internal opaque implementation*/ }; @@ -69,4 +82,4 @@ private: } // namespace dynamic_fusion } // namespace experimental } // namespace arm_compute -#endif /* ARM_COMPUTE_DYNAMIC_FUSION_SKETCH_GPU_GPUWORKLOADSKETCH */ +#endif // ACL_ARM_COMPUTE_DYNAMIC_FUSION_SKETCH_GPU_GPUWORKLOADSKETCH_H |