diff options
author | SiCong Li <sicong.li@arm.com> | 2020-07-15 12:09:58 +0100 |
---|---|---|
committer | SiCong Li <sicong.li@arm.com> | 2020-07-21 09:41:49 +0000 |
commit | 406a13f0b414d5c0375a46beec8dd9363a1cca56 (patch) | |
tree | 5f6fb7cfa1c7683d44de32840ffb541f450c8961 /tests/validation/CL/GEMMMatrixMultiplyReshapedOnlyRHS.cpp | |
parent | f6f7876e9ee8b58a8a6b335b032d554412fa3983 (diff) | |
download | ComputeLibrary-406a13f0b414d5c0375a46beec8dd9363a1cca56.tar.gz |
COMPMID-3331 Remove y load padding from CLGEMMMatrixMultiplyReshapedOnlyRHSKernel and CLGEMMMatrixMultiplyNativeKernel
Resolves: COMPMID-3333, COMPMID-3334
* Implement an "overlap load, but don't overlap store" strategy:
- Change STORE_BLOCK_BOUNDARY_AWARE so that the partial block in y
dimension is placed at the beginning instead of at the end.
- Implement 3 auxiliary functions to calculate the lhs, bias and dst
addresses, taking into account the potential partial block in y dimension.
* Remove y load padding from Lhs and Bias tensors in
CLGEMMMatrixMultiplyReshapedOnlyRHSKernel and CLGEMMMatrixMultiplyNativeKernel
* Modify config tests to assert zero-padding in new dimensions
Change-Id: I8f8585c7c0f543d720c2c91b885417c7dad35af4
Signed-off-by: SiCong Li <sicong.li@arm.com>
Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/3576
Tested-by: Arm Jenkins <bsgcomp@arm.com>
Reviewed-by: Georgios Pinitas <georgios.pinitas@arm.com>
Reviewed-by: Gian Marco Iodice <gianmarco.iodice@arm.com>
Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>
Diffstat (limited to 'tests/validation/CL/GEMMMatrixMultiplyReshapedOnlyRHS.cpp')
-rw-r--r-- | tests/validation/CL/GEMMMatrixMultiplyReshapedOnlyRHS.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/tests/validation/CL/GEMMMatrixMultiplyReshapedOnlyRHS.cpp b/tests/validation/CL/GEMMMatrixMultiplyReshapedOnlyRHS.cpp index 0456ca2017..c87d309ada 100644 --- a/tests/validation/CL/GEMMMatrixMultiplyReshapedOnlyRHS.cpp +++ b/tests/validation/CL/GEMMMatrixMultiplyReshapedOnlyRHS.cpp @@ -246,7 +246,8 @@ bool validate_zero_padding(unsigned int m_value, unsigned int n_value, unsigned gemm.configure(&lhs, &rhs_reshaped, &bias, &dst, alpha, beta, lhs_info, rhs_info, kernel_info); - return dst.info()->padding().empty(); + // Padding can be added along rhs and bias's X dimension + return dst.info()->padding().empty() && lhs.info()->padding().empty() && bias.info()->padding().bottom == 0 && bias.info()->padding().top == 0; } } // namespace |