aboutsummaryrefslogtreecommitdiff
path: root/src/backends/backendsCommon/MakeWorkloadHelper.hpp
diff options
context:
space:
mode:
authorJim Flynn <jim.flynn@arm.com>2020-03-19 17:03:14 +0000
committerJim Flynn <jim.flynn@arm.com>2020-03-19 17:03:14 +0000
commit0e2bab81442ee6cc2b94e4f7881ed0c5c6af65e7 (patch)
treeb0af08b5a0b74149fca422151127ac6310385399 /src/backends/backendsCommon/MakeWorkloadHelper.hpp
parent8c3259fa007d43fcc5ea56fe6928526dbe79f3c0 (diff)
downloadarmnn-0e2bab81442ee6cc2b94e4f7881ed0c5c6af65e7.tar.gz
Creating gh-pages documentation for ArmNN
Signed-off-by: Jim Flynn <jim.flynn@arm.com>
Diffstat (limited to 'src/backends/backendsCommon/MakeWorkloadHelper.hpp')
-rw-r--r--src/backends/backendsCommon/MakeWorkloadHelper.hpp92
1 files changed, 0 insertions, 92 deletions
diff --git a/src/backends/backendsCommon/MakeWorkloadHelper.hpp b/src/backends/backendsCommon/MakeWorkloadHelper.hpp
deleted file mode 100644
index 250a10a61c..0000000000
--- a/src/backends/backendsCommon/MakeWorkloadHelper.hpp
+++ /dev/null
@@ -1,92 +0,0 @@
-//
-// Copyright © 2017 Arm Ltd. All rights reserved.
-// SPDX-License-Identifier: MIT
-//
-#pragma once
-
-namespace armnn
-{
-namespace
-{
-
-// Make a workload of the specified WorkloadType.
-template<typename WorkloadType>
-struct MakeWorkloadForType
-{
- template<typename QueueDescriptorType, typename... Args>
- static std::unique_ptr<WorkloadType> Func(const QueueDescriptorType& descriptor,
- const WorkloadInfo& info,
- Args&&... args)
- {
- return std::make_unique<WorkloadType>(descriptor, info, std::forward<Args>(args)...);
- }
-};
-
-// Specialization for void workload type used for unsupported workloads.
-template<>
-struct MakeWorkloadForType<NullWorkload>
-{
- template<typename QueueDescriptorType, typename... Args>
- static std::unique_ptr<NullWorkload> Func(const QueueDescriptorType& descriptor,
- const WorkloadInfo& info,
- Args&&... args)
- {
- boost::ignore_unused(descriptor);
- boost::ignore_unused(info);
- boost::ignore_unused(args...);
- return nullptr;
- }
-};
-
-// Makes a workload for one the specified types based on the data type requirements of the tensorinfo.
-// Specify type void as the WorkloadType for unsupported DataType/WorkloadType combos.
-template <typename Float16Workload, typename Float32Workload, typename Uint8Workload, typename Int32Workload,
- typename BooleanWorkload, typename Int8Workload, typename QueueDescriptorType, typename... Args>
-std::unique_ptr<IWorkload> MakeWorkloadHelper(const QueueDescriptorType& descriptor,
- const WorkloadInfo& info,
- Args&&... args)
-{
- const DataType dataType = !info.m_InputTensorInfos.empty() ?
- info.m_InputTensorInfos[0].GetDataType()
- : info.m_OutputTensorInfos[0].GetDataType();
-
- switch (dataType)
- {
- case DataType::Float16:
- return MakeWorkloadForType<Float16Workload>::Func(descriptor, info, std::forward<Args>(args)...);
- case DataType::Float32:
- return MakeWorkloadForType<Float32Workload>::Func(descriptor, info, std::forward<Args>(args)...);
- case DataType::QAsymmU8:
- return MakeWorkloadForType<Uint8Workload>::Func(descriptor, info, std::forward<Args>(args)...);
- case DataType::QSymmS8:
- case DataType::QAsymmS8:
- return MakeWorkloadForType<Int8Workload>::Func(descriptor, info, std::forward<Args>(args)...);
- case DataType::Signed32:
- return MakeWorkloadForType<Int32Workload>::Func(descriptor, info, std::forward<Args>(args)...);
- case DataType::Boolean:
- return MakeWorkloadForType<BooleanWorkload>::Func(descriptor, info, std::forward<Args>(args)...);
- case DataType::QSymmS16:
- return nullptr;
- default:
- BOOST_ASSERT_MSG(false, "Unknown DataType.");
- return nullptr;
- }
-}
-
-// Makes a workload for one the specified types based on the data type requirements of the tensorinfo.
-// Calling this method is the equivalent of calling the five typed MakeWorkload method with <FloatWorkload,
-// FloatWorkload, Uint8Workload, NullWorkload, NullWorkload, NullWorkload>.
-// Specify type void as the WorkloadType for unsupported DataType/WorkloadType combos.
-template <typename FloatWorkload, typename Uint8Workload, typename QueueDescriptorType, typename... Args>
-std::unique_ptr<IWorkload> MakeWorkloadHelper(const QueueDescriptorType& descriptor,
- const WorkloadInfo& info,
- Args&&... args)
-{
- return MakeWorkloadHelper<FloatWorkload, FloatWorkload, Uint8Workload, NullWorkload, NullWorkload, NullWorkload>(
- descriptor,
- info,
- std::forward<Args>(args)...);
-}
-
-} //namespace
-} //namespace armnn