aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSadik Armagan <sadik.armagan@arm.com>2019-10-30 16:15:26 +0000
committerNarumol Prangnawarat <narumol.prangnawarat@arm.com>2019-10-31 08:16:21 +0000
commit9be4916397a3de0cc92824fe2ce92854cfc2d997 (patch)
treee534632f88f6b78e4f8b4b01dbca604c0da3201f
parent94a3088479694ee1dfdd2e321a353ffcc79f4126 (diff)
downloadarmnn-9be4916397a3de0cc92824fe2ce92854cfc2d997.tar.gz
IVGCVSW-4039 AndroidQ (HAL 1.2) driver support for Fp16
* Call ACL Validate function for validating Floor operator on CL backend Signed-off-by: Sadik Armagan <sadik.armagan@arm.com> Change-Id: I2206ec86de6eabd18c12d023116d1f4c24487e0d
-rw-r--r--src/backends/cl/ClLayerSupport.cpp14
-rw-r--r--src/backends/cl/workloads/ClFloorFloatWorkload.cpp9
-rw-r--r--src/backends/cl/workloads/ClFloorFloatWorkload.hpp3
3 files changed, 17 insertions, 9 deletions
diff --git a/src/backends/cl/ClLayerSupport.cpp b/src/backends/cl/ClLayerSupport.cpp
index bd2be57386..f9540f27b0 100644
--- a/src/backends/cl/ClLayerSupport.cpp
+++ b/src/backends/cl/ClLayerSupport.cpp
@@ -28,6 +28,7 @@
#include "workloads/ClDepthwiseConvolutionWorkload.hpp"
#include "workloads/ClDequantizeWorkload.hpp"
#include "workloads/ClDivisionFloatWorkload.hpp"
+#include "workloads/ClFloorFloatWorkload.hpp"
#include "workloads/ClFullyConnectedWorkload.hpp"
#include "workloads/ClGreaterWorkload.hpp"
#include "workloads/ClInstanceNormalizationWorkload.hpp"
@@ -384,15 +385,10 @@ bool ClLayerSupport::IsFloorSupported(const TensorInfo& input,
const TensorInfo& output,
Optional<std::string&> reasonIfUnsupported) const
{
- ignore_unused(output);
- return IsClBackendSupported(reasonIfUnsupported) &&
- IsSupportedForDataTypeGeneric(reasonIfUnsupported,
- input.GetDataType(),
- &FalseFuncF16<>,
- &TrueFunc<>,
- &FalseFuncU8<>,
- &FalseFuncI32<>,
- &FalseFuncU8<>);
+ FORWARD_WORKLOAD_VALIDATE_FUNC(ClFloorWorkloadValidate,
+ reasonIfUnsupported,
+ input,
+ output);
}
bool ClLayerSupport::IsFullyConnectedSupported(const TensorInfo& input,
diff --git a/src/backends/cl/workloads/ClFloorFloatWorkload.cpp b/src/backends/cl/workloads/ClFloorFloatWorkload.cpp
index 68a89c7106..f38342ed39 100644
--- a/src/backends/cl/workloads/ClFloorFloatWorkload.cpp
+++ b/src/backends/cl/workloads/ClFloorFloatWorkload.cpp
@@ -11,6 +11,15 @@
namespace armnn
{
+arm_compute::Status ClFloorWorkloadValidate(const TensorInfo& input,
+ const TensorInfo& output)
+{
+ const arm_compute::TensorInfo aclInput = armcomputetensorutils::BuildArmComputeTensorInfo(input);
+ const arm_compute::TensorInfo aclOutput = armcomputetensorutils::BuildArmComputeTensorInfo(output);
+
+ return arm_compute::CLFloor::validate(&aclInput, &aclOutput);
+}
+
ClFloorFloatWorkload::ClFloorFloatWorkload(const FloorQueueDescriptor& descriptor, const WorkloadInfo& info)
: FloatWorkload<FloorQueueDescriptor>(descriptor, info)
{
diff --git a/src/backends/cl/workloads/ClFloorFloatWorkload.hpp b/src/backends/cl/workloads/ClFloorFloatWorkload.hpp
index bfe32df088..376ca3ef02 100644
--- a/src/backends/cl/workloads/ClFloorFloatWorkload.hpp
+++ b/src/backends/cl/workloads/ClFloorFloatWorkload.hpp
@@ -12,6 +12,9 @@
namespace armnn
{
+arm_compute::Status ClFloorWorkloadValidate(const TensorInfo& input,
+ const TensorInfo& output);
+
class ClFloorFloatWorkload : public FloatWorkload<FloorQueueDescriptor>
{
public: