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