aboutsummaryrefslogtreecommitdiff
path: root/src/backends/aclCommon/memory/BlobLifetimeManager.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/backends/aclCommon/memory/BlobLifetimeManager.cpp')
-rw-r--r--src/backends/aclCommon/memory/BlobLifetimeManager.cpp79
1 files changed, 0 insertions, 79 deletions
diff --git a/src/backends/aclCommon/memory/BlobLifetimeManager.cpp b/src/backends/aclCommon/memory/BlobLifetimeManager.cpp
deleted file mode 100644
index 41100e945f..0000000000
--- a/src/backends/aclCommon/memory/BlobLifetimeManager.cpp
+++ /dev/null
@@ -1,79 +0,0 @@
-//
-// Copyright © 2017 Arm Ltd. All rights reserved.
-// SPDX-License-Identifier: MIT
-//
-#include "BlobLifetimeManager.hpp"
-#include "BlobMemoryPool.hpp"
-
-#include <arm_compute/runtime/IMemoryGroup.h>
-
-#include "boost/assert.hpp"
-
-#include <algorithm>
-
-namespace armnn
-{
-
-BlobLifetimeManager::BlobLifetimeManager()
- : m_BlobSizes()
-{
-}
-
-arm_compute::MappingType BlobLifetimeManager::mapping_type() const
-{
- return arm_compute::MappingType::BLOBS;
-}
-
-void BlobLifetimeManager::update_blobs_and_mappings()
-{
- using namespace arm_compute;
-
- BOOST_ASSERT(are_all_finalized());
- BOOST_ASSERT(_active_group);
-
- // Sort free blobs requirements in descending order.
- _free_blobs.sort([](const Blob & ba, const Blob & bb)
- {
- return ba.max_size > bb.max_size;
- });
- std::vector<size_t> groupSizes;
- std::transform(std::begin(_free_blobs), std::end(_free_blobs), std::back_inserter(groupSizes), [](const Blob & b)
- {
- return b.max_size;
- });
-
- // Update blob sizes
- size_t max_size = std::max(m_BlobSizes.size(), groupSizes.size());
- m_BlobSizes.resize(max_size, 0);
- groupSizes.resize(max_size, 0);
- std::transform(std::begin(m_BlobSizes), std::end(m_BlobSizes), std::begin(groupSizes),
- std::begin(m_BlobSizes), [](size_t lhs, size_t rhs)
- {
- return std::max(lhs, rhs);
- });
-
- // Calculate group mappings
- auto& groupMappings = _active_group->mappings();
- unsigned int blobIdx = 0;
-
- for(auto& freeBlob : _free_blobs)
- {
- for(auto& boundElementId : freeBlob.bound_elements)
- {
- BOOST_ASSERT(_active_elements.find(boundElementId) != std::end(_active_elements));
-
- Element& boundElement = _active_elements[boundElementId];
- groupMappings[boundElement.handle] = blobIdx;
- }
-
- ++blobIdx;
- }
-}
-
-std::unique_ptr<arm_compute::IMemoryPool> BlobLifetimeManager::create_pool(arm_compute::IAllocator* allocator)
-{
- BOOST_ASSERT(allocator);
- return std::make_unique<BlobMemoryPool>(allocator, m_BlobSizes);
-}
-
-} // namespace armnn \ No newline at end of file