aboutsummaryrefslogtreecommitdiff
path: root/src/runtime/NEON/functions/NEWinogradConvolutionLayer.cpp
diff options
context:
space:
mode:
authorPablo Tello <pablo.tello@arm.com>2018-09-19 11:33:03 +0100
committerAnthony Barbier <Anthony.barbier@arm.com>2018-11-08 09:08:50 +0000
commita518f3009a921d1aa21953bc72f8ce00a69af050 (patch)
tree4394f1eee44b5c561c335daefa4e6b7d52767ab6 /src/runtime/NEON/functions/NEWinogradConvolutionLayer.cpp
parentbdbbbe860cecacaa911578520355c6770475695a (diff)
downloadComputeLibrary-a518f3009a921d1aa21953bc72f8ce00a69af050.tar.gz
COMPMID-1773: Replaced Gemm wrapper for NEGEMM in NEWinograd
Change-Id: I68c648a5246fcdc67a496602089f93d65eb1d601
Diffstat (limited to 'src/runtime/NEON/functions/NEWinogradConvolutionLayer.cpp')
-rw-r--r--src/runtime/NEON/functions/NEWinogradConvolutionLayer.cpp7
1 files changed, 3 insertions, 4 deletions
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<IMemoryManager> 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);