blob: 3f803abe87a946a83a07b1363cf37692d2a6d623 [file] [log] [blame]
Sadik Armagan932cf3f2021-09-15 09:22:11 +01001//
2// Copyright © 2021 Arm Ltd and Contributors. All rights reserved.
3// SPDX-License-Identifier: MIT
4//
5#pragma once
6
7#include <armnn/Types.hpp>
8#include <armnn/backends/IMemoryOptimizerStrategy.hpp>
9
10namespace armnn
11{
12// ConstLayerMemoryOptimizer: Create a unique MemBin for each MemBlock and assign it an offset of 0
13class ConstLayerMemoryOptimizerStrategy : public IMemoryOptimizerStrategy
14{
15public:
16 ConstLayerMemoryOptimizerStrategy()
17 : m_Name(std::string("ConstLayerMemoryOptimizerStrategy"))
18 , m_MemBlockStrategyType(MemBlockStrategyType::SingleAxisPacking) {}
19
20 std::string GetName() const override;
21
22 MemBlockStrategyType GetMemBlockStrategyType() const override;
23
24 std::vector<MemBin> Optimize(std::vector<MemBlock>& memBlocks) override;
25
26private:
27 std::string m_Name;
28 MemBlockStrategyType m_MemBlockStrategyType;
29};
30
31} // namespace armnn