17 TEST_CASE(
"ConstMemoryStrategyTest")
26 std::vector<MemBlock> memBlocks;
28 memBlocks.push_back(memBlock0);
29 memBlocks.push_back(memBlock1);
30 memBlocks.push_back(memBlock2);
31 memBlocks.push_back(memBlock3);
32 memBlocks.push_back(memBlock4);
36 CHECK_EQ(constLayerMemoryOptimizerStrategy.
GetName(), std::string(
"ConstantMemoryStrategy"));
38 auto memBins = constLayerMemoryOptimizerStrategy.
Optimize(memBlocks);
39 CHECK(memBins.size() == 5);
41 CHECK(memBins[1].m_MemBlocks.size() == 1);
42 CHECK(memBins[1].m_MemBlocks[0].m_Offset == 0);
43 CHECK(memBins[1].m_MemBlocks[0].m_MemSize == 10);
44 CHECK(memBins[1].m_MemBlocks[0].m_Index == 1);
46 CHECK(memBins[4].m_MemBlocks.size() == 1);
47 CHECK(memBins[4].m_MemBlocks[0].m_Offset == 0);
48 CHECK(memBins[4].m_MemBlocks[0].m_MemSize == 5);
49 CHECK(memBins[4].m_MemBlocks[0].m_Index == 4);
52 TEST_CASE(
"ConstLayerMemoryOptimizerStrategyValidatorTest")
61 std::vector<MemBlock> memBlocks;
63 memBlocks.push_back(memBlock0);
64 memBlocks.push_back(memBlock1);
65 memBlocks.push_back(memBlock2);
66 memBlocks.push_back(memBlock3);
67 memBlocks.push_back(memBlock4);
70 auto ptr = std::make_shared<ConstantMemoryStrategy>();
74 CHECK_NOTHROW(validator.Optimize(memBlocks));
std::vector< MemBin > Optimize(std::vector< MemBlock > &memBlocks) override
std::string GetName() const override
void SetStrategy(std::shared_ptr< IMemoryOptimizerStrategy > strategy)
MemBlockStrategyType GetMemBlockStrategyType() const override