diff options
author | morgolock <pablo.tello@arm.com> | 2020-05-05 16:28:19 +0100 |
---|---|---|
committer | Georgios Pinitas <georgios.pinitas@arm.com> | 2020-05-15 13:18:28 +0000 |
commit | aba2f912a21487776e540724cf354a6cd8d89829 (patch) | |
tree | d53c28c746aa0e9eb368f0edbf9f0afbec7a840b /arm_compute | |
parent | 3155f77d23eb332974a6b9cb5d37a1329b8493a6 (diff) | |
download | ComputeLibrary-aba2f912a21487776e540724cf354a6cd8d89829.tar.gz |
COMPMID-3289: Test improvement CLGEMMMatrixMultiplyReshapedKernel.
Change-Id: Ia6c2f115849889baceafaf716477456e41f96037
Signed-off-by: morgolock <pablo.tello@arm.com>
Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/3186
Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>
Tested-by: Arm Jenkins <bsgcomp@arm.com>
Reviewed-by: Sang-Hoon Park <sang-hoon.park@arm.com>
Diffstat (limited to 'arm_compute')
-rw-r--r-- | arm_compute/core/KernelDescriptors.h | 22 | ||||
-rw-r--r-- | arm_compute/core/Types.h | 10 |
2 files changed, 32 insertions, 0 deletions
diff --git a/arm_compute/core/KernelDescriptors.h b/arm_compute/core/KernelDescriptors.h index d9d3e1a4d8..6b4691bc83 100644 --- a/arm_compute/core/KernelDescriptors.h +++ b/arm_compute/core/KernelDescriptors.h @@ -54,6 +54,28 @@ struct FFTRadixStageKernelInfo /** Descriptor used by the GEMM kernels */ struct GEMMKernelInfo { + GEMMKernelInfo() = default; + GEMMKernelInfo( + unsigned int im, + unsigned int in, + unsigned int ik, + unsigned int idepth_output_gemm3d, + bool ireinterpret_input_as_3d, + bool ibroadcast_bias, + bool ifp_mixed_precision, + ActivationLayerInfo iactivation_info, + int inmult_transpose1xW_width, + int imult_interleave4x4_height, + GEMMLHSMatrixInfo ilhs_info, + GEMMRHSMatrixInfo irhs_info, + int32_t ina_offset, + int32_t inb_offset) + : m(im), n(in), k(ik), depth_output_gemm3d(idepth_output_gemm3d), reinterpret_input_as_3d(ireinterpret_input_as_3d), broadcast_bias(ibroadcast_bias), fp_mixed_precision(ifp_mixed_precision), + activation_info(iactivation_info), mult_transpose1xW_width(inmult_transpose1xW_width), mult_interleave4x4_height(imult_interleave4x4_height), lhs_info(ilhs_info), rhs_info(irhs_info), + a_offset(ina_offset), b_offset(inb_offset) + { + } + unsigned int m{ 0 }; /**< Number of LHS rows*/ unsigned int n{ 0 }; /**< Number of RHS columns*/ unsigned int k{ 0 }; /**< Number of LHS columns or RHS rows */ diff --git a/arm_compute/core/Types.h b/arm_compute/core/Types.h index 37a9679a21..d59bba6ff4 100644 --- a/arm_compute/core/Types.h +++ b/arm_compute/core/Types.h @@ -1964,6 +1964,11 @@ struct GEMMLowpOutputStageInfo /** GEMM LHS (Left Hand Side) matrix information */ struct GEMMLHSMatrixInfo { + GEMMLHSMatrixInfo() = default; + GEMMLHSMatrixInfo(unsigned int m, unsigned int k, unsigned int v, bool trans, bool inter) + : m0(m), k0(k), v0(v), transpose(trans), interleave(inter) + { + } unsigned int m0{ 1 }; /**< Number of rows processed by the matrix multiplication */ unsigned int k0{ 1 }; /**< Number of partial accumulations performed by the matrix multiplication */ unsigned int v0{ 1 }; /**< Number of vertical blocks of size (m0xk0) stored on the same output row */ @@ -1974,6 +1979,11 @@ struct GEMMLHSMatrixInfo /** GEMM RHS (Right Hand Side) matrix information */ struct GEMMRHSMatrixInfo { + GEMMRHSMatrixInfo() = default; + GEMMRHSMatrixInfo(unsigned int n, unsigned int k, unsigned int h, bool trans, bool inter) + : n0(n), k0(k), h0(h), transpose(trans), interleave(inter) + { + } unsigned int n0{ 1 }; /**< Number of columns processed by the matrix multiplication */ unsigned int k0{ 1 }; /**< Number of partial accumulations performed by the matrix multiplication */ unsigned int h0{ 1 }; /**< Number of horizontal blocks of size (k0xn0) stored on the same output row */ |