From 4fc3c48c2d230d8c55aa01aa98e32b6df7cafc0c Mon Sep 17 00:00:00 2001 From: Francis Murtagh Date: Fri, 2 Aug 2019 13:20:54 +0100 Subject: IVGCVSW-3341 Add Neon backend support for Quantized_LSTM (16bit cell state) * Add Neon Workload * Update NeonWorkloads.hpp * Update NeonWorkloadFactory * Update NeonLayerSupport * Update backends.mk and CMakeLists.txt * Add NeonCreateWorkload test * Enable LayerTest !android-nn-driver:1685 Change-Id: Idd799bbf039acf0d59084d02c3b57766ce3691b5 Signed-off-by: Francis Murtagh Signed-off-by: Matthew Bentham --- src/backends/neon/NeonLayerSupport.cpp | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'src/backends/neon/NeonLayerSupport.cpp') diff --git a/src/backends/neon/NeonLayerSupport.cpp b/src/backends/neon/NeonLayerSupport.cpp index dac3525f60..b61279c133 100644 --- a/src/backends/neon/NeonLayerSupport.cpp +++ b/src/backends/neon/NeonLayerSupport.cpp @@ -39,6 +39,7 @@ #include "workloads/NeonPooling2dWorkload.hpp" #include "workloads/NeonPreluWorkload.hpp" #include "workloads/NeonQuantizeWorkload.hpp" +#include "workloads/NeonQuantizedLstmWorkload.hpp" #include "workloads/NeonResizeWorkload.hpp" #include "workloads/NeonSoftmaxBaseWorkload.hpp" #include "workloads/NeonSpaceToDepthWorkload.hpp" @@ -487,6 +488,24 @@ bool NeonLayerSupport::IsQuantizeSupported(const TensorInfo& input, output); } +bool NeonLayerSupport::IsQuantizedLstmSupported(const TensorInfo& input, + const TensorInfo& cellStateIn, + const TensorInfo& outputStateIn, + const TensorInfo& cellStateOut, + const TensorInfo& outputStateOut, + const QuantizedLstmInputParamsInfo& paramsInfo, + Optional reasonIfUnsupported) const +{ + FORWARD_WORKLOAD_VALIDATE_FUNC(NeonQuantizedLstmWorkloadValidate, + reasonIfUnsupported, + input, + cellStateIn, + outputStateIn, + cellStateOut, + outputStateOut, + paramsInfo); +} + bool NeonLayerSupport::IsReshapeSupported(const TensorInfo& input, const ReshapeDescriptor& descriptor, Optional reasonIfUnsupported) const -- cgit v1.2.1