From 0d0028ca25a47dd51260e2555b336fc9f09d1df1 Mon Sep 17 00:00:00 2001 From: Manuel Bottini Date: Tue, 2 Oct 2018 16:41:52 +0100 Subject: COMPMID-1298: Fuse ReLu activation in CLWinogradOutputTransform Change-Id: I9e6e43a5839d04c2e4b4552c05446efb0a5074cf Reviewed-on: https://review.mlplatform.org/232 Tested-by: Arm Jenkins Reviewed-by: Georgios Pinitas --- .../CL/functions/CLWinogradConvolutionLayer.cpp | 18 +++--------------- 1 file changed, 3 insertions(+), 15 deletions(-) (limited to 'src/runtime/CL') diff --git a/src/runtime/CL/functions/CLWinogradConvolutionLayer.cpp b/src/runtime/CL/functions/CLWinogradConvolutionLayer.cpp index 1abcb67132..069196e8c1 100644 --- a/src/runtime/CL/functions/CLWinogradConvolutionLayer.cpp +++ b/src/runtime/CL/functions/CLWinogradConvolutionLayer.cpp @@ -84,8 +84,8 @@ bool check_support_fast_math(const Size2D &output_tile, const Size2D &kernel_siz } // namespace CLWinogradConvolutionLayer::CLWinogradConvolutionLayer(std::shared_ptr memory_manager) - : _memory_group(memory_manager), _batched_mm(memory_manager), _input_transform(), _filter_transform(), _output_transform(), _activationlayer_function(), _input0(), _input1(), _batched_mm_output(), - _original_weights(nullptr), _is_prepared(false), _is_activationlayer_enabled(false) + : _memory_group(memory_manager), _batched_mm(memory_manager), _input_transform(), _filter_transform(), _output_transform(), _input0(), _input1(), _batched_mm_output(), _original_weights(nullptr), + _is_prepared(false) { } @@ -133,14 +133,7 @@ void CLWinogradConvolutionLayer::configure(ICLTensor *input, const ICLTensor *we (input->info()->data_type() == DataType::F16))); // Configure output transform - _output_transform.configure(&_batched_mm_output, biases, output, winograd_info); - - // Configure activation layer - _is_activationlayer_enabled = act_info.enabled(); - if(_is_activationlayer_enabled) - { - _activationlayer_function.configure(output, nullptr, act_info); - } + _output_transform.configure(&_batched_mm_output, biases, output, winograd_info, act_info); // Allocate temporary tensors _input0.allocator()->allocate(); @@ -216,11 +209,6 @@ void CLWinogradConvolutionLayer::run() // Run output transform CLScheduler::get().enqueue(_output_transform); - if(_is_activationlayer_enabled) - { - _activationlayer_function.run(); - } - _memory_group.release(); } -- cgit v1.2.1