From 9da19e9da660057785fb736aba5c61b1ae773f2f Mon Sep 17 00:00:00 2001 From: Georgios Pinitas Date: Thu, 11 Oct 2018 15:33:11 +0100 Subject: COMPMID-1605: API alignment for the MemoryManager with ARMNN Change-Id: Iac6a95ba7f388e65b7f1c8865c3e9bf289b233ea Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/155490 Reviewed-by: Anthony Barbier Tested-by: bsgcomp --- docs/01_library.dox | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) (limited to 'docs') diff --git a/docs/01_library.dox b/docs/01_library.dox index bd4b300d7d..189602046b 100644 --- a/docs/01_library.dox +++ b/docs/01_library.dox @@ -342,8 +342,6 @@ Requesting backing memory for a specific group can be done using @ref IMemoryGro - @ref ILifetimeManager that keeps track of the lifetime of the registered objects of the memory groups and given an @ref IAllocator creates an appropriate memory pool that fulfils the memory requirements of all the registered memory groups. - @ref IPoolManager that safely manages the registered memory pools. -@note @ref IMemoryManager::finalize should be called once the configuration of all the memory groups, kernels and functions is done, so that the memory manager can allocate the appropriate backing memory. - @note @ref BlobLifetimeManager is currently implemented which models the memory requirements as a vector of distinct memory blobs. @subsection S4_7_2_working_with_memory_manager Working with the Memory Manager @@ -385,11 +383,9 @@ tmp3.allocator()->allocate(); // Flag that the lifetime of object tmp3 has @warning The configuration step should be done sequentially by a single thread so that all the lifetimes are captured correclty. -When configuration of all the operations is finished then the memory manager have to be finalized: +When configuration of all the operations is finished then the memory manager have to be populated: @code{.cpp} -mm->set_allocator(&allocator); // Set allocator to use -mm->set_set_num_pools(2); // Set number of pools to create in case parallel operations can be run -mm->finalize(); // Finalize memory manager (Object lifetime check, Memory pool creation etc) +mm->populate(&allocator), 2 /* num_pools */); // Populate memory manager pools @endcode Finally, during execution of the pipeline the memory of the appropriate memory group should be requested before running: @@ -422,10 +418,8 @@ CLConvolutionLayer conv1(mm), conv2(mm); conv1.configure(...); conv2.configure(...); -// Finalize memory manager -mm->set_allocator(&allocator); // Set allocator to use -mm->set_set_num_pools(1); // Set number of pools to create in case parallel operations can be run -mm->finalize(); // Finalize memory manager (Object lifetime check, Memory pool creation etc) +// Populate memory manager +mm->populate(&allocator), 1 /* num_pools */); // Populate memory manager pools // Run layers (Memory will be recycled for internal buffers for conv1 and conv2 conv1.run(); -- cgit v1.2.1