aboutsummaryrefslogtreecommitdiff
path: root/src/backends/neon/NeonLayerSupport.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/backends/neon/NeonLayerSupport.cpp')
-rw-r--r--src/backends/neon/NeonLayerSupport.cpp24
1 files changed, 24 insertions, 0 deletions
diff --git a/src/backends/neon/NeonLayerSupport.cpp b/src/backends/neon/NeonLayerSupport.cpp
index 5410ef42df..ed0f41a888 100644
--- a/src/backends/neon/NeonLayerSupport.cpp
+++ b/src/backends/neon/NeonLayerSupport.cpp
@@ -279,6 +279,12 @@ bool NeonLayerSupport::IsConvolution2dSupported(const TensorInfo& input,
return false;
}
+ // Multiplier > 1.0f currently not supported in ACL
+ if ((input.GetQuantizationScale() * weights.GetQuantizationScale()) / output.GetQuantizationScale() > 1.0f)
+ {
+ return false;
+ }
+
FORWARD_WORKLOAD_VALIDATE_FUNC(NeonConvolution2dWorkloadValidate,
reasonIfUnsupported,
input,
@@ -312,6 +318,12 @@ bool NeonLayerSupport::IsDepthwiseConvolutionSupported(const TensorInfo& input,
return false;
}
+ // Multiplier > 1.0f currently not supported in ACL
+ if ((input.GetQuantizationScale() * weights.GetQuantizationScale()) / output.GetQuantizationScale() > 1.0f)
+ {
+ return false;
+ }
+
FORWARD_WORKLOAD_VALIDATE_FUNC(NeonDepthwiseConvolutionWorkloadValidate,
reasonIfUnsupported,
input,
@@ -338,6 +350,12 @@ bool NeonLayerSupport::IsDilatedDepthwiseConvolutionSupported(const TensorInfo&
const Optional<TensorInfo>& biases,
Optional<std::string&> reasonIfUnsupported) const
{
+ // Multiplier > 1.0f currently not supported in ACL
+ if ((input.GetQuantizationScale() * weights.GetQuantizationScale()) / output.GetQuantizationScale() > 1.0f)
+ {
+ return false;
+ }
+
FORWARD_WORKLOAD_VALIDATE_FUNC(NeonDepthwiseConvolutionWorkloadValidate,
reasonIfUnsupported,
input,
@@ -738,6 +756,12 @@ bool NeonLayerSupport::IsTransposeConvolution2dSupported(const TensorInfo& input
const Optional<TensorInfo>& biases,
Optional<std::string&> reasonIfUnsupported) const
{
+ // Multiplier > 1.0f currently not supported in ACL
+ if ((input.GetQuantizationScale() * weights.GetQuantizationScale()) / output.GetQuantizationScale() > 1.0f)
+ {
+ return false;
+ }
+
FORWARD_WORKLOAD_VALIDATE_FUNC(NeonTransposeConvolution2dWorkloadValidate,
reasonIfUnsupported,
input,