aboutsummaryrefslogtreecommitdiff
path: root/src/runtime/CL
diff options
context:
space:
mode:
authorGian Marco Iodice <giaiod01@e127878.cambridge.arm.com>2022-12-28 13:53:51 +0000
committerGian Marco Iodice <gianmarco.iodice@arm.com>2022-12-29 15:26:32 +0000
commita5cb79f18685292bf5b63a0c484a58945320823d (patch)
tree8f65f1781d0d8c7c0c1b2458e3f3707c789e4b43 /src/runtime/CL
parent8a2d7cecea194ac8eafa91721fb5b09ae01e5971 (diff)
downloadComputeLibrary-a5cb79f18685292bf5b63a0c484a58945320823d.tar.gz
Update the ClConv2d heuristic
- Update the ClConv2d heuristic to call indirect convolution on Arm® Mali™-G77 Gpus - Implement the indirect conv2d heuristic for selecting the block size Resolves COMPMID-5713 Change-Id: If6ad49124561207153685c6abd4f54950a376fbc Signed-off-by: Gian Marco Iodice <gianmarco.iodice@arm.com> Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/8886 Benchmark: Arm Jenkins <bsgcomp@arm.com> Tested-by: Arm Jenkins <bsgcomp@arm.com> Reviewed-by: Gunes Bayir <gunes.bayir@arm.com> Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>
Diffstat (limited to 'src/runtime/CL')
-rw-r--r--src/runtime/CL/functions/CLConvolutionLayer.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/runtime/CL/functions/CLConvolutionLayer.cpp b/src/runtime/CL/functions/CLConvolutionLayer.cpp
index 20d7292d38..384249fc63 100644
--- a/src/runtime/CL/functions/CLConvolutionLayer.cpp
+++ b/src/runtime/CL/functions/CLConvolutionLayer.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017-2021 Arm Limited.
+ * Copyright (c) 2017-2022 Arm Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -87,6 +87,7 @@ void CLConvolutionLayer::configure(const CLCompileContext &compile_context, ICLT
{
case ConvolutionMethod::WINOGRAD:
case ConvolutionMethod::DIRECT:
+ case ConvolutionMethod::INDIRECT:
case ConvolutionMethod::GEMM:
{
auto f = std::make_unique<opencl::ClConv2d>();
@@ -138,6 +139,7 @@ Status CLConvolutionLayer::validate(const ITensorInfo *input, const ITensorInfo
{
case ConvolutionMethod::WINOGRAD:
case ConvolutionMethod::DIRECT:
+ case ConvolutionMethod::INDIRECT:
case ConvolutionMethod::GEMM:
{
ARM_COMPUTE_RETURN_ON_ERROR(opencl::ClConv2d::validate(input, weights, biases, output, conv2d_info, weights_info));