diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/armnn/backends/CMakeLists.txt | 4 | ||||
-rw-r--r-- | include/armnn/backends/IWorkload.hpp | 26 | ||||
-rw-r--r-- | include/armnn/backends/WorkloadInfo.hpp | 22 |
3 files changed, 51 insertions, 1 deletions
diff --git a/include/armnn/backends/CMakeLists.txt b/include/armnn/backends/CMakeLists.txt index 90a022aad7..94e757fe8a 100644 --- a/include/armnn/backends/CMakeLists.txt +++ b/include/armnn/backends/CMakeLists.txt @@ -8,10 +8,12 @@ list(APPEND armnnBackendsAPI_sources DynamicBackend.hpp IBackendInternal.hpp IBackendContext.hpp - ITensorHandleFactory.hpp IMemoryManager.hpp ITensorHandle.hpp + ITensorHandleFactory.hpp + IWorkload.hpp OptimizationViews.hpp + WorkloadInfo.hpp profiling/IBackendProfiling.hpp profiling/IBackendProfilingContext.hpp ) diff --git a/include/armnn/backends/IWorkload.hpp b/include/armnn/backends/IWorkload.hpp new file mode 100644 index 0000000000..0bd8d2db75 --- /dev/null +++ b/include/armnn/backends/IWorkload.hpp @@ -0,0 +1,26 @@ +// +// Copyright © 2020 Arm Ltd. All rights reserved. +// SPDX-License-Identifier: MIT +// +#pragma once + +#include <armnn/Types.hpp> + +namespace armnn +{ + +/// Workload interface to enqueue a layer computation. +class IWorkload { +public: + virtual ~IWorkload() {} + + virtual void PostAllocationConfigure() = 0; + + virtual void Execute() const = 0; + + virtual profiling::ProfilingGuid GetGuid() const = 0; + + virtual void RegisterDebugCallback(const DebugCallbackFunction & /*func*/) {} +}; + +} //namespace armnn diff --git a/include/armnn/backends/WorkloadInfo.hpp b/include/armnn/backends/WorkloadInfo.hpp new file mode 100644 index 0000000000..edf3581791 --- /dev/null +++ b/include/armnn/backends/WorkloadInfo.hpp @@ -0,0 +1,22 @@ +// +// Copyright © 2020 Arm Ltd. All rights reserved. +// SPDX-License-Identifier: MIT +// +#pragma once + +#include <armnn/Tensor.hpp> + +#include <vector> + +namespace armnn +{ + +/// Contains information about inputs and outputs to a layer. +/// This is needed at construction of workloads, but are not stored. +struct WorkloadInfo +{ + std::vector<TensorInfo> m_InputTensorInfos; + std::vector<TensorInfo> m_OutputTensorInfos; +}; + +} //namespace armnn |