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
diff --git a/src/backends/cl/ClLayerSupport.cpp b/src/backends/cl/ClLayerSupport.cpp
index 7418dbd..c8d3816 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 @@
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);
+ 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;
}
- 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);
- }
-
- return false;
}
bool ClLayerSupport::IsFloorSupported(const TensorInfo& input,