diff options
author | Sadik Armagan <sadik.armagan@arm.com> | 2019-10-30 16:15:26 +0000 |
---|---|---|
committer | Narumol Prangnawarat <narumol.prangnawarat@arm.com> | 2019-10-31 08:16:21 +0000 |
commit | 9be4916397a3de0cc92824fe2ce92854cfc2d997 (patch) | |
tree | e534632f88f6b78e4f8b4b01dbca604c0da3201f | |
parent | 94a3088479694ee1dfdd2e321a353ffcc79f4126 (diff) | |
download | armnn-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.cpp | 14 | ||||
-rw-r--r-- | src/backends/cl/workloads/ClFloorFloatWorkload.cpp | 9 | ||||
-rw-r--r-- | src/backends/cl/workloads/ClFloorFloatWorkload.hpp | 3 |
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: |