ArmNN
 22.05.01
SingleAxisPriorityListTests.cpp
Go to the documentation of this file.
1 //
2 // Copyright © 2021 Arm Ltd and Contributors. All rights reserved.
3 // SPDX-License-Identifier: MIT
4 //
5 
8 #include "TestMemBlocks.hpp"
9 
10 #include <doctest/doctest.h>
11 #include <vector>
12 
13 using namespace armnn;
14 
15 TEST_SUITE("SingleAxisPriorityListTestSuite")
16 {
17  TEST_CASE("SingleAxisPriorityListTest")
18  {
19  std::vector<MemBlock> memBlocks = fsrcnn;
20 
21  auto singleAxisPriorityList = std::make_shared<SingleAxisPriorityList>();
22 
23  CHECK_EQ(singleAxisPriorityList->GetName(), std::string("SingleAxisPriorityList"));
24  CHECK_EQ(singleAxisPriorityList->GetMemBlockStrategyType(), MemBlockStrategyType::SingleAxisPacking);
25 
26  StrategyValidator validator;
27  validator.SetStrategy(singleAxisPriorityList);
28 
29  std::vector<MemBin> memBins;
30 
31  CHECK_NOTHROW(memBins = validator.Optimize(memBlocks));
32 
33  size_t minMemSize = GetMinPossibleMemorySize(memBlocks);
34  size_t actualSize = 0;
35  for (auto memBin : memBins)
36  {
37  actualSize += memBin.m_MemSize;
38  }
39 
40  CHECK(minMemSize == actualSize);
41  }
42 }
TEST_SUITE("TestConstTensorLayerVisitor")
std::vector< armnn::MemBlock > fsrcnn
size_t GetMinPossibleMemorySize(const std::vector< armnn::MemBlock > &blocks)
Copyright (c) 2021 ARM Limited and Contributors.
void SetStrategy(std::shared_ptr< IMemoryOptimizerStrategy > strategy)