aboutsummaryrefslogtreecommitdiff
path: root/src/backends/cl/workloads/ClConvolution2dWorkload.cpp
diff options
context:
space:
mode:
authorTeresa Charlin <teresa.charlinreyes@arm.com>2023-03-30 13:56:34 +0100
committerTeresa Charlin <teresa.charlinreyes@arm.com>2023-05-08 18:18:39 +0100
commitee1497c400db10134ab540005e105f64bd0f486a (patch)
tree807a47a2854fe6f472f9af2c9ec4b65643912b80 /src/backends/cl/workloads/ClConvolution2dWorkload.cpp
parenta3dc95ec2b0ac9e7f87dd32d03679a4b2a9b5d2a (diff)
downloadarmnn-ee1497c400db10134ab540005e105f64bd0f486a.tar.gz
IVGCVSW-7454 Enable NonConstWeights in GpuAcc
* Set flag for constant weights and bias in ACL tensorInfo in ACl workloads * Set flag for constant weights and bias in Unit Tests * Add to dot file for FullyConnected layer the constantWeights flag Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com> Change-Id: I87e1fef516ce4a8a59245dfdf7d92c153418e1d6
Diffstat (limited to 'src/backends/cl/workloads/ClConvolution2dWorkload.cpp')
-rw-r--r--src/backends/cl/workloads/ClConvolution2dWorkload.cpp8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/backends/cl/workloads/ClConvolution2dWorkload.cpp b/src/backends/cl/workloads/ClConvolution2dWorkload.cpp
index 1920f2d20b..d6a72e6488 100644
--- a/src/backends/cl/workloads/ClConvolution2dWorkload.cpp
+++ b/src/backends/cl/workloads/ClConvolution2dWorkload.cpp
@@ -1,5 +1,5 @@
//
-// Copyright © 2017 Arm Ltd and Contributors. All rights reserved.
+// Copyright © 2017, 2023 Arm Ltd and Contributors. All rights reserved.
// SPDX-License-Identifier: MIT
//
@@ -88,9 +88,15 @@ ClConvolution2dWorkload::ClConvolution2dWorkload(const Convolution2dQueueDescrip
arm_compute::ICLTensor& input = static_cast<IClTensorHandle*>(m_Data.m_Inputs[0])->GetTensor();
arm_compute::ICLTensor& output = static_cast<IClTensorHandle*>(m_Data.m_Outputs[0])->GetTensor();
arm_compute::ICLTensor& weights = static_cast<IClTensorHandle*>(m_Data.m_Inputs[1])->GetTensor();
+ weights.info()->set_are_values_constant(info.m_InputTensorInfos[1].IsConstant());
+
if (m_Data.m_Parameters.m_BiasEnabled)
{
arm_compute::ICLTensor& bias = static_cast<IClTensorHandle*>(m_Data.m_Inputs[2])->GetTensor();
+ bias.info()->set_are_values_constant(info.m_InputTensorInfos[2].IsConstant());
+ // We do not support dynamic bias
+ ARMNN_ASSERT(info.m_InputTensorInfos[2].IsConstant() == true);
+
m_BiasProxy = std::make_unique<ICLTensorProxy>(&bias);
}