ArmNN
 25.11
Loading...
Searching...
No Matches
MemoryManager Class Reference

#include <MemoryManager.hpp>

Public Member Functions

void StoreMemToAllocate (std::vector< BufferStorage > bufferStorageVector, std::shared_ptr< ICustomAllocator > customAllocator, size_t typeAlignment=0)
 Initialization method to store in m_AllocatorBufferStoragePairVector all information needed.
void Allocate ()
 Allocate the amount of memory indicated by m_BufferSize, and point each m_Data to each correspondent Tensor so that they are m_Offset bytes separated.
void Deallocate ()
 Deallocate memory.

Detailed Description

Definition at line 39 of file MemoryManager.hpp.

Member Function Documentation

◆ Allocate()

void Allocate ( )

Allocate the amount of memory indicated by m_BufferSize, and point each m_Data to each correspondent Tensor so that they are m_Offset bytes separated.

Definition at line 23 of file MemoryManager.cpp.

24{
25 for (auto& m_AllocatorBufferStoragePair : m_AllocatorBufferStoragePairVector)
26 {
27 auto& allocator = m_AllocatorBufferStoragePair.first;
28 for (auto&& bufferStorage : m_AllocatorBufferStoragePair.second)
29 {
30 bufferStorage.m_Buffer = allocator.m_CustomAllocator->allocate(bufferStorage.m_BufferSize, 0);
31
32 for (auto tensorMemory : bufferStorage.m_TensorMemoryVector)
33 {
34 tensorMemory->m_Data = allocator.m_CustomAllocator->GetMemoryRegionAtOffset(bufferStorage.m_Buffer,
35 tensorMemory->m_Offset);
36 }
37 }
38 }
39}

◆ Deallocate()

void Deallocate ( )

Deallocate memory.

Definition at line 41 of file MemoryManager.cpp.

42{
43 for (auto& m_AllocatorBufferStoragePair : m_AllocatorBufferStoragePairVector)
44 {
45 auto& allocator = m_AllocatorBufferStoragePair.first;
46 for (auto&& bufferStorage : m_AllocatorBufferStoragePair.second)
47 {
48 allocator.m_CustomAllocator->free(bufferStorage.m_Buffer);
49 }
50 }
51}

◆ StoreMemToAllocate()

void StoreMemToAllocate ( std::vector< BufferStorage > bufferStorageVector,
std::shared_ptr< ICustomAllocator > customAllocator,
size_t typeAlignment = 0 )

Initialization method to store in m_AllocatorBufferStoragePairVector all information needed.

Parameters
[in]bufferStorageVector- Vector of BufferStorage.
[in]customAllocator- Pointer to ICustomAllocator.
[in]typeAlignment- Optional parameter. Value of which the size of each value has to be multiple of.

Definition at line 13 of file MemoryManager.cpp.

16{
17 IgnoreUnused(typeAlignment);
18 m_AllocatorBufferStoragePairVector.emplace_back(std::make_pair<Allocator, std::vector<BufferStorage>>(
19 Allocator{customAllocator},
20 std::move(bufferStorageVector)));
21}
void IgnoreUnused(Ts &&...)

References armnn::IgnoreUnused().


The documentation for this class was generated from the following files: