aboutsummaryrefslogtreecommitdiff
path: root/src/backends/neon/NeonLayerSupport.cpp
diff options
context:
space:
mode:
authorMatthew Bentham <Matthew.Bentham@arm.com>2023-04-27 12:13:50 +0000
committerMatthew Bentham <matthew.bentham@arm.com>2023-04-28 14:56:58 +0000
commit34336f9378eca4d39913ac0d9ba411a494631ad5 (patch)
tree551e3904ad77c4a15f431516109d55a5cdd63e2a /src/backends/neon/NeonLayerSupport.cpp
parent6c53f9fbea7d0b8786e1d29b850ab7bed85e167a (diff)
downloadarmnn-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.cpp18
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,