diff options
author | Sadik Armagan <sadik.armagan@arm.com> | 2020-05-27 13:40:58 +0100 |
---|---|---|
committer | Sadik Armagan <sadik.armagan@arm.com> | 2020-05-27 12:41:44 +0000 |
commit | 9fabf4336bb1e966f3fa192106dcb46562deebcd (patch) | |
tree | 1e10d48ec718b68efe50dbb6e0d22c77d5cb5ee8 /src/backends/cl/ClLayerSupport.cpp | |
parent | 855a47b1b0a78c839a674cc1e61d0668b8c4e349 (diff) | |
download | armnn-9fabf4336bb1e966f3fa192106dcb46562deebcd.tar.gz |
IVGCVSW-4200 Add CL EXP Workload
IVGCVSW-4203 Add Neon EXP Workload
* Added CL EXP operator workload
* Added EXP test suite
* Enabled EXP tests on ACL and Ref
Signed-off-by: Sadik Armagan <sadik.armagan@arm.com>
Change-Id: I793d31af1b2e3fe86b0bec6d9e5de503c5dab970
Diffstat (limited to 'src/backends/cl/ClLayerSupport.cpp')
-rw-r--r-- | src/backends/cl/ClLayerSupport.cpp | 45 |
1 files changed, 24 insertions, 21 deletions
diff --git a/src/backends/cl/ClLayerSupport.cpp b/src/backends/cl/ClLayerSupport.cpp index 7418dbd9e4..c8d3816a4c 100644 --- a/src/backends/cl/ClLayerSupport.cpp +++ b/src/backends/cl/ClLayerSupport.cpp @@ -31,6 +31,7 @@ #include "workloads/ClDepthwiseConvolutionWorkload.hpp" #include "workloads/ClDequantizeWorkload.hpp" #include "workloads/ClDivisionFloatWorkload.hpp" +#include "workloads/ClExpWorkload.hpp" #include "workloads/ClFloorFloatWorkload.hpp" #include "workloads/ClFullyConnectedWorkload.hpp" #include "workloads/ClInstanceNormalizationWorkload.hpp" @@ -399,29 +400,31 @@ bool ClLayerSupport::IsElementwiseUnarySupported(const TensorInfo& input, const ElementwiseUnaryDescriptor& descriptor, Optional<std::string&> reasonIfUnsupported) const { - if (descriptor.m_Operation == UnaryOperation::Abs) + switch(descriptor.m_Operation) { - FORWARD_WORKLOAD_VALIDATE_FUNC(ClAbsWorkloadValidate, - reasonIfUnsupported, - input, - output); - } - else if (descriptor.m_Operation == UnaryOperation::Rsqrt) - { - FORWARD_WORKLOAD_VALIDATE_FUNC(ClRsqrtWorkloadValidate, - reasonIfUnsupported, - input, - output); - } - else if (descriptor.m_Operation == UnaryOperation::Neg) - { - FORWARD_WORKLOAD_VALIDATE_FUNC(ClNegWorkloadValidate, - reasonIfUnsupported, - input, - output); + case UnaryOperation::Abs: + FORWARD_WORKLOAD_VALIDATE_FUNC(ClAbsWorkloadValidate, + reasonIfUnsupported, + input, + output); + case UnaryOperation::Exp: + FORWARD_WORKLOAD_VALIDATE_FUNC(ClExpWorkloadValidate, + reasonIfUnsupported, + input, + output); + case UnaryOperation::Neg: + FORWARD_WORKLOAD_VALIDATE_FUNC(ClNegWorkloadValidate, + reasonIfUnsupported, + input, + output); + case UnaryOperation::Rsqrt: + FORWARD_WORKLOAD_VALIDATE_FUNC(ClRsqrtWorkloadValidate, + reasonIfUnsupported, + input, + output); + default: + return false; } - - return false; } bool ClLayerSupport::IsFloorSupported(const TensorInfo& input, |