aboutsummaryrefslogtreecommitdiff
path: root/src/backends/Workload.hpp
diff options
context:
space:
mode:
authorAron Virginas-Tar <Aron.Virginas-Tar@arm.com>2018-11-01 16:15:57 +0000
committerAron Virginas-Tar <Aron.Virginas-Tar@arm.com>2018-11-02 14:49:21 +0000
commitc9cc80455ff29fd2c8622c9487ec9c57ade6ea30 (patch)
tree41b1491312fe6082b39d5d37ffa0dcf0ab0f2817 /src/backends/Workload.hpp
parent207ef9a6b8b3ea0afe9a095639f67b5dedd095d7 (diff)
downloadarmnn-c9cc80455ff29fd2c8622c9487ec9c57ade6ea30.tar.gz
IVGCVSW-1946: Remove armnn/src from the include paths
Change-Id: I663a0a0fccb43ee960ec070121a59df9db0bb04e
Diffstat (limited to 'src/backends/Workload.hpp')
-rw-r--r--src/backends/Workload.hpp147
1 files changed, 0 insertions, 147 deletions
diff --git a/src/backends/Workload.hpp b/src/backends/Workload.hpp
deleted file mode 100644
index 4cfffd4646..0000000000
--- a/src/backends/Workload.hpp
+++ /dev/null
@@ -1,147 +0,0 @@
-//
-// Copyright © 2017 Arm Ltd. All rights reserved.
-// SPDX-License-Identifier: MIT
-//
-#pragma once
-
-#include "WorkloadData.hpp"
-#include "WorkloadInfo.hpp"
-#include <algorithm>
-#include "Profiling.hpp"
-
-namespace armnn
-{
-
-/// Workload interface to enqueue a layer computation.
-class IWorkload
-{
-public:
- virtual ~IWorkload() {}
-
- virtual void Execute() const = 0;
-};
-
-// NullWorkload used to denote an unsupported workload when used by the MakeWorkload<> template
-// in the various workload factories.
-// There should never be an instantiation of a NullWorkload.
-class NullWorkload : public IWorkload
-{
- NullWorkload()=delete;
-};
-
-template <typename QueueDescriptor>
-class BaseWorkload : public IWorkload
-{
-public:
-
- BaseWorkload(const QueueDescriptor& descriptor, const WorkloadInfo& info)
- : m_Data(descriptor)
- {
- m_Data.Validate(info);
- }
-
- const QueueDescriptor& GetData() const { return m_Data; }
-
-protected:
- const QueueDescriptor m_Data;
-};
-
-// TypedWorkload used
-template <typename QueueDescriptor, armnn::DataType... DataTypes>
-class TypedWorkload : public BaseWorkload<QueueDescriptor>
-{
-public:
-
- TypedWorkload(const QueueDescriptor& descriptor, const WorkloadInfo& info)
- : BaseWorkload<QueueDescriptor>(descriptor, info)
- {
- std::vector<armnn::DataType> dataTypes = {DataTypes...};
- armnn::DataType expectedInputType;
-
- if (!info.m_InputTensorInfos.empty())
- {
- expectedInputType = info.m_InputTensorInfos.front().GetDataType();
-
- if (std::find(dataTypes.begin(), dataTypes.end(), expectedInputType) == dataTypes.end())
- {
- BOOST_ASSERT_MSG(false, "Trying to create workload with incorrect type");
- }
- BOOST_ASSERT_MSG(std::all_of(std::next(info.m_InputTensorInfos.begin()),
- info.m_InputTensorInfos.end(),
- [&](auto it){
- return it.GetDataType() == expectedInputType;
- }),
- "Trying to create workload with incorrect type");
- }
- armnn::DataType expectedOutputType;
-
- if (!info.m_OutputTensorInfos.empty())
- {
- expectedOutputType = info.m_OutputTensorInfos.front().GetDataType();
-
- if (!info.m_InputTensorInfos.empty())
- {
- if (expectedOutputType != expectedInputType)
- {
- BOOST_ASSERT_MSG(false, "Trying to create workload with incorrect type");
- }
- }
- else if (std::find(dataTypes.begin(), dataTypes.end(), expectedOutputType) == dataTypes.end())
- {
- BOOST_ASSERT_MSG(false, "Trying to create workload with incorrect type");
- }
- BOOST_ASSERT_MSG(std::all_of(std::next(info.m_OutputTensorInfos.begin()),
- info.m_OutputTensorInfos.end(),
- [&](auto it){
- return it.GetDataType() == expectedOutputType;
- }),
- "Trying to create workload with incorrect type");
- }
- }
-};
-
-template <typename QueueDescriptor, armnn::DataType InputDataType, armnn::DataType OutputDataType>
-class MultiTypedWorkload : public BaseWorkload<QueueDescriptor>
-{
-public:
-
- MultiTypedWorkload(const QueueDescriptor& descriptor, const WorkloadInfo& info)
- : BaseWorkload<QueueDescriptor>(descriptor, info)
- {
- BOOST_ASSERT_MSG(std::all_of(info.m_InputTensorInfos.begin(),
- info.m_InputTensorInfos.end(),
- [&](auto it){
- return it.GetDataType() == InputDataType;
- }),
- "Trying to create workload with incorrect type");
- BOOST_ASSERT_MSG(std::all_of(info.m_OutputTensorInfos.begin(),
- info.m_OutputTensorInfos.end(),
- [&](auto it){
- return it.GetDataType() == OutputDataType;
- }),
- "Trying to create workload with incorrect type");
- }
-};
-
-template <typename QueueDescriptor>
-using FloatWorkload = TypedWorkload<QueueDescriptor,
- armnn::DataType::Float16,
- armnn::DataType::Float32>;
-
-template <typename QueueDescriptor>
-using Float32Workload = TypedWorkload<QueueDescriptor, armnn::DataType::Float32>;
-
-template <typename QueueDescriptor>
-using Uint8Workload = TypedWorkload<QueueDescriptor, armnn::DataType::QuantisedAsymm8>;
-
-template <typename QueueDescriptor>
-using Float16ToFloat32Workload = MultiTypedWorkload<QueueDescriptor,
- armnn::DataType::Float16,
- armnn::DataType::Float32>;
-
-template <typename QueueDescriptor>
-using Float32ToFloat16Workload = MultiTypedWorkload<QueueDescriptor,
- armnn::DataType::Float32,
- armnn::DataType::Float16>;
-
-} //namespace armnn