From 4184e86508c3b1a744e9687d1112ba5f65f55eeb Mon Sep 17 00:00:00 2001 From: Adnan AlSinan Date: Mon, 10 Jul 2023 15:20:44 +0100 Subject: Port ClTemplateActivation into Ckw Resolves COMPMID-6256 Signed-off-by: Adnan AlSinan Change-Id: I48f6a9dfadefced20802bec1ab4ab843a9deba6e Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/9912 Comments-Addressed: Arm Jenkins Tested-by: Arm Jenkins Reviewed-by: SiCong Li Benchmark: Arm Jenkins --- .../gpu/ckw_driver/components/utils/WriterHelper.h | 26 ++++++++++++++++++++++ 1 file changed, 26 insertions(+) (limited to 'src/dynamic_fusion/sketch/gpu/ckw_driver/components/utils') diff --git a/src/dynamic_fusion/sketch/gpu/ckw_driver/components/utils/WriterHelper.h b/src/dynamic_fusion/sketch/gpu/ckw_driver/components/utils/WriterHelper.h index ca13329335..46c0f4ed8c 100644 --- a/src/dynamic_fusion/sketch/gpu/ckw_driver/components/utils/WriterHelper.h +++ b/src/dynamic_fusion/sketch/gpu/ckw_driver/components/utils/WriterHelper.h @@ -62,6 +62,32 @@ inline void load_lhs_rhs_tiles_and_prepare_sampler(GpuCkwScopedKernelWriter &wri } } +/** Load src and dst tiles of dimension [m0, n0] only when not loaded and prepare the sampler + */ +inline void load_src_dst_tiles_and_prepare_sampler(GpuCkwScopedKernelWriter &writer, GpuCkwComponentArgument *src, GpuCkwComponentArgument *dst, int32_t m0, int32_t n0, SamplerCreator create_sampler) +{ + if(!src->has_tile()) + { + const auto sampler = create_sampler(writer, m0, n0); + writer->op_load_once(src, sampler); + } + else + { + const auto &sampler = src->tile_sampler(); + writer->op_load_once(src, sampler); + } + + auto &src_tile = src->tile(); + const auto &sampler = src->tile_sampler(); + + // Prepare the output tile. + if(!dst->has_tile()) + { + auto &tile = writer->declare_tile("dst_tile", src_tile.tile_info()); + dst->init_virtual_tensor(tile, sampler); + } +} + } // namespace dynamic_fusion } // namespace experimental } // namespace arm_compute -- cgit v1.2.1