diff options
author | Pablo Marquez Tello <pablo.tello@arm.com> | 2023-10-16 14:14:14 +0100 |
---|---|---|
committer | Pablo Marquez Tello <pablo.tello@arm.com> | 2023-10-30 14:30:21 +0000 |
commit | e5362e7e5dbccf81c5296a7e77154e11e1a14d2f (patch) | |
tree | f1a00380b62d62da8ecd5b839652275b9b14d9ac /src/cpu/kernels/CpuIm2ColKernel.h | |
parent | dfcd41af4eea67f7c348c8688e05cb12e3eee5f5 (diff) | |
download | ComputeLibrary-e5362e7e5dbccf81c5296a7e77154e11e1a14d2f.tar.gz |
DirectConv and Im2Col changes to enable fp16 in armv8a multi_isa builds
* FP16 kernels must be instantiated in fp16.cpp.
* Partially resolves MLCE-1102
Change-Id: Iab9c29dbfd89358f2f663862ff5010c88aeccf8c
Signed-off-by: Pablo Marquez Tello <pablo.tello@arm.com>
Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/10496
Reviewed-by: Anitha Raj <Anitha.Raj@arm.com>
Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>
Tested-by: Arm Jenkins <bsgcomp@arm.com>
Benchmark: Arm Jenkins <bsgcomp@arm.com>
Diffstat (limited to 'src/cpu/kernels/CpuIm2ColKernel.h')
-rw-r--r-- | src/cpu/kernels/CpuIm2ColKernel.h | 26 |
1 files changed, 13 insertions, 13 deletions
diff --git a/src/cpu/kernels/CpuIm2ColKernel.h b/src/cpu/kernels/CpuIm2ColKernel.h index 2cb26179ce..ae7162cccf 100644 --- a/src/cpu/kernels/CpuIm2ColKernel.h +++ b/src/cpu/kernels/CpuIm2ColKernel.h @@ -21,8 +21,8 @@ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE * SOFTWARE. */ -#ifndef ARM_COMPUTE_CPU_IM2COL_KERNEL_H -#define ARM_COMPUTE_CPU_IM2COL_KERNEL_H +#ifndef ACL_SRC_CPU_KERNELS_CPUIM2COLKERNEL_H +#define ACL_SRC_CPU_KERNELS_CPUIM2COLKERNEL_H #include "arm_compute/core/Size2D.h" @@ -115,20 +115,20 @@ public: size_t get_mws(const CPUInfo &platform, size_t thread_count) const override; private: - /** Template function to run im2col - * - * @param[in] src The input tensor info - * @param[out] dst The output tensor info - * @param[in] window Region on which to execute the kernel. (Must be a valid region of the window returned by window()). - */ - template <typename T, bool has_pads, bool is_nchw> - void run_im2col(const ITensor *src, ITensor *dst, const Window &window); - /** Common signature for all the specialised im2col functions * * @param[in] window Region on which to execute the kernel. */ - using Im2ColFunctionPtr = void (CpuIm2ColKernel::*)(const ITensor *src, ITensor *dst, const Window &window); + using Im2ColFunctionPtr = void (*)(const ITensor *src, + ITensor *dst, + const Window &window, + DataLayout data_layout, + const PadStrideInfo &conv_info, + std::pair<unsigned int, unsigned int> convolved_dims, + const Size2D &kernel_dims, + const Size2D &dilation, + uint32_t input_pad_right, + bool has_bias); Im2ColFunctionPtr _func{nullptr}; std::pair<unsigned int, unsigned int> _convolved_dims{}; @@ -143,4 +143,4 @@ private: } // namespace kernels } // namespace cpu } // namespace arm_compute -#endif /*ARM_COMPUTE_CPU_IM2COL_KERNEL_H */ +#endif // ACL_SRC_CPU_KERNELS_CPUIM2COLKERNEL_H |