Add multi-sketch support for dynamic fusion
* Tensors are owned by workload context instead of workload sketch
so that they can be used by multiple sketches.
* Add an integration test for multi-sketch case.
Resolves: COMPMID-6148
Signed-off-by: Viet-Hoa Do <viet-hoa.do@arm.com>
Change-Id: I37d0de5ac103fb2a85020aa1c26e49eb304f47b7
Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/9706
Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>
Reviewed-by: SiCong Li <sicong.li@arm.com>
Tested-by: Arm Jenkins <bsgcomp@arm.com>
Benchmark: Arm Jenkins <bsgcomp@arm.com>
diff --git a/tests/validation/dynamic_fusion/gpu/cl/Mul.cpp b/tests/validation/dynamic_fusion/gpu/cl/Mul.cpp
index a9e8f9c..2da2b9e 100644
--- a/tests/validation/dynamic_fusion/gpu/cl/Mul.cpp
+++ b/tests/validation/dynamic_fusion/gpu/cl/Mul.cpp
@@ -102,12 +102,12 @@
{
// Create a new workload sketch
auto cl_compile_ctx = CLKernelLibrary::get().get_compile_context();
- auto gpu_ctx = GpuWorkloadContext{ &cl_compile_ctx };
- GpuWorkloadSketch sketch{ &gpu_ctx };
+ auto context = GpuWorkloadContext{ &cl_compile_ctx };
+ GpuWorkloadSketch sketch{ &context };
// Validate Elementwise Mul
- auto lhs_info = sketch.create_tensor_info(input1_info);
- auto rhs_info = sketch.create_tensor_info(input2_info);
+ auto lhs_info = context.create_tensor_info(input1_info);
+ auto rhs_info = context.create_tensor_info(input2_info);
bool res = bool(GpuMul::validate_op(sketch, &lhs_info, &rhs_info));
ARM_COMPUTE_EXPECT(res == expected, framework::LogLevel::ERRORS);