From b8a26d8f497f92643288a4c519af4d230ede1d7e Mon Sep 17 00:00:00 2001 From: Sadik Armagan Date: Mon, 4 Oct 2021 15:13:11 +0100 Subject: 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 Change-Id: I037f8ac8efa79c0f71bd63e379101e3ad92d80c9 --- .../backendsCommon/test/BackendRegistryTests.cpp | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) (limited to 'src/backends/backendsCommon/test/BackendRegistryTests.cpp') 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 #include +#include #include #include @@ -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 memoryOptimizerStrategy = + std::make_shared(); + 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 + } -- cgit v1.2.1