From a518f3009a921d1aa21953bc72f8ce00a69af050 Mon Sep 17 00:00:00 2001 From: Pablo Tello Date: Wed, 19 Sep 2018 11:33:03 +0100 Subject: COMPMID-1773: Replaced Gemm wrapper for NEGEMM in NEWinograd Change-Id: I68c648a5246fcdc67a496602089f93d65eb1d601 --- src/runtime/NEON/functions/NEWinogradConvolutionLayer.cpp | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) (limited to 'src/runtime/NEON/functions/NEWinogradConvolutionLayer.cpp') diff --git a/src/runtime/NEON/functions/NEWinogradConvolutionLayer.cpp b/src/runtime/NEON/functions/NEWinogradConvolutionLayer.cpp index 569db37bf6..c8e3b3b38c 100644 --- a/src/runtime/NEON/functions/NEWinogradConvolutionLayer.cpp +++ b/src/runtime/NEON/functions/NEWinogradConvolutionLayer.cpp @@ -235,7 +235,7 @@ bool check_support_fast_math(const Size2D &output_tile, const Size2D &kernel_siz } //namespace NEWinogradConvolutionLayer::NEWinogradConvolutionLayer(std::shared_ptr memory_manager) - : _memory_group(memory_manager), _asm_glue(memory_manager), _transform_input_kernel(nullptr), _transform_output_kernel(nullptr), _transform_weights_kernel(nullptr), _activationlayer_function(), + : _memory_group(memory_manager), _gemm_function(memory_manager), _transform_input_kernel(nullptr), _transform_output_kernel(nullptr), _transform_weights_kernel(nullptr), _activationlayer_function(), _permute_input(), _permute_weights(), _permute_output(), _input_workspace(), _output_workspace(), _kernel_storage(), _input_nhwc(), _output_nhwc(), _weights_hwio(), _input(), _weights(), _output(), _is_prepared(false), _is_activationlayer_enabled(false) { @@ -484,8 +484,7 @@ void NEWinogradConvolutionLayer::configure(const ITensor *input, const ITensor * } _weights_hwio.allocator()->allocate(); - - _asm_glue.configure(&_input_workspace, &_kernel_storage, &_output_workspace, 1.0f, 0.f, false); + _gemm_function.configure(&_input_workspace, &_kernel_storage, nullptr, &_output_workspace, 1.0f, 0.f); _input_workspace.allocator()->allocate(); _kernel_storage.allocator()->allocate(); _output_workspace.allocator()->allocate(); @@ -525,7 +524,7 @@ void NEWinogradConvolutionLayer::run() NEScheduler::get().schedule(_transform_input_kernel.get(), Window::DimX); //Run 16 GEMMs in multiple threads, each kernel runs one or more GEMMs - _asm_glue.run(); + _gemm_function.run(); // Transform output tensor to the spatial domain NEScheduler::get().schedule(_transform_output_kernel.get(), Window::DimX); -- cgit v1.2.1