aboutsummaryrefslogtreecommitdiff
path: root/src/cpu
diff options
context:
space:
mode:
authorJakub Sujak <jakub.sujak@arm.com>2023-10-05 10:20:59 +0100
committerJakub Sujak <jakub.sujak@arm.com>2023-10-05 20:38:57 +0000
commita23b4686a091a7960a4b336d0fe53f15db4ae538 (patch)
tree1ad99168638177ccbf4f7c991ac539b5dd270eca /src/cpu
parent3831111db26d791cade87fd2d7fe2663e2ceb4a6 (diff)
downloadComputeLibrary-a23b4686a091a7960a4b336d0fe53f15db4ae538.tar.gz
Optimize CLTranspose operator
* Transpose higher dimensional tensors (>2D) by collapsing higher dimensions into the third dimension thus avoiding multiple dispatches of the CL kernel * Maximize tile size without register spilling Resolves: COMPMID-6448 Change-Id: Iac094b8c428bdf319d9c28a8334cb55d58e2d14b Signed-off-by: Jakub Sujak <jakub.sujak@arm.com> Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/10443 Tested-by: Arm Jenkins <bsgcomp@arm.com> Reviewed-by: Viet-Hoa Do <viet-hoa.do@arm.com> Comments-Addressed: Arm Jenkins <bsgcomp@arm.com> Benchmark: Arm Jenkins <bsgcomp@arm.com>
Diffstat (limited to 'src/cpu')
-rw-r--r--src/cpu/kernels/CpuTransposeKernel.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/cpu/kernels/CpuTransposeKernel.cpp b/src/cpu/kernels/CpuTransposeKernel.cpp
index 615bc6ce1e..0f762ba041 100644
--- a/src/cpu/kernels/CpuTransposeKernel.cpp
+++ b/src/cpu/kernels/CpuTransposeKernel.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2021 Arm Limited.
+ * Copyright (c) 2021, 2023 Arm Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -737,6 +737,9 @@ void CpuTransposeKernel::configure(const ITensorInfo *src, ITensorInfo *dst)
const TensorShape dst_shape = misc::shape_calculator::compute_transposed_shape(*src);
auto_init_if_empty(*dst, src->clone()->set_tensor_shape(dst_shape));
+ // Explicitly set the tensor shape to preserve dimensions
+ dst->set_tensor_shape(dst_shape);
+
// Perform validation step
ARM_COMPUTE_ERROR_THROW_ON(validate(src, dst));