diff options
Diffstat (limited to 'src/backends/backendsCommon/memoryOptimizerStrategyLibrary/test/SingleAxisPriorityListTests.cpp')
-rw-r--r-- | src/backends/backendsCommon/memoryOptimizerStrategyLibrary/test/SingleAxisPriorityListTests.cpp | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/src/backends/backendsCommon/memoryOptimizerStrategyLibrary/test/SingleAxisPriorityListTests.cpp b/src/backends/backendsCommon/memoryOptimizerStrategyLibrary/test/SingleAxisPriorityListTests.cpp new file mode 100644 index 0000000000..516f6f3771 --- /dev/null +++ b/src/backends/backendsCommon/memoryOptimizerStrategyLibrary/test/SingleAxisPriorityListTests.cpp @@ -0,0 +1,42 @@ +// +// Copyright © 2021 Arm Ltd and Contributors. All rights reserved. +// SPDX-License-Identifier: MIT +// + +#include <backendsCommon/memoryOptimizerStrategyLibrary/strategies/SingleAxisPriorityList.hpp> +#include <backendsCommon/memoryOptimizerStrategyLibrary/strategies/StrategyValidator.hpp> +#include "TestMemBlocks.hpp" + +#include <doctest/doctest.h> +#include <vector> + +using namespace armnn; + +TEST_SUITE("SingleAxisPriorityListTestSuite") +{ + TEST_CASE("SingleAxisPriorityListTest") + { + std::vector<MemBlock> memBlocks = fsrcnn; + + auto singleAxisPriorityList = std::make_shared<SingleAxisPriorityList>(); + + CHECK_EQ(singleAxisPriorityList->GetName(), std::string("SingleAxisPriorityList")); + CHECK_EQ(singleAxisPriorityList->GetMemBlockStrategyType(), MemBlockStrategyType::SingleAxisPacking); + + StrategyValidator validator; + validator.SetStrategy(singleAxisPriorityList); + + std::vector<MemBin> memBins; + + CHECK_NOTHROW(memBins = validator.Optimize(memBlocks)); + + size_t minMemSize = GetMinPossibleMemorySize(memBlocks); + size_t actualSize = 0; + for (auto memBin : memBins) + { + actualSize += memBin.m_MemSize; + } + + CHECK(minMemSize == actualSize); + } +} |