diff options
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 + } |