diff options
author | Michalis Spyrou <michalis.spyrou@arm.com> | 2020-06-23 17:25:43 +0100 |
---|---|---|
committer | Georgios Pinitas <georgios.pinitas@arm.com> | 2020-06-25 13:14:06 +0000 |
commit | 173ba9bbb19ea83f951318d9989e440768b4de8f (patch) | |
tree | 840a28e1cc4d0adf47097c8ab27092531c8e0958 /src/runtime/NEON/functions/NELSTMLayer.cpp | |
parent | 0f954eb6c8bf2f6c8600c56f21fec6aa9ebf082e (diff) | |
download | ComputeLibrary-173ba9bbb19ea83f951318d9989e440768b4de8f.tar.gz |
COMPMID-3373: Async support to NEArithmetic* kernels/functions (Pt. 1)
Added support on NEArithmeticAddition and NEArithmeticSubtraction
Signed-off-by: Michalis Spyrou <michalis.spyrou@arm.com>
Change-Id: Ifa805f8455ef6eff1ee627752dc1c7fe9740ec47
Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/3451
Tested-by: Arm Jenkins <bsgcomp@arm.com>
Reviewed-by: Georgios Pinitas <georgios.pinitas@arm.com>
Diffstat (limited to 'src/runtime/NEON/functions/NELSTMLayer.cpp')
-rw-r--r-- | src/runtime/NEON/functions/NELSTMLayer.cpp | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/src/runtime/NEON/functions/NELSTMLayer.cpp b/src/runtime/NEON/functions/NELSTMLayer.cpp index 0a111363e3..d8c684bf15 100644 --- a/src/runtime/NEON/functions/NELSTMLayer.cpp +++ b/src/runtime/NEON/functions/NELSTMLayer.cpp @@ -512,7 +512,7 @@ Status NELSTMLayer::validate(const ITensorInfo *input, } else { - ARM_COMPUTE_RETURN_ON_ERROR(NEArithmeticSubtractionKernel::validate(&forget_gate, &forget_gate, &forget_gate, ConvertPolicy::SATURATE)); + ARM_COMPUTE_RETURN_ON_ERROR(NEArithmeticSubtraction::validate(&forget_gate, &forget_gate, &forget_gate, ConvertPolicy::SATURATE)); } // Validate cell state @@ -610,7 +610,7 @@ void NELSTMLayer::run() { _mean_std_norm_forget_gate.run(); NEScheduler::get().schedule(&_pixelwise_mul_forget_gate_coeff, Window::DimY); - NEScheduler::get().schedule(&_accum_forget_gate_bias, Window::DimY); + _accum_forget_gate_bias.run(); } _activation_forget_gate.run(); @@ -624,7 +624,7 @@ void NELSTMLayer::run() { std::fill_n(reinterpret_cast<float *>(_ones.buffer()), _ones.info()->total_size() / _ones.info()->element_size(), 1); } - NEScheduler::get().schedule(&_subtract_input_gate, Window::DimY); + _subtract_input_gate.run(); } else { @@ -640,7 +640,7 @@ void NELSTMLayer::run() { _mean_std_norm_input_gate.run(); NEScheduler::get().schedule(&_pixelwise_mul_input_gate_coeff, Window::DimY); - NEScheduler::get().schedule(&_accum_input_gate_bias, Window::DimY); + _accum_input_gate_bias.run(); } _activation_input_gate.run(); } @@ -648,17 +648,17 @@ void NELSTMLayer::run() _fully_connected_cell_state.run(); NEScheduler::get().schedule(&_transpose_cell_state, Window::DimY); _gemm_cell_state1.run(); - NEScheduler::get().schedule(&_accum_cell_state1, Window::DimY); + _accum_cell_state1.run(); if(_is_layer_norm_lstm) { _mean_std_norm_cell_gate.run(); NEScheduler::get().schedule(&_pixelwise_mul_cell_gate_coeff, Window::DimY); - NEScheduler::get().schedule(&_accum_cell_gate_bias, Window::DimY); + _accum_cell_gate_bias.run(); } _activation_cell_state.run(); NEScheduler::get().schedule(&_pixelwise_mul_cell_state1, Window::DimY); NEScheduler::get().schedule(&_pixelwise_mul_cell_state2, Window::DimY); - NEScheduler::get().schedule(&_accum_cell_state2, Window::DimY); + _accum_cell_state2.run(); if(_perform_cell_clipping) { @@ -675,7 +675,7 @@ void NELSTMLayer::run() { _mean_std_norm_output_gate.run(); NEScheduler::get().schedule(&_pixelwise_mul_output_gate_coeff, Window::DimY); - NEScheduler::get().schedule(&_accum_output_gate_bias, Window::DimY); + _accum_output_gate_bias.run(); } _activation_output.run(); |