diff options
author | Gian Marco Iodice <giaiod01@e127878.cambridge.arm.com> | 2022-12-28 13:53:51 +0000 |
---|---|---|
committer | Gian Marco Iodice <gianmarco.iodice@arm.com> | 2022-12-29 15:26:32 +0000 |
commit | a5cb79f18685292bf5b63a0c484a58945320823d (patch) | |
tree | 8f65f1781d0d8c7c0c1b2458e3f3707c789e4b43 /src/runtime/CL | |
parent | 8a2d7cecea194ac8eafa91721fb5b09ae01e5971 (diff) | |
download | ComputeLibrary-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.cpp | 4 |
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)); |