MCPcopy Create free account
hub / github.com/ARM-software/ComputeLibrary / populate

Method populate

src/runtime/MemoryManagerOnDemand.cpp:52–67  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

50}
51
52void MemoryManagerOnDemand::populate(arm_compute::IAllocator &allocator, size_t num_pools)
53{
54 ARM_COMPUTE_ERROR_ON(!_lifetime_mgr);
55 ARM_COMPUTE_ERROR_ON(!_pool_mgr);
56 ARM_COMPUTE_ERROR_ON_MSG(!_lifetime_mgr->are_all_finalized(), "All the objects have not been finalized!");
57 ARM_COMPUTE_ERROR_ON_MSG(_pool_mgr->num_pools() != 0, "Pool manager already contains pools!");
58
59 // Create pools
60 auto pool_template = _lifetime_mgr->create_pool(&allocator);
61 for (int i = num_pools; i > 1; --i)
62 {
63 auto pool = pool_template->duplicate();
64 _pool_mgr->register_pool(std::move(pool));
65 }
66 _pool_mgr->register_pool(std::move(pool_template));
67}
68
69void MemoryManagerOnDemand::clear()
70{

Callers 2

finalizeMethod · 0.45
do_setupMethod · 0.45

Calls 5

are_all_finalizedMethod · 0.80
num_poolsMethod · 0.80
register_poolMethod · 0.80
create_poolMethod · 0.45
duplicateMethod · 0.45

Tested by

no test coverage detected