diff options
Diffstat (limited to 'src/core/NEON/kernels/arm_gemm/gemm_hybrid.hpp')
-rw-r--r-- | src/core/NEON/kernels/arm_gemm/gemm_hybrid.hpp | 20 |
1 files changed, 15 insertions, 5 deletions
diff --git a/src/core/NEON/kernels/arm_gemm/gemm_hybrid.hpp b/src/core/NEON/kernels/arm_gemm/gemm_hybrid.hpp index c3abb04db7..0cb3160de4 100644 --- a/src/core/NEON/kernels/arm_gemm/gemm_hybrid.hpp +++ b/src/core/NEON/kernels/arm_gemm/gemm_hybrid.hpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2017-2019 ARM Limited. + * Copyright (c) 2017-2020 ARM Limited. * * SPDX-License-Identifier: MIT * @@ -142,8 +142,8 @@ public: _window_range(iceildiv(args._Msize, strategy::out_height()), _nbatches, iceildiv(_Nsize, _n_block), _nmulti) { } // Interface implementation - Compulsory functions - unsigned int get_window_size() const override { - return _window_range.total_size(); + ndrange_t get_window_size() const override { + return { _window_range.total_size(), 1u, 1u, 1u, 1u, 1u }; } // This kernel can always be dynamically scheduled. @@ -151,8 +151,7 @@ public: return true; } - // Execute - void execute(unsigned int start, unsigned int end, int threadid) override { + void execute_1d(unsigned int start, unsigned int end, int threadid) { UNUSED(threadid); #ifdef CYCLE_PROFILING profiler prof; @@ -215,6 +214,17 @@ public: } } + // Execute + void execute(const ndcoord_t& work_range, const ndcoord_t& thread_locator, int threadid) override { + UNUSED(thread_locator); + + const auto start = work_range.get_position(0); + const auto size = work_range.get_size(0); + const auto stop = start + size; + + execute_1d(start, stop, threadid); + } + // Interface implementation - pretransposed bool B_is_pretransposed() const override { return true; |