From 37d080f2f11cfd734104b76512e1fb191486216e Mon Sep 17 00:00:00 2001 From: Georgios Pinitas Date: Fri, 21 Jun 2019 18:43:12 +0100 Subject: COMPMID-2378: Sanitize GEMM configuration for NEON Change-Id: I7859b82b2059e14685f8792424648ac5eacd67f1 Signed-off-by: Georgios Pinitas Reviewed-on: https://review.mlplatform.org/c/1418 Comments-Addressed: Arm Jenkins Reviewed-by: Michele Di Giorgio Reviewed-by: Michalis Spyrou Tested-by: Arm Jenkins --- .../core/NEON/kernels/assembly/INEGEMMWrapperKernel.h | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) (limited to 'arm_compute/core/NEON/kernels/assembly/INEGEMMWrapperKernel.h') diff --git a/arm_compute/core/NEON/kernels/assembly/INEGEMMWrapperKernel.h b/arm_compute/core/NEON/kernels/assembly/INEGEMMWrapperKernel.h index 63178a738a..352f73d7f1 100644 --- a/arm_compute/core/NEON/kernels/assembly/INEGEMMWrapperKernel.h +++ b/arm_compute/core/NEON/kernels/assembly/INEGEMMWrapperKernel.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2018 ARM Limited. + * Copyright (c) 2018-2019 ARM Limited. * * SPDX-License-Identifier: MIT * @@ -45,7 +45,7 @@ public: unsigned int multis{ 0 }; /**< Number of "multi" GEMMs (unique A, B and C). */ }; - static Params extract_parameters(const ITensor *a, const ITensor *b, const ITensor *c); + static Params extract_parameters(const ITensor *a, const ITensor *b, const ITensor *c, const GEMMInfo &gemm_info); /** Constructor */ INEGEMMWrapperKernel(); @@ -61,13 +61,14 @@ public: * * @note The input and output tensor must have the same dimensions * - * @param[in] a Input tensor (Matrix A) - * @param[in] b Input tensor (Matrix B) - * @param[out] c Output tensor to store the result of matrix multiplication. Data type supported: same as @p input0. - * @param[in] alpha Scalar multiplier to apply to AB matrix product. - * @param[in] beta Scalar multiplier to apply to input C matrix before adding product. + * @param[in] a Input tensor (Matrix A) + * @param[in] b Input tensor (Matrix B) + * @param[out] c Output tensor to store the result of matrix multiplication. Data type supported: same as @p input0. + * @param[in] alpha Scalar multiplier to apply to AB matrix product. + * @param[in] beta Scalar multiplier to apply to input C matrix before adding product. + * @param[in] gemm_info GEMM meta-data */ - void configure(const ITensor *a, const ITensor *b, ITensor *c, float alpha, float beta); + void configure(const ITensor *a, const ITensor *b, ITensor *c, float alpha, float beta, const GEMMInfo &gemm_info); // Inherited methods overridden: void run(const Window &window, const ThreadInfo &info) override; @@ -95,6 +96,7 @@ protected: const ITensor *_b; ITensor *_c; Params _params; + GEMMInfo _gemm_info; private: Window _window3d; -- cgit v1.2.1