diff options
author | Francis Murtagh <francis.murtagh@arm.com> | 2018-09-24 15:01:18 +0100 |
---|---|---|
committer | Matthew Bentham <matthew.bentham@arm.com> | 2018-10-10 16:16:57 +0100 |
commit | 351d13d0b5fa698b72130012b2f069d30b911cb3 (patch) | |
tree | b9417a78336e3e1b4c7d8775a2b3fd5bce0d624a /src/backends/ClWorkloads | |
parent | 2ca4696639c9d2361b24adbd9a33225d18527fde (diff) | |
download | armnn-351d13d0b5fa698b72130012b2f069d30b911cb3.tar.gz |
IVGCVSW-1888 Plumb data layout parameter for Convolution2D
* Added the DataLayout parameter to the Convolution2dDescriptor
* Added the DataLayout parameter the Convolution2dQueueDescriptor
* Set the DataLayout on the Descriptor in CreateWorkload()
* Added overloaded factory methods for CreateTensorHandle()
* Updated BuildArmComputeTensorInfo() to take DataLayout parameter.
* Updated handles to take DataLayout parameter
* Updated (Cl/Neon)Convolution2dWorkloadValidate
* Updated (Cl/Neon)Convolution2dFloatWorkload
* Updated (Cl/Neon)Convolution2dUint8Workload
Change-Id: I8410668b3d727ca587bee66755cc4c4c78422f1f
Diffstat (limited to 'src/backends/ClWorkloads')
3 files changed, 8 insertions, 8 deletions
diff --git a/src/backends/ClWorkloads/ClConvolution2dBaseWorkload.cpp b/src/backends/ClWorkloads/ClConvolution2dBaseWorkload.cpp index 228f17d54e..110a2dab3a 100644 --- a/src/backends/ClWorkloads/ClConvolution2dBaseWorkload.cpp +++ b/src/backends/ClWorkloads/ClConvolution2dBaseWorkload.cpp @@ -21,9 +21,9 @@ arm_compute::Status ClConvolution2dWorkloadValidate(const TensorInfo& input, const TensorInfo& weights, const boost::optional<TensorInfo>& biases) { - const arm_compute::TensorInfo aclInputInfo = BuildArmComputeTensorInfo(input); - const arm_compute::TensorInfo aclOutputInfo = BuildArmComputeTensorInfo(output); - const arm_compute::TensorInfo aclWeightsInfo = BuildArmComputeTensorInfo(weights); + const arm_compute::TensorInfo aclInputInfo = BuildArmComputeTensorInfo(input, descriptor.m_DataLayout); + const arm_compute::TensorInfo aclOutputInfo = BuildArmComputeTensorInfo(output, descriptor.m_DataLayout); + const arm_compute::TensorInfo aclWeightsInfo = BuildArmComputeTensorInfo(weights, descriptor.m_DataLayout); arm_compute::TensorInfo aclBiasesInfo; arm_compute::TensorInfo *optionalAclBiasesInfo = nullptr; @@ -32,7 +32,7 @@ arm_compute::Status ClConvolution2dWorkloadValidate(const TensorInfo& input, { BOOST_ASSERT(biases.is_initialized()); - aclBiasesInfo = BuildArmComputeTensorInfo(biases.get()); + aclBiasesInfo = BuildArmComputeTensorInfo(biases.get(), descriptor.m_DataLayout); optionalAclBiasesInfo = &aclBiasesInfo; } diff --git a/src/backends/ClWorkloads/ClConvolution2dFloatWorkload.cpp b/src/backends/ClWorkloads/ClConvolution2dFloatWorkload.cpp index f0b9a46d60..3da6fa7d8f 100644 --- a/src/backends/ClWorkloads/ClConvolution2dFloatWorkload.cpp +++ b/src/backends/ClWorkloads/ClConvolution2dFloatWorkload.cpp @@ -25,7 +25,7 @@ ClConvolution2dFloatWorkload::ClConvolution2dFloatWorkload(const Convolution2dQu const TensorInfo& weightInfo = m_Data.m_Weight->GetTensorInfo(); m_KernelTensor = std::make_unique<arm_compute::CLTensor>(); - BuildArmComputeTensor(*m_KernelTensor, weightInfo); + BuildArmComputeTensor(*m_KernelTensor, weightInfo, descriptor.m_DataLayout); arm_compute::PadStrideInfo padStrideInfo(m_Data.m_Parameters.m_StrideX, m_Data.m_Parameters.m_StrideY, @@ -38,7 +38,7 @@ ClConvolution2dFloatWorkload::ClConvolution2dFloatWorkload(const Convolution2dQu if (m_Data.m_Parameters.m_BiasEnabled) { m_BiasTensor = std::make_unique<arm_compute::CLTensor>(); - BuildArmComputeTensor(*m_BiasTensor, m_Data.m_Bias->GetTensorInfo()); + BuildArmComputeTensor(*m_BiasTensor, m_Data.m_Bias->GetTensorInfo(), descriptor.m_DataLayout); } m_Data.ValidateInputsOutputs("ClConvolution2dFloat32Workload", 1, 1); diff --git a/src/backends/ClWorkloads/ClConvolution2dUint8Workload.cpp b/src/backends/ClWorkloads/ClConvolution2dUint8Workload.cpp index c9f5eaa31d..3949a74c96 100644 --- a/src/backends/ClWorkloads/ClConvolution2dUint8Workload.cpp +++ b/src/backends/ClWorkloads/ClConvolution2dUint8Workload.cpp @@ -24,7 +24,7 @@ ClConvolution2dUint8Workload::ClConvolution2dUint8Workload(const Convolution2dQu const TensorInfo& weightInfo = m_Data.m_Weight->GetTensorInfo(); m_KernelTensor = std::make_unique<arm_compute::CLTensor>(); - BuildArmComputeTensor(*m_KernelTensor, weightInfo); + BuildArmComputeTensor(*m_KernelTensor, weightInfo, descriptor.m_DataLayout); arm_compute::PadStrideInfo padStrideInfo(m_Data.m_Parameters.m_StrideX, m_Data.m_Parameters.m_StrideY, @@ -37,7 +37,7 @@ ClConvolution2dUint8Workload::ClConvolution2dUint8Workload(const Convolution2dQu if (m_Data.m_Parameters.m_BiasEnabled) { m_BiasTensor = std::make_unique<arm_compute::CLTensor>(); - BuildArmComputeTensor(*m_BiasTensor, m_Data.m_Bias->GetTensorInfo()); + BuildArmComputeTensor(*m_BiasTensor, m_Data.m_Bias->GetTensorInfo(), descriptor.m_DataLayout); } m_Data.ValidateInputsOutputs("ClConvolution2dUint8Workload", 1, 1); |