diff options
Diffstat (limited to 'src/backends/reference/workloads')
-rw-r--r-- | src/backends/reference/workloads/CMakeLists.txt | 8 | ||||
-rw-r--r-- | src/backends/reference/workloads/RefConstantFloat32Workload.cpp | 19 | ||||
-rw-r--r-- | src/backends/reference/workloads/RefConstantFloat32Workload.hpp | 20 | ||||
-rw-r--r-- | src/backends/reference/workloads/RefConstantUint8Workload.cpp | 19 | ||||
-rw-r--r-- | src/backends/reference/workloads/RefConstantUint8Workload.hpp | 20 | ||||
-rw-r--r-- | src/backends/reference/workloads/RefConstantWorkload.cpp (renamed from src/backends/reference/workloads/RefBaseConstantWorkload.cpp) | 13 | ||||
-rw-r--r-- | src/backends/reference/workloads/RefConstantWorkload.hpp (renamed from src/backends/reference/workloads/RefBaseConstantWorkload.hpp) | 13 | ||||
-rw-r--r-- | src/backends/reference/workloads/RefWorkloads.hpp | 4 |
8 files changed, 21 insertions, 95 deletions
diff --git a/src/backends/reference/workloads/CMakeLists.txt b/src/backends/reference/workloads/CMakeLists.txt index 583c89a5b4..f95fda08d1 100644 --- a/src/backends/reference/workloads/CMakeLists.txt +++ b/src/backends/reference/workloads/CMakeLists.txt @@ -32,8 +32,6 @@ list(APPEND armnnRefBackendWorkloads_sources RefActivationFloat32Workload.hpp RefActivationUint8Workload.cpp RefActivationUint8Workload.hpp - RefBaseConstantWorkload.cpp - RefBaseConstantWorkload.hpp RefBatchNormalizationFloat32Workload.cpp RefBatchNormalizationFloat32Workload.hpp RefBatchNormalizationUint8Workload.cpp @@ -42,10 +40,8 @@ list(APPEND armnnRefBackendWorkloads_sources RefBatchToSpaceNdFloat32Workload.hpp RefBatchToSpaceNdUint8Workload.cpp RefBatchToSpaceNdUint8Workload.hpp - RefConstantFloat32Workload.cpp - RefConstantFloat32Workload.hpp - RefConstantUint8Workload.cpp - RefConstantUint8Workload.hpp + RefConstantWorkload.cpp + RefConstantWorkload.hpp RefConvertFp16ToFp32Workload.cpp RefConvertFp16ToFp32Workload.hpp RefConvertFp32ToFp16Workload.cpp diff --git a/src/backends/reference/workloads/RefConstantFloat32Workload.cpp b/src/backends/reference/workloads/RefConstantFloat32Workload.cpp deleted file mode 100644 index 074e8ccaae..0000000000 --- a/src/backends/reference/workloads/RefConstantFloat32Workload.cpp +++ /dev/null @@ -1,19 +0,0 @@ -// -// Copyright © 2017 Arm Ltd. All rights reserved. -// SPDX-License-Identifier: MIT -// - -#include "RefConstantFloat32Workload.hpp" - -#include "Profiling.hpp" - -namespace armnn -{ - -void RefConstantFloat32Workload::Execute() const -{ - ARMNN_SCOPED_PROFILING_EVENT(Compute::CpuRef, "RefConstantFloat32Workload_Execute"); - RefBaseConstantWorkload::Execute(); -} - -} //namespace armnn diff --git a/src/backends/reference/workloads/RefConstantFloat32Workload.hpp b/src/backends/reference/workloads/RefConstantFloat32Workload.hpp deleted file mode 100644 index 76e3a42026..0000000000 --- a/src/backends/reference/workloads/RefConstantFloat32Workload.hpp +++ /dev/null @@ -1,20 +0,0 @@ -// -// Copyright © 2017 Arm Ltd. All rights reserved. -// SPDX-License-Identifier: MIT -// - -#pragma once - -#include "RefBaseConstantWorkload.hpp" - -namespace armnn -{ - -class RefConstantFloat32Workload : public RefBaseConstantWorkload<DataType::Float32> -{ -public: - using RefBaseConstantWorkload<DataType::Float32>::RefBaseConstantWorkload; - virtual void Execute() const override; -}; - -} //namespace armnn diff --git a/src/backends/reference/workloads/RefConstantUint8Workload.cpp b/src/backends/reference/workloads/RefConstantUint8Workload.cpp deleted file mode 100644 index 07e4719d54..0000000000 --- a/src/backends/reference/workloads/RefConstantUint8Workload.cpp +++ /dev/null @@ -1,19 +0,0 @@ -// -// Copyright © 2017 Arm Ltd. All rights reserved. -// SPDX-License-Identifier: MIT -// - -#include "RefConstantUint8Workload.hpp" - -#include "Profiling.hpp" - -namespace armnn -{ - -void RefConstantUint8Workload::Execute() const -{ - ARMNN_SCOPED_PROFILING_EVENT(Compute::CpuRef, "RefConstantUint8Workload_Execute"); - RefBaseConstantWorkload::Execute(); -} - -} //namespace armnn diff --git a/src/backends/reference/workloads/RefConstantUint8Workload.hpp b/src/backends/reference/workloads/RefConstantUint8Workload.hpp deleted file mode 100644 index 02552ac80b..0000000000 --- a/src/backends/reference/workloads/RefConstantUint8Workload.hpp +++ /dev/null @@ -1,20 +0,0 @@ -// -// Copyright © 2017 Arm Ltd. All rights reserved. -// SPDX-License-Identifier: MIT -// - -#pragma once - -#include "RefBaseConstantWorkload.hpp" - -namespace armnn -{ - -class RefConstantUint8Workload : public RefBaseConstantWorkload<DataType::QuantisedAsymm8> -{ -public: - using RefBaseConstantWorkload<DataType::QuantisedAsymm8>::RefBaseConstantWorkload; - virtual void Execute() const override; -}; - -} //namespace armnn diff --git a/src/backends/reference/workloads/RefBaseConstantWorkload.cpp b/src/backends/reference/workloads/RefConstantWorkload.cpp index 647677b4fb..e074c6fb04 100644 --- a/src/backends/reference/workloads/RefBaseConstantWorkload.cpp +++ b/src/backends/reference/workloads/RefConstantWorkload.cpp @@ -1,9 +1,9 @@ -// +// // Copyright © 2017 Arm Ltd. All rights reserved. // SPDX-License-Identifier: MIT // -#include "RefBaseConstantWorkload.hpp" +#include "RefConstantWorkload.hpp" #include "RefWorkloadUtils.hpp" @@ -17,7 +17,7 @@ namespace armnn { template <armnn::DataType DataType> -void RefBaseConstantWorkload<DataType>::Execute() const +void RefConstantWorkload<DataType>::Execute() const { // Considering the reference backend independently, it could be possible to initialise the intermediate tensor // created by the layer output handler at workload construction time, rather than at workload execution time. @@ -27,6 +27,8 @@ void RefBaseConstantWorkload<DataType>::Execute() const // could have a non-owning reference to the layer output tensor managed by the const input layer); again, this is // not an option for other backends, and the extra complexity required to make this work for the reference backend // may not be worth the effort (skipping a memory copy in the first inference). + ARMNN_SCOPED_PROFILING_EVENT(Compute::CpuRef, "RefConstantWorkload_Execute"); + if (!m_RanOnce) { const ConstantQueueDescriptor& data = this->m_Data; @@ -43,7 +45,8 @@ void RefBaseConstantWorkload<DataType>::Execute() const } } -template class RefBaseConstantWorkload<DataType::Float32>; -template class RefBaseConstantWorkload<DataType::QuantisedAsymm8>; +template class RefConstantWorkload<DataType::Float32>; +template class RefConstantWorkload<DataType::QuantisedAsymm8>; +template class RefConstantWorkload<DataType::Signed32>; } //namespace armnn diff --git a/src/backends/reference/workloads/RefBaseConstantWorkload.hpp b/src/backends/reference/workloads/RefConstantWorkload.hpp index 82ee11f6ec..75d7ecce26 100644 --- a/src/backends/reference/workloads/RefBaseConstantWorkload.hpp +++ b/src/backends/reference/workloads/RefConstantWorkload.hpp @@ -1,4 +1,4 @@ -// +// // Copyright © 2017 Arm Ltd. All rights reserved. // SPDX-License-Identifier: MIT // @@ -15,19 +15,26 @@ namespace armnn // Base class template providing an implementation of the Constant layer common to all data types. template <armnn::DataType DataType> -class RefBaseConstantWorkload : public TypedWorkload<ConstantQueueDescriptor, DataType> +class RefConstantWorkload : public TypedWorkload<ConstantQueueDescriptor, DataType> { public: - RefBaseConstantWorkload(const ConstantQueueDescriptor& descriptor, const WorkloadInfo& info) + RefConstantWorkload(const ConstantQueueDescriptor& descriptor, const WorkloadInfo& info) : TypedWorkload<ConstantQueueDescriptor, DataType>(descriptor, info) , m_RanOnce(false) { } + using TypedWorkload<ConstantQueueDescriptor, DataType>::m_Data; + using TypedWorkload<ConstantQueueDescriptor, DataType>::TypedWorkload; + virtual void Execute() const override; private: mutable bool m_RanOnce; }; +using RefConstantFloat32Workload = RefConstantWorkload<DataType::Float32>; +using RefConstantUint8Workload = RefConstantWorkload<DataType::QuantisedAsymm8>; +using RefConstantInt32Workload = RefConstantWorkload<DataType::Signed32>; + } //namespace armnn diff --git a/src/backends/reference/workloads/RefWorkloads.hpp b/src/backends/reference/workloads/RefWorkloads.hpp index 8550ee583e..1cbceb366b 100644 --- a/src/backends/reference/workloads/RefWorkloads.hpp +++ b/src/backends/reference/workloads/RefWorkloads.hpp @@ -5,11 +5,10 @@ #pragma once -#include "RefConstantUint8Workload.hpp" #include "ElementwiseFunction.hpp" #include "RefElementwiseWorkload.hpp" #include "ConvImpl.hpp" -#include "RefBaseConstantWorkload.hpp" +#include "RefConstantWorkload.hpp" #include "RefConvolution2dUint8Workload.hpp" #include "RefSplitterUint8Workload.hpp" #include "RefResizeBilinearUint8Workload.hpp" @@ -46,7 +45,6 @@ #include "RefSpaceToBatchNdWorkload.hpp" #include "RefSplitterFloat32Workload.hpp" #include "RefStridedSliceWorkload.hpp" -#include "RefConstantFloat32Workload.hpp" #include "RefActivationFloat32Workload.hpp" #include "RefConvolution2dFloat32Workload.hpp" #include "Pooling2d.hpp" |