aboutsummaryrefslogtreecommitdiff
path: root/src/backends/backendsCommon/test/BackendRegistryTests.cpp
diff options
context:
space:
mode:
authorSadik Armagan <sadik.armagan@arm.com>2021-10-04 15:13:11 +0100
committerTeresaARM <teresa.charlinreyes@arm.com>2021-10-06 13:27:57 +0000
commitb8a26d8f497f92643288a4c519af4d230ede1d7e (patch)
tree89b1ad2303b8a18d4491eb47ab16f37e53e33c37 /src/backends/backendsCommon/test/BackendRegistryTests.cpp
parentbc3bb62c2d5b881ca7f0b3973a533134196fc802 (diff)
downloadarmnn-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.cpp21
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
+
}