xref: /aosp_15_r20/external/armnn/tests/MemoryStrategyBenchmark/TestStrategy.hpp (revision 89c4ff92f2867872bb9e2354d150bf0c8c502810)
1 //
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 
10 namespace armnn
11 {
12 // ConstLayerMemoryOptimizer: Create a unique MemBin for each MemBlock and assign it an offset of 0
13     class TestStrategy : public IMemoryOptimizerStrategy
14     {
15     public:
TestStrategy()16         TestStrategy()
17                 : m_Name(std::string("TestStrategy"))
18                 , m_MemBlockStrategyType(MemBlockStrategyType::MultiAxisPacking) {}
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 
26     private:
27         std::string m_Name;
28         MemBlockStrategyType m_MemBlockStrategyType;
29     };
30 
31 } // namespace armnn