diff options
author | James Conroy <james.conroy@arm.com> | 2019-11-19 15:28:58 +0000 |
---|---|---|
committer | James Conroy <james.conroy@arm.com> | 2019-11-21 16:40:56 +0000 |
commit | b86a382417017a4b31bee38eb8291233758ea7d1 (patch) | |
tree | f446b2925ffa823c3bd78078e680dca038538549 /src/backends/cl/ClLayerSupport.cpp | |
parent | 4cace320a75de835c08a87bb8aa3cfd0cd18ddfd (diff) | |
download | armnn-b86a382417017a4b31bee38eb8291233758ea7d1.tar.gz |
IVGCVSW-4148 Report quant multiplier > 1 as unsupported for ACL
* This is a temporary measure that needs to be
removed when quantization multiplier > 1.0f
support has been added for NEON and CL.
* Layers affected: convolution, depthwise convolution,
dilated depthwise convolution and transpose
convolution.
Signed-off-by: James Conroy <james.conroy@arm.com>
Change-Id: Ief1aec2ff0eedf8250f6a8675288e1c343dcfce4
Diffstat (limited to 'src/backends/cl/ClLayerSupport.cpp')
-rw-r--r-- | src/backends/cl/ClLayerSupport.cpp | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/src/backends/cl/ClLayerSupport.cpp b/src/backends/cl/ClLayerSupport.cpp index 612af6be2c..7a1c573c0f 100644 --- a/src/backends/cl/ClLayerSupport.cpp +++ b/src/backends/cl/ClLayerSupport.cpp @@ -328,6 +328,12 @@ bool ClLayerSupport::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(ClConvolution2dWorkloadValidate, reasonIfUnsupported, input, @@ -371,6 +377,12 @@ bool ClLayerSupport::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(ClDepthwiseConvolutionWorkloadValidate, reasonIfUnsupported, input, @@ -387,6 +399,12 @@ bool ClLayerSupport::IsDilatedDepthwiseConvolutionSupported(const TensorInfo& in 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(ClDepthwiseConvolutionWorkloadValidate, reasonIfUnsupported, input, @@ -792,6 +810,12 @@ bool ClLayerSupport::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(ClTransposeConvolution2dWorkloadValidate, reasonIfUnsupported, input, |