aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFrancis Murtagh <francis.murtagh@arm.com>2022-07-06 11:23:57 +0100
committerFrancis Murtagh <francis.murtagh@arm.com>2022-07-07 16:08:20 +0100
commit5e09080c3848fce5c39424dfac735d3281300aa4 (patch)
tree806b1415fbb49175ecc9440eaa00c38d96b50485
parent616c635f7e1220616642667dc88d2b1a9315161a (diff)
downloadarmnn-5e09080c3848fce5c39424dfac735d3281300aa4.tar.gz
IVGCVSW-7060 Add GetMemoryRequirements to IWorkload
Signed-off-by: Francis Murtagh <francis.murtagh@arm.com> Change-Id: I8c59f1feb9c44351427715b08d762b5a73320af5
-rw-r--r--include/armnn/Types.hpp4
-rw-r--r--include/armnn/backends/IWorkload.hpp8
-rw-r--r--include/armnn/backends/WorkloadInfo.hpp14
3 files changed, 22 insertions, 4 deletions
diff --git a/include/armnn/Types.hpp b/include/armnn/Types.hpp
index cc704a64ae..af75513638 100644
--- a/include/armnn/Types.hpp
+++ b/include/armnn/Types.hpp
@@ -1,5 +1,5 @@
//
-// Copyright © 2017 Arm Ltd and Contributors. All rights reserved.
+// Copyright © 2022 Arm Ltd and Contributors. All rights reserved.
// SPDX-License-Identifier: MIT
//
#pragma once
@@ -19,7 +19,7 @@ namespace pipe
class ProfilingGuid;
-} // namespace armn
+} // namespace arm
} // namespace pipe
/// Define LayerGuid type.
diff --git a/include/armnn/backends/IWorkload.hpp b/include/armnn/backends/IWorkload.hpp
index c7bc5da851..22baf92c1a 100644
--- a/include/armnn/backends/IWorkload.hpp
+++ b/include/armnn/backends/IWorkload.hpp
@@ -1,10 +1,11 @@
//
-// Copyright © 2020 Arm Ltd and Contributors. All rights reserved.
+// Copyright © 2022 Arm Ltd and Contributors. All rights reserved.
// SPDX-License-Identifier: MIT
//
#pragma once
#include <armnn/Types.hpp>
+#include <armnn/backends/WorkloadInfo.hpp>
namespace armnn
{
@@ -44,6 +45,11 @@ public:
virtual void ReplaceOutputTensorHandle(ITensorHandle* /*output*/, unsigned int /*slot*/) = 0;
virtual void RegisterDebugCallback(const DebugCallbackFunction& /*func*/) {}
+
+ virtual armnn::Optional<armnn::MemoryRequirements> GetMemoryRequirements()
+ {
+ return armnn::EmptyOptional();
+ }
};
} //namespace armnn
diff --git a/include/armnn/backends/WorkloadInfo.hpp b/include/armnn/backends/WorkloadInfo.hpp
index 1d6967e134..a7a1e1e81a 100644
--- a/include/armnn/backends/WorkloadInfo.hpp
+++ b/include/armnn/backends/WorkloadInfo.hpp
@@ -1,5 +1,5 @@
//
-// Copyright © 2020 Arm Ltd. All rights reserved.
+// Copyright © 2022 Arm Ltd and Contributors. All rights reserved.
// SPDX-License-Identifier: MIT
//
#pragma once
@@ -22,4 +22,16 @@ struct WorkloadInfo
Optional<std::string> m_ConvolutionMethod = EmptyOptional();
};
+struct MemoryInfo
+{
+ unsigned int m_OutputSlotIndex;
+ size_t m_Size{ 0 };
+ size_t m_Alignment{ 64 };
+};
+
+struct MemoryRequirements
+{
+ armnn::Optional<std::vector<MemoryInfo>> m_IntraLayerTensors;
+};
+
} //namespace armnn