diff options
author | Matthew Bentham <Matthew.Bentham@arm.com> | 2023-04-27 12:13:50 +0000 |
---|---|---|
committer | Matthew Bentham <matthew.bentham@arm.com> | 2023-04-28 14:56:58 +0000 |
commit | 34336f9378eca4d39913ac0d9ba411a494631ad5 (patch) | |
tree | 551e3904ad77c4a15f431516109d55a5cdd63e2a /src/backends/neon/NeonLayerSupport.cpp | |
parent | 6c53f9fbea7d0b8786e1d29b850ab7bed85e167a (diff) | |
download | armnn-34336f9378eca4d39913ac0d9ba411a494631ad5.tar.gz |
Make Convert workloads use arm_compute::NECast in CpuAcc backend
NECast can use conversion instructions where they are available
so this should in general be faster.
Signed-off-by: Matthew Bentham <Matthew.Bentham@arm.com>
Change-Id: I3f259e17b280a4f4c36f363965ffbc8ee8c4c29f
Diffstat (limited to 'src/backends/neon/NeonLayerSupport.cpp')
-rw-r--r-- | src/backends/neon/NeonLayerSupport.cpp | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/src/backends/neon/NeonLayerSupport.cpp b/src/backends/neon/NeonLayerSupport.cpp index 672b2f377f..4e4d7fa73d 100644 --- a/src/backends/neon/NeonLayerSupport.cpp +++ b/src/backends/neon/NeonLayerSupport.cpp @@ -32,6 +32,8 @@ #include "workloads/NeonComparisonWorkload.hpp" #include "workloads/NeonConcatWorkload.hpp" #include "workloads/NeonConstantWorkload.hpp" +#include "workloads/NeonConvertFp16ToFp32Workload.hpp" +#include "workloads/NeonConvertFp32ToFp16Workload.hpp" #include "workloads/NeonConvolution2dWorkload.hpp" #include "workloads/NeonConvolution3dWorkload.hpp" #include "workloads/NeonDepthToSpaceWorkload.hpp" @@ -887,20 +889,20 @@ bool NeonLayerSupport::IsConvertFp16ToFp32Supported(const TensorInfo& input, const TensorInfo& output, Optional<std::string&> reasonIfUnsupported) const { - armnn::IgnoreUnused(input); - armnn::IgnoreUnused(output); - armnn::IgnoreUnused(reasonIfUnsupported); - return true; + FORWARD_WORKLOAD_VALIDATE_FUNC(NeonConvertFp16ToFp32WorkloadValidate, + reasonIfUnsupported, + input, + output); } bool NeonLayerSupport::IsConvertFp32ToFp16Supported(const TensorInfo& input, const TensorInfo& output, Optional<std::string&> reasonIfUnsupported) const { - armnn::IgnoreUnused(input); - armnn::IgnoreUnused(output); - armnn::IgnoreUnused(reasonIfUnsupported); - return true; + FORWARD_WORKLOAD_VALIDATE_FUNC(NeonConvertFp32ToFp16WorkloadValidate, + reasonIfUnsupported, + input, + output); } bool NeonLayerSupport::IsConvolution2dSupported(const TensorInfo& input, |