From e011d20f279e6e67e899bc6930b0266fc357bc1c Mon Sep 17 00:00:00 2001 From: Matteo Martincigh Date: Thu, 28 Nov 2019 11:35:47 +0000 Subject: IVGCVSW-4209 Create a public API for the ArmNN Utils * Moved the relevant armnnUtils headers to the new location: include/armnnUtils * Update the header usage throughout the source code !android-nn-driver:2387 Signed-off-by: Matteo Martincigh Change-Id: I2ba15cebcacafad2b5a1a7b9c3312ffc585e09d6 --- src/backends/reference/RefLayerSupport.cpp | 11 ++- src/backends/reference/workloads/ArgMinMax.cpp | 2 +- src/backends/reference/workloads/BaseIterator.hpp | 5 +- src/backends/reference/workloads/BatchNormImpl.cpp | 2 +- .../reference/workloads/BatchToSpaceNd.hpp | 11 ++- src/backends/reference/workloads/ConvImpl.hpp | 4 +- src/backends/reference/workloads/Decoders.hpp | 5 +- src/backends/reference/workloads/DepthToSpace.cpp | 4 +- src/backends/reference/workloads/Encoders.hpp | 3 +- src/backends/reference/workloads/InstanceNorm.cpp | 2 +- src/backends/reference/workloads/LogSoftmax.cpp | 2 +- src/backends/reference/workloads/Pooling2d.cpp | 3 +- .../workloads/RefConvertFp16ToFp32Workload.cpp | 4 +- .../workloads/RefConvertFp32ToFp16Workload.cpp | 6 +- .../workloads/RefL2NormalizationWorkload.cpp | 108 ++++++++++----------- .../workloads/RefNormalizationWorkload.cpp | 4 +- .../reference/workloads/RefPermuteWorkload.cpp | 3 +- src/backends/reference/workloads/Resize.hpp | 5 +- src/backends/reference/workloads/Softmax.cpp | 2 +- .../reference/workloads/SpaceToBatchNd.cpp | 2 +- src/backends/reference/workloads/SpaceToDepth.cpp | 2 +- .../reference/workloads/TensorBufferArrayView.hpp | 4 +- .../reference/workloads/TransposeConvolution2d.cpp | 2 +- 23 files changed, 102 insertions(+), 94 deletions(-) (limited to 'src/backends/reference') diff --git a/src/backends/reference/RefLayerSupport.cpp b/src/backends/reference/RefLayerSupport.cpp index 5a84d8ac78..05684dcbc0 100644 --- a/src/backends/reference/RefLayerSupport.cpp +++ b/src/backends/reference/RefLayerSupport.cpp @@ -6,17 +6,20 @@ #include "RefLayerSupport.hpp" #include "RefBackendId.hpp" -#include -#include -#include - #include #include #include +#include + +#include +#include + #include + #include +#include #include #include diff --git a/src/backends/reference/workloads/ArgMinMax.cpp b/src/backends/reference/workloads/ArgMinMax.cpp index 2687a4e8ac..76616f1465 100644 --- a/src/backends/reference/workloads/ArgMinMax.cpp +++ b/src/backends/reference/workloads/ArgMinMax.cpp @@ -5,7 +5,7 @@ #include "ArgMinMax.hpp" -#include +#include #include diff --git a/src/backends/reference/workloads/BaseIterator.hpp b/src/backends/reference/workloads/BaseIterator.hpp index 95a31fbdd6..ca5110c2fd 100644 --- a/src/backends/reference/workloads/BaseIterator.hpp +++ b/src/backends/reference/workloads/BaseIterator.hpp @@ -5,9 +5,10 @@ #pragma once -#include "FloatingPointConverter.hpp" - #include + +#include + #include #include diff --git a/src/backends/reference/workloads/BatchNormImpl.cpp b/src/backends/reference/workloads/BatchNormImpl.cpp index b80af8c937..e742c7280f 100644 --- a/src/backends/reference/workloads/BatchNormImpl.cpp +++ b/src/backends/reference/workloads/BatchNormImpl.cpp @@ -8,7 +8,7 @@ #include -#include +#include #include diff --git a/src/backends/reference/workloads/BatchToSpaceNd.hpp b/src/backends/reference/workloads/BatchToSpaceNd.hpp index b757d3709c..a375aaae52 100644 --- a/src/backends/reference/workloads/BatchToSpaceNd.hpp +++ b/src/backends/reference/workloads/BatchToSpaceNd.hpp @@ -5,15 +5,16 @@ #pragma once -#include - -#include -#include #include "BaseIterator.hpp" #include "Decoders.hpp" #include "Encoders.hpp" -#include +#include + +#include + +#include +#include namespace armnn { diff --git a/src/backends/reference/workloads/ConvImpl.hpp b/src/backends/reference/workloads/ConvImpl.hpp index 7dba760d87..562fd3e296 100644 --- a/src/backends/reference/workloads/ConvImpl.hpp +++ b/src/backends/reference/workloads/ConvImpl.hpp @@ -13,13 +13,11 @@ #include -#include +#include #include #include -#include - #include #include diff --git a/src/backends/reference/workloads/Decoders.hpp b/src/backends/reference/workloads/Decoders.hpp index dcd498cb63..b9cd7f9573 100644 --- a/src/backends/reference/workloads/Decoders.hpp +++ b/src/backends/reference/workloads/Decoders.hpp @@ -6,8 +6,9 @@ #pragma once #include "BaseIterator.hpp" -#include "FloatingPointConverter.hpp" -#include "TensorUtils.hpp" + +#include +#include #include diff --git a/src/backends/reference/workloads/DepthToSpace.cpp b/src/backends/reference/workloads/DepthToSpace.cpp index d500e9b100..91ca160ae2 100644 --- a/src/backends/reference/workloads/DepthToSpace.cpp +++ b/src/backends/reference/workloads/DepthToSpace.cpp @@ -5,8 +5,8 @@ #include "DepthToSpace.hpp" -#include -#include +#include +#include #include diff --git a/src/backends/reference/workloads/Encoders.hpp b/src/backends/reference/workloads/Encoders.hpp index 5c0cffa7ca..0d578d68de 100644 --- a/src/backends/reference/workloads/Encoders.hpp +++ b/src/backends/reference/workloads/Encoders.hpp @@ -6,7 +6,8 @@ #pragma once #include "BaseIterator.hpp" -#include "TensorUtils.hpp" + +#include #include diff --git a/src/backends/reference/workloads/InstanceNorm.cpp b/src/backends/reference/workloads/InstanceNorm.cpp index 9d6532fa6e..08c555f0e8 100644 --- a/src/backends/reference/workloads/InstanceNorm.cpp +++ b/src/backends/reference/workloads/InstanceNorm.cpp @@ -8,7 +8,7 @@ #include -#include +#include #include diff --git a/src/backends/reference/workloads/LogSoftmax.cpp b/src/backends/reference/workloads/LogSoftmax.cpp index 3fa3dc0d8c..ddf5674fb8 100644 --- a/src/backends/reference/workloads/LogSoftmax.cpp +++ b/src/backends/reference/workloads/LogSoftmax.cpp @@ -5,7 +5,7 @@ #include "LogSoftmax.hpp" -#include +#include #include diff --git a/src/backends/reference/workloads/Pooling2d.cpp b/src/backends/reference/workloads/Pooling2d.cpp index cf83f8ce2b..ea8f4ee7e7 100644 --- a/src/backends/reference/workloads/Pooling2d.cpp +++ b/src/backends/reference/workloads/Pooling2d.cpp @@ -4,11 +4,12 @@ // #include "Pooling2d.hpp" -#include "DataLayoutIndexed.hpp" #include #include +#include + #include #include diff --git a/src/backends/reference/workloads/RefConvertFp16ToFp32Workload.cpp b/src/backends/reference/workloads/RefConvertFp16ToFp32Workload.cpp index 886e77a31b..ef813eb69b 100644 --- a/src/backends/reference/workloads/RefConvertFp16ToFp32Workload.cpp +++ b/src/backends/reference/workloads/RefConvertFp16ToFp32Workload.cpp @@ -4,9 +4,9 @@ // #include "RefConvertFp16ToFp32Workload.hpp" - #include "RefWorkloadUtils.hpp" -#include "FloatingPointConverter.hpp" + +#include #include diff --git a/src/backends/reference/workloads/RefConvertFp32ToFp16Workload.cpp b/src/backends/reference/workloads/RefConvertFp32ToFp16Workload.cpp index 33270ad10f..559901f2f2 100644 --- a/src/backends/reference/workloads/RefConvertFp32ToFp16Workload.cpp +++ b/src/backends/reference/workloads/RefConvertFp32ToFp16Workload.cpp @@ -4,12 +4,12 @@ // #include "RefConvertFp32ToFp16Workload.hpp" - -#include "FloatingPointConverter.hpp" #include "RefWorkloadUtils.hpp" #include "Profiling.hpp" -#include "Half.hpp" +#include + +#include namespace armnn { diff --git a/src/backends/reference/workloads/RefL2NormalizationWorkload.cpp b/src/backends/reference/workloads/RefL2NormalizationWorkload.cpp index 3764b9a49a..6fec1abe6f 100644 --- a/src/backends/reference/workloads/RefL2NormalizationWorkload.cpp +++ b/src/backends/reference/workloads/RefL2NormalizationWorkload.cpp @@ -4,13 +4,13 @@ // #include "RefL2NormalizationWorkload.hpp" - #include "RefWorkloadUtils.hpp" #include "Decoders.hpp" #include "Encoders.hpp" -#include "DataLayoutIndexed.hpp" -#include "Profiling.hpp" +#include + +#include #include @@ -21,80 +21,80 @@ using namespace armnnUtils; namespace armnn { RefL2NormalizationWorkload::RefL2NormalizationWorkload( - const L2NormalizationQueueDescriptor& descriptor, - const WorkloadInfo& info) - : BaseWorkload(descriptor, info) {} + const L2NormalizationQueueDescriptor& descriptor, + const WorkloadInfo& info) + : BaseWorkload(descriptor, info) {} - void RefL2NormalizationWorkload::Execute() const - { - ARMNN_SCOPED_PROFILING_EVENT(Compute::CpuRef, "RefL2NormalizationWorkload_Execute"); +void RefL2NormalizationWorkload::Execute() const +{ + ARMNN_SCOPED_PROFILING_EVENT(Compute::CpuRef, "RefL2NormalizationWorkload_Execute"); - const TensorInfo& inputInfo = GetTensorInfo(m_Data.m_Inputs[0]); - const TensorInfo& outputInfo = GetTensorInfo(m_Data.m_Outputs[0]); + const TensorInfo& inputInfo = GetTensorInfo(m_Data.m_Inputs[0]); + const TensorInfo& outputInfo = GetTensorInfo(m_Data.m_Outputs[0]); - auto inputDecoder = MakeDecoder(inputInfo, m_Data.m_Inputs[0]->Map()); - auto outputEncoder = MakeEncoder(outputInfo, m_Data.m_Outputs[0]->Map()); + auto inputDecoder = MakeDecoder(inputInfo, m_Data.m_Inputs[0]->Map()); + auto outputEncoder = MakeEncoder(outputInfo, m_Data.m_Outputs[0]->Map()); - DataLayoutIndexed dataLayout(m_Data.m_Parameters.m_DataLayout); + DataLayoutIndexed dataLayout(m_Data.m_Parameters.m_DataLayout); - const TensorShape& shape = inputInfo.GetShape(); - unsigned int paddedShapeArray[4]; - const int idxShift = 4 - boost::numeric_cast(shape.GetNumDimensions()); + const TensorShape& shape = inputInfo.GetShape(); + unsigned int paddedShapeArray[4]; + const int idxShift = 4 - boost::numeric_cast(shape.GetNumDimensions()); - const unsigned int batches = (idxShift == 0) ? shape[0] : 1; - paddedShapeArray[0] = batches; + const unsigned int batches = (idxShift == 0) ? shape[0] : 1; + paddedShapeArray[0] = batches; - const int channelsIdx = boost::numeric_cast(dataLayout.GetChannelsIndex()); - const unsigned int channels = (channelsIdx - idxShift >= 0) - ? shape[boost::numeric_cast(channelsIdx - idxShift)] - : 1; - paddedShapeArray[channelsIdx] = channels; + const int channelsIdx = boost::numeric_cast(dataLayout.GetChannelsIndex()); + const unsigned int channels = (channelsIdx - idxShift >= 0) + ? shape[boost::numeric_cast(channelsIdx - idxShift)] + : 1; + paddedShapeArray[channelsIdx] = channels; - const int heightIdx = boost::numeric_cast(dataLayout.GetHeightIndex()); - const unsigned int height = (heightIdx - idxShift >= 0) - ? shape[boost::numeric_cast(heightIdx - idxShift)] - : 1; - paddedShapeArray[heightIdx] = height; + const int heightIdx = boost::numeric_cast(dataLayout.GetHeightIndex()); + const unsigned int height = (heightIdx - idxShift >= 0) + ? shape[boost::numeric_cast(heightIdx - idxShift)] + : 1; + paddedShapeArray[heightIdx] = height; - const int widthIdx = boost::numeric_cast(dataLayout.GetWidthIndex()); - const unsigned int width = (widthIdx - idxShift >= 0) - ? shape[boost::numeric_cast(widthIdx - idxShift)] - : 1; - paddedShapeArray[widthIdx] = width; + const int widthIdx = boost::numeric_cast(dataLayout.GetWidthIndex()); + const unsigned int width = (widthIdx - idxShift >= 0) + ? shape[boost::numeric_cast(widthIdx - idxShift)] + : 1; + paddedShapeArray[widthIdx] = width; - const TensorShape& paddedShape = TensorShape(4, paddedShapeArray); + const TensorShape& paddedShape = TensorShape(4, paddedShapeArray); - for (unsigned int n = 0; n < batches; ++n) + for (unsigned int n = 0; n < batches; ++n) + { + for (unsigned int c = 0; c < channels; ++c) { - for (unsigned int c = 0; c < channels; ++c) + for (unsigned int h = 0; h < height; ++h) { - for (unsigned int h = 0; h < height; ++h) + for (unsigned int w = 0; w < width; ++w) { - for (unsigned int w = 0; w < width; ++w) + float reduction = 0.0; + for (unsigned int d = 0; d < channels; ++d) { - float reduction = 0.0; - for (unsigned int d = 0; d < channels; ++d) - { - unsigned int inputIndex = dataLayout.GetIndex(paddedShape, n, d, h, w); + unsigned int inputIndex = dataLayout.GetIndex(paddedShape, n, d, h, w); - (*inputDecoder)[inputIndex]; - const float value = inputDecoder->Get(); - reduction += value * value; - } + (*inputDecoder)[inputIndex]; + const float value = inputDecoder->Get(); + reduction += value * value; + } - unsigned int index = dataLayout.GetIndex(paddedShape, n, c, h, w); + unsigned int index = dataLayout.GetIndex(paddedShape, n, c, h, w); - float maximum = reduction < m_Data.m_Parameters.m_Eps ? m_Data.m_Parameters.m_Eps : reduction; + float maximum = reduction < m_Data.m_Parameters.m_Eps ? m_Data.m_Parameters.m_Eps : reduction; - const float scale = 1.0f / sqrtf(maximum); + const float scale = 1.0f / sqrtf(maximum); - (*inputDecoder)[index]; - (*outputEncoder)[index]; - outputEncoder->Set(inputDecoder->Get() * scale); - } + (*inputDecoder)[index]; + (*outputEncoder)[index]; + outputEncoder->Set(inputDecoder->Get() * scale); } } } } +} } //namespace armnn diff --git a/src/backends/reference/workloads/RefNormalizationWorkload.cpp b/src/backends/reference/workloads/RefNormalizationWorkload.cpp index 8ff2d9cf92..0427baf475 100644 --- a/src/backends/reference/workloads/RefNormalizationWorkload.cpp +++ b/src/backends/reference/workloads/RefNormalizationWorkload.cpp @@ -4,14 +4,14 @@ // #include "RefNormalizationWorkload.hpp" - #include "RefWorkloadUtils.hpp" #include "Decoders.hpp" #include "Encoders.hpp" #include -#include +#include + #include #include diff --git a/src/backends/reference/workloads/RefPermuteWorkload.cpp b/src/backends/reference/workloads/RefPermuteWorkload.cpp index 4d43b7e560..4e7b76bf0a 100644 --- a/src/backends/reference/workloads/RefPermuteWorkload.cpp +++ b/src/backends/reference/workloads/RefPermuteWorkload.cpp @@ -6,7 +6,8 @@ #include "RefPermuteWorkload.hpp" #include "RefWorkloadUtils.hpp" -#include +#include + #include namespace armnn diff --git a/src/backends/reference/workloads/Resize.hpp b/src/backends/reference/workloads/Resize.hpp index 8bd8999e5d..4c357946d9 100644 --- a/src/backends/reference/workloads/Resize.hpp +++ b/src/backends/reference/workloads/Resize.hpp @@ -6,9 +6,10 @@ #pragma once #include "BaseIterator.hpp" + #include -#include +#include namespace armnn { @@ -20,4 +21,4 @@ void Resize(Decoder& in, armnnUtils::DataLayoutIndexed dataLayout = DataLayout::NCHW, ResizeMethod resizeMethod = ResizeMethod::NearestNeighbor); -} //namespace armnn +} // namespace armnn diff --git a/src/backends/reference/workloads/Softmax.cpp b/src/backends/reference/workloads/Softmax.cpp index f745d816c2..5036389a10 100644 --- a/src/backends/reference/workloads/Softmax.cpp +++ b/src/backends/reference/workloads/Softmax.cpp @@ -5,7 +5,7 @@ #include "Softmax.hpp" -#include +#include #include #include diff --git a/src/backends/reference/workloads/SpaceToBatchNd.cpp b/src/backends/reference/workloads/SpaceToBatchNd.cpp index 0bc2396973..b6bab17367 100644 --- a/src/backends/reference/workloads/SpaceToBatchNd.cpp +++ b/src/backends/reference/workloads/SpaceToBatchNd.cpp @@ -5,7 +5,7 @@ #include "SpaceToBatchNd.hpp" -#include +#include using namespace armnnUtils; diff --git a/src/backends/reference/workloads/SpaceToDepth.cpp b/src/backends/reference/workloads/SpaceToDepth.cpp index 4a4f4183d9..604a9051af 100644 --- a/src/backends/reference/workloads/SpaceToDepth.cpp +++ b/src/backends/reference/workloads/SpaceToDepth.cpp @@ -5,7 +5,7 @@ #include "SpaceToDepth.hpp" -#include +#include using namespace armnnUtils; diff --git a/src/backends/reference/workloads/TensorBufferArrayView.hpp b/src/backends/reference/workloads/TensorBufferArrayView.hpp index c06407241d..e03c42fe60 100644 --- a/src/backends/reference/workloads/TensorBufferArrayView.hpp +++ b/src/backends/reference/workloads/TensorBufferArrayView.hpp @@ -7,9 +7,9 @@ #include -#include +#include -#include +#include namespace armnn { diff --git a/src/backends/reference/workloads/TransposeConvolution2d.cpp b/src/backends/reference/workloads/TransposeConvolution2d.cpp index 5662c58809..5698014181 100644 --- a/src/backends/reference/workloads/TransposeConvolution2d.cpp +++ b/src/backends/reference/workloads/TransposeConvolution2d.cpp @@ -5,7 +5,7 @@ #include "TransposeConvolution2d.hpp" -#include +#include namespace armnn { -- cgit v1.2.1