diff options
author | Sadik Armagan <sadik.armagan@arm.com> | 2021-10-04 15:13:11 +0100 |
---|---|---|
committer | TeresaARM <teresa.charlinreyes@arm.com> | 2021-10-06 13:27:57 +0000 |
commit | b8a26d8f497f92643288a4c519af4d230ede1d7e (patch) | |
tree | 89b1ad2303b8a18d4491eb47ab16f37e53e33c37 /src/backends/backendsCommon/test/BackendRegistryTests.cpp | |
parent | bc3bb62c2d5b881ca7f0b3973a533134196fc802 (diff) | |
download | armnn-b8a26d8f497f92643288a4c519af4d230ede1d7e.tar.gz |
IVGCVSW-6300 'IMemoryOptimizerStrategy Add strategy library and add support in BackendRegistry'
* Updated IRuntime interface for providing custom memory optimizer strategy.
* Enabled selecting existing memory optimizer strategy by using BackendOptions
* Added MemoryOptimizerStrategyLibrary that sets one of the existing memory optimizer
strategies selected by user
Signed-off-by: Sadik Armagan <sadik.armagan@arm.com>
Change-Id: I037f8ac8efa79c0f71bd63e379101e3ad92d80c9
Diffstat (limited to 'src/backends/backendsCommon/test/BackendRegistryTests.cpp')
-rw-r--r-- | src/backends/backendsCommon/test/BackendRegistryTests.cpp | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/src/backends/backendsCommon/test/BackendRegistryTests.cpp b/src/backends/backendsCommon/test/BackendRegistryTests.cpp index ba21b332e1..5acc61fe2c 100644 --- a/src/backends/backendsCommon/test/BackendRegistryTests.cpp +++ b/src/backends/backendsCommon/test/BackendRegistryTests.cpp @@ -7,6 +7,7 @@ #include <armnn/BackendRegistry.hpp> #include <armnn/backends/IBackendInternal.hpp> +#include <backendsCommon/memoryOptimizationStrategies/ConstLayerMemoryOptimizerStrategy.hpp> #include <reference/RefBackend.hpp> #include <doctest/doctest.h> @@ -145,4 +146,24 @@ TEST_CASE("ThrowBackendUnavailableException") BackendRegistryInstance().Deregister(mockBackendId); } +#if defined(ARMNNREF_ENABLED) +TEST_CASE("RegisterMemoryOptimizerStrategy") +{ + using namespace armnn; + + const BackendId cpuRefBackendId(armnn::Compute::CpuRef); + CHECK(BackendRegistryInstance().GetMemoryOptimizerStrategies().empty()); + + // Register the memory optimizer + std::shared_ptr<IMemoryOptimizerStrategy> memoryOptimizerStrategy = + std::make_shared<ConstLayerMemoryOptimizerStrategy>(); + BackendRegistryInstance().RegisterMemoryOptimizerStrategy(cpuRefBackendId, memoryOptimizerStrategy); + CHECK(!BackendRegistryInstance().GetMemoryOptimizerStrategies().empty()); + CHECK(BackendRegistryInstance().GetMemoryOptimizerStrategies().size() == 1); + // De-register the memory optimizer + BackendRegistryInstance().DeregisterMemoryOptimizerStrategy(cpuRefBackendId); + CHECK(BackendRegistryInstance().GetMemoryOptimizerStrategies().empty()); +} +#endif + } |