diff options
author | Georgios Pinitas <georgios.pinitas@arm.com> | 2018-09-24 16:31:08 +0100 |
---|---|---|
committer | Anthony Barbier <anthony.barbier@arm.com> | 2018-11-02 16:55:19 +0000 |
commit | ebf6b8a00b77ea796d877bc1d0e6850c055318a6 (patch) | |
tree | a8c2bb26d951dd0d25c5e223358d6695ad5f0468 /src/runtime/CL/functions/CLGEMM.cpp | |
parent | 96e922e8ee4187906211ee0d1dd0f3e27667c170 (diff) | |
download | ComputeLibrary-ebf6b8a00b77ea796d877bc1d0e6850c055318a6.tar.gz |
COMPMID-1518: Add support for GEMM3D in CLGEMMLowpMatrixMultiplyCore
Change-Id: Ib14ac821ee5d4aff80bd602cd3e76e7018abb5e6
Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/150268
Tested-by: bsgcomp <bsgcomp@arm.com>
Reviewed-by: Isabella Gottardi <isabella.gottardi@arm.com>
Reviewed-by: Michele DiGiorgio <michele.digiorgio@arm.com>
Diffstat (limited to 'src/runtime/CL/functions/CLGEMM.cpp')
-rw-r--r-- | src/runtime/CL/functions/CLGEMM.cpp | 19 |
1 files changed, 15 insertions, 4 deletions
diff --git a/src/runtime/CL/functions/CLGEMM.cpp b/src/runtime/CL/functions/CLGEMM.cpp index 9dbfd3e153..821464e3b3 100644 --- a/src/runtime/CL/functions/CLGEMM.cpp +++ b/src/runtime/CL/functions/CLGEMM.cpp @@ -72,8 +72,18 @@ inline bool is_interleaved_transposed(int m, int n, int k, DataType data_type, b } // namespace CLGEMM::CLGEMM(std::shared_ptr<IMemoryManager> memory_manager) - : _memory_group(std::move(memory_manager)), _interleave_kernel(), _transpose_kernel(), _mm_kernel(), _ma_kernel(), _tmp_a(), _tmp_b(), _original_b(nullptr), _is_interleaved_transposed(false), - _run_addition(false), _reshape_b_only_on_first_run(false), _is_prepared(false) + : _memory_group(std::move(memory_manager)), + _interleave_kernel(), + _transpose_kernel(), + _mm_kernel(), + _ma_kernel(), + _tmp_a(), + _tmp_b(), + _original_b(nullptr), + _is_interleaved_transposed(false), + _run_addition(false), + _reshape_b_only_on_first_run(false), + _is_prepared(false) { } @@ -146,8 +156,9 @@ void CLGEMM::configure(const ICLTensor *a, const ICLTensor *b, const ICLTensor * } // Configure and tune matrix multiply kernel - _mm_kernel.configure(matrix_a, matrix_b, output, alpha, _is_interleaved_transposed, GEMMReshapeInfo(m, n, k, mult_transpose1xW_width, mult_interleave4x4_height, depth_output_gemm3d, - reinterpret_input_as_3d)); + _mm_kernel.configure(matrix_a, matrix_b, output, alpha, _is_interleaved_transposed, GEMMReshapeInfo(m, n, k, + mult_transpose1xW_width, mult_interleave4x4_height, + depth_output_gemm3d, reinterpret_input_as_3d)); CLScheduler::get().tune_kernel_static(_mm_kernel); if(_is_interleaved_transposed) |