aboutsummaryrefslogtreecommitdiff
path: root/src/runtime/CL
diff options
context:
space:
mode:
authorManuel Bottini <manuel.bottini@arm.com>2018-10-02 16:41:52 +0100
committerGeorgios Pinitas <georgios.pinitas@arm.com>2018-12-05 11:37:14 +0000
commit0d0028ca25a47dd51260e2555b336fc9f09d1df1 (patch)
tree968e8f126a9c7d5d7d4159fbb7d906d47ad077f2 /src/runtime/CL
parent8bf622a44c70564d6a7c712473cdfac3e50ac62d (diff)
downloadComputeLibrary-0d0028ca25a47dd51260e2555b336fc9f09d1df1.tar.gz
COMPMID-1298: Fuse ReLu activation in CLWinogradOutputTransform
Change-Id: I9e6e43a5839d04c2e4b4552c05446efb0a5074cf Reviewed-on: https://review.mlplatform.org/232 Tested-by: Arm Jenkins <bsgcomp@arm.com> Reviewed-by: Georgios Pinitas <georgios.pinitas@arm.com>
Diffstat (limited to 'src/runtime/CL')
-rw-r--r--src/runtime/CL/functions/CLWinogradConvolutionLayer.cpp18
1 files changed, 3 insertions, 15 deletions
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<IMemoryManager> 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();
}