diff options
author | Aron Virginas-Tar <Aron.Virginas-Tar@arm.com> | 2018-11-14 18:35:18 +0000 |
---|---|---|
committer | Aron Virginas-Tar <Aron.Virginas-Tar@arm.com> | 2018-11-15 10:38:19 +0000 |
commit | 5caf907efc31e774f8afde54b17a5596477772f6 (patch) | |
tree | 9fcdfe44ccf7c96e5088a2cef06b7d74dfd3221c /src/backends/backendsCommon/test/WorkloadTestUtils.hpp | |
parent | dd9d8ca997cb6c63677249350247e9f44525104c (diff) | |
download | armnn-5caf907efc31e774f8afde54b17a5596477772f6.tar.gz |
IVGCVSW-2136: Remove memory management methods from workload factories
Change-Id: Idc0f94590566ac362f7e1d1999361d025cc2f67a
Diffstat (limited to 'src/backends/backendsCommon/test/WorkloadTestUtils.hpp')
-rw-r--r-- | src/backends/backendsCommon/test/WorkloadTestUtils.hpp | 34 |
1 files changed, 32 insertions, 2 deletions
diff --git a/src/backends/backendsCommon/test/WorkloadTestUtils.hpp b/src/backends/backendsCommon/test/WorkloadTestUtils.hpp index 05f6dde35f..d03c5a9210 100644 --- a/src/backends/backendsCommon/test/WorkloadTestUtils.hpp +++ b/src/backends/backendsCommon/test/WorkloadTestUtils.hpp @@ -6,12 +6,18 @@ #include <armnn/Tensor.hpp> +#include <backendsCommon/IBackendInternal.hpp> +#include <backendsCommon/IMemoryManager.hpp> +#include <backendsCommon/Workload.hpp> #include <backendsCommon/WorkloadInfo.hpp> namespace armnn { class ITensorHandle; -} +} // namespace armnn + +namespace +{ template <typename QueueDescriptor> void AddInputToWorkload(QueueDescriptor& descriptor, @@ -53,4 +59,28 @@ void SetWorkloadOutput(QueueDescriptor& descriptor, { descriptor.m_Outputs[index] = tensorHandle; info.m_OutputTensorInfos[index] = tensorInfo; -}
\ No newline at end of file +} + +inline void ExecuteWorkload(armnn::IWorkload& workload, + const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager, + bool memoryManagementRequested = true) +{ + const bool manageMemory = memoryManager && memoryManagementRequested; + + // Acquire working memory (if needed) + if (manageMemory) + { + memoryManager->Acquire(); + } + + // Execute the workload + workload.Execute(); + + // Release working memory (if needed) + if (manageMemory) + { + memoryManager->Release(); + } +} + +} // anonymous namespace |