aboutsummaryrefslogtreecommitdiff
path: root/src/gpu/cl/kernels/ClWinogradOutputTransformKernel.cpp
diff options
context:
space:
mode:
authorGian Marco Iodice <gianmarco.iodice@arm.com>2022-06-14 15:13:16 +0100
committerGian Marco Iodice <gianmarco.iodice@arm.com>2022-06-15 14:47:02 +0000
commit0c687044c3f5d7f294858debfc7c4c070228a9b4 (patch)
treeed0794cc6e2b56e40eda7aa44e83139c46241213 /src/gpu/cl/kernels/ClWinogradOutputTransformKernel.cpp
parent894659a98e76d84bf209da27d8ecb6d9ed05b13d (diff)
downloadComputeLibrary-0c687044c3f5d7f294858debfc7c4c070228a9b4.tar.gz
Fix performance regression in Winograd Output Transform (OpenCL)
The regression was caused by NUM_TILES_X passed at runtime. Resolves COMPMID-5327 Change-Id: Id6ccd93784eda93af09f420c0d786050e2bbccd7 Signed-off-by: Gian Marco Iodice <gianmarco.iodice@arm.com> Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/7727 Tested-by: Arm Jenkins <bsgcomp@arm.com> Reviewed-by: Michalis Spyrou <michalis.spyrou@arm.com> Comments-Addressed: Arm Jenkins <bsgcomp@arm.com> Benchmark: Arm Jenkins <bsgcomp@arm.com>
Diffstat (limited to 'src/gpu/cl/kernels/ClWinogradOutputTransformKernel.cpp')
-rw-r--r--src/gpu/cl/kernels/ClWinogradOutputTransformKernel.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/gpu/cl/kernels/ClWinogradOutputTransformKernel.cpp b/src/gpu/cl/kernels/ClWinogradOutputTransformKernel.cpp
index ff57c83959..a664d1ec1d 100644
--- a/src/gpu/cl/kernels/ClWinogradOutputTransformKernel.cpp
+++ b/src/gpu/cl/kernels/ClWinogradOutputTransformKernel.cpp
@@ -187,6 +187,7 @@ void ClWinogradOutputTransformKernel::configure(const ClCompileContext &compile_
build_opts.add_option_if(total_batches > 1, "-DSRC_DEPTH=" + support::cpp11::to_string(src->dimension(2)));
build_opts.add_option_if(winograd_info.kernel_size.height == 1, "-DWINOGRAD_OUTPUT_TRANSFORM_HORIZONTAL");
build_opts.add_option_if(winograd_info.kernel_size.width == 1, "-DWINOGRAD_OUTPUT_TRANSFORM_VERTICAL");
+ build_opts.add_option("-DNUM_TILES_X=" + support::cpp11::to_string(_num_tiles_x));
}
else
{
@@ -279,7 +280,6 @@ void ClWinogradOutputTransformKernel::run_op(ITensorPack &tensors, const Window
_kernel.setArg<cl_int>(idx2++, _src_height);
_kernel.setArg<cl_int>(idx2++, _dst_width);
_kernel.setArg<cl_int>(idx2++, _dst_height);
- _kernel.setArg<cl_int>(idx2++, _num_tiles_x);
}
do