diff options
-rw-r--r-- | include/armnn/Types.hpp | 4 | ||||
-rw-r--r-- | include/armnn/backends/IWorkload.hpp | 8 | ||||
-rw-r--r-- | include/armnn/backends/WorkloadInfo.hpp | 14 |
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 |