diff options
author | Narumol Prangnawarat <narumol.prangnawarat@arm.com> | 2020-02-03 12:29:56 +0000 |
---|---|---|
committer | Jim Flynn <jim.flynn@arm.com> | 2020-02-03 16:36:55 +0000 |
commit | 867eba59ffd2276086a14f7b2632b390c94392d3 (patch) | |
tree | d7626f933f2a72e8c398c0f43c71b4950e980a09 /include/armnn/backends | |
parent | 9d0ff74843b9d36d9f233d208e18a96de1b7d47b (diff) | |
download | armnn-867eba59ffd2276086a14f7b2632b390c94392d3.tar.gz |
IVGCVSW-4399 Create Sample Dynamic backend
* Move IWorkload and WorkloadInfo to include/armnn/backends
* Add simple sample dynamic backend with addition workload
* Add sample example to run dynamic backend
* Unit tests
Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com>
Change-Id: I0753ce35b8e8a6223a1471388b49246d82438a44
Diffstat (limited to 'include/armnn/backends')
-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 |