aboutsummaryrefslogtreecommitdiff
path: root/src/backends/backendsCommon/MemoryManager.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/backends/backendsCommon/MemoryManager.hpp')
-rw-r--r--src/backends/backendsCommon/MemoryManager.hpp11
1 files changed, 6 insertions, 5 deletions
diff --git a/src/backends/backendsCommon/MemoryManager.hpp b/src/backends/backendsCommon/MemoryManager.hpp
index cbd6fcf9bc..5113b231d3 100644
--- a/src/backends/backendsCommon/MemoryManager.hpp
+++ b/src/backends/backendsCommon/MemoryManager.hpp
@@ -2,6 +2,7 @@
// Copyright © 2021 Arm Ltd and Contributors. All rights reserved.
// SPDX-License-Identifier: MIT
//
+#pragma once
#include <armnn/backends/ICustomAllocator.hpp>
@@ -10,7 +11,7 @@ namespace armnn
struct Allocator
{
/// Pointer to @ICustomAllocator.
- ICustomAllocator* m_CustomAllocator{};
+ std::shared_ptr<ICustomAllocator> m_CustomAllocator{};
/// Value which the size of each buffer (actual data size + padding) has to be a multiple of.
size_t m_Alignment = 0 ;
};
@@ -19,16 +20,16 @@ struct TensorMemory
{
/// Number of bytes the value is away from the @BufferStorage.m_Buffer.
size_t m_Offset{};
- /// Pointer to the tensor value.
- void* m_Data = nullptr;
/// Identifier to be used by the @LoadedNetwork to order the tensors.
unsigned int m_OutputSlotId{};
+ /// Pointer to the tensor value.
+ void* m_Data = nullptr;
};
struct BufferStorage
{
/// Vector of pointer to @TensorMemory.
- std::vector<TensorMemory*> m_TensorMemoryVector;
+ std::vector<std::shared_ptr<TensorMemory>> m_TensorMemoryVector;
/// Total size of the buffer.
size_t m_BufferSize;
/// Pointer to the first element of the buffer.
@@ -43,7 +44,7 @@ public:
/// @param[in] customAllocator - Pointer to @ICustomAllocator.
/// @param[in] typeAlignment - Optional parameter. Value of which the size of each value has to be multiple of.
void StoreMemToAllocate(std::vector<BufferStorage> bufferStorageVector,
- ICustomAllocator* customAllocator,
+ std::shared_ptr<ICustomAllocator> customAllocator,
size_t typeAlignment = 0);
/// Allocate the amount of memory indicated by @m_BufferSize, and