From 53d858b6a20590cf1e20aa5dbb5e63158985b9d0 Mon Sep 17 00:00:00 2001 From: Colm Donelan Date: Wed, 19 Jul 2023 11:37:26 +0100 Subject: IVGCVSW-7849 and IVGCVSW-7825 block non const bias on NEON CONV2D. * There's currently a problem with using a non const bias value in NeonConvolution2d. We will block it for the moment. Signed-off-by: Colm Donelan Change-Id: Ia020cf48f7d5e0642f7763e82501f06ad89945d8 --- src/backends/neon/workloads/NeonConvolution2dWorkload.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/backends/neon/workloads/NeonConvolution2dWorkload.cpp b/src/backends/neon/workloads/NeonConvolution2dWorkload.cpp index 3e846fe05f..ae13b970c9 100644 --- a/src/backends/neon/workloads/NeonConvolution2dWorkload.cpp +++ b/src/backends/neon/workloads/NeonConvolution2dWorkload.cpp @@ -47,6 +47,12 @@ arm_compute::Status NeonConvolution2dWorkloadValidate(const TensorInfo& input, return arm_compute::Status{arm_compute::ErrorCode::RUNTIME_ERROR, "ArmNN NeonConvolution2dWorkload has empty bias value."}; } + // There's currently a problem with non const bias, so we'll explicitly block it here. + if (!biases.value().IsConstant()) + { + return arm_compute::Status{arm_compute::ErrorCode::RUNTIME_ERROR, + "ArmNN NeonConvolution2dWorkload does not support non constant bias."}; + } aclBiasesInfo = BuildArmComputeTensorInfo(biases.value(), descriptor.m_DataLayout); aclBiasesInfo.set_are_values_constant(biases.value().IsConstant()); optionalAclBiasesInfo = &aclBiasesInfo; @@ -95,6 +101,8 @@ NeonConvolution2dWorkload::NeonConvolution2dWorkload( m_BiasTensor = std::make_unique(); BuildArmComputeTensor(*m_BiasTensor, info.m_InputTensorInfos[2], m_Data.m_Parameters.m_DataLayout); m_BiasTensor->info()->set_are_values_constant(info.m_InputTensorInfos[2].IsConstant()); + // We assume here that NeonConvolution2dWorkloadValidate has been called before the constructor. + ARMNN_ASSERT(info.m_InputTensorInfos[2].IsConstant() == true); } arm_compute::PadStrideInfo padStrideInfo = BuildArmComputePadStrideInfo(m_Data.m_Parameters); -- cgit v1.2.1