aboutsummaryrefslogtreecommitdiff
path: root/src/backends/backendsCommon/test/MockBackend.cpp
diff options
context:
space:
mode:
authorDavid Monahan <david.monahan@arm.com>2020-02-12 15:52:35 +0000
committerDavid Monahan <david.monahan@arm.com>2020-02-13 14:58:57 +0000
commitc1536d69c1468514425e143b0578656f51598b94 (patch)
tree36f2add33c611be04f2c9840ea43bc302fdf6cfe /src/backends/backendsCommon/test/MockBackend.cpp
parentabfa902188c3fcd72cf435a8a457807f3c7b6508 (diff)
downloadarmnn-c1536d69c1468514425e143b0578656f51598b94.tar.gz
IVGCVSW-4400 Backend Counter Registry Functionality
* Adding BackendProfilingContext to the MockBackend * Made IBackendProfilingContext pure Virtual * Added UnitTest using MockBackend for testing Backend Counter Registration * Moved Registry of backend counters from Initialize() to AddBackendProfilingContext() * Added m_MaxGlobalCounterId to ProfilingService * Removed automatic registration of MockBack in BackendRegistry() Signed-off-by: David Monahan <david.monahan@arm.com> Change-Id: Ie1c6c31e56d1ac7079d6116ecad041961014aedc
Diffstat (limited to 'src/backends/backendsCommon/test/MockBackend.cpp')
-rw-r--r--src/backends/backendsCommon/test/MockBackend.cpp31
1 files changed, 21 insertions, 10 deletions
diff --git a/src/backends/backendsCommon/test/MockBackend.cpp b/src/backends/backendsCommon/test/MockBackend.cpp
index ac99738a92..7ad700c786 100644
--- a/src/backends/backendsCommon/test/MockBackend.cpp
+++ b/src/backends/backendsCommon/test/MockBackend.cpp
@@ -5,6 +5,7 @@
#include "MockBackend.hpp"
#include "MockBackendId.hpp"
+#include "armnn/backends/profiling/IBackendProfilingContext.hpp"
#include <armnn/BackendRegistry.hpp>
@@ -66,19 +67,25 @@ bool IsLayerOptimizable(const armnn::Layer& layer)
namespace armnn
{
-namespace
+MockBackendInitialiser::MockBackendInitialiser()
{
+ BackendRegistryInstance().Register(MockBackend::GetIdStatic(),
+ []()
+ {
+ return IBackendInternalUniquePtr(new MockBackend);
+ });
+}
-static BackendRegistry::StaticRegistryInitializer g_RegisterHelper
+MockBackendInitialiser::~MockBackendInitialiser()
{
- BackendRegistryInstance(),
- MockBackend::GetIdStatic(),
- []()
+ try
{
- return IBackendInternalUniquePtr(new MockBackend);
+ BackendRegistryInstance().Deregister(MockBackend::GetIdStatic());
+ }
+ catch (...)
+ {
+ std::cerr << "could not deregister mock backend" << std::endl;
}
-};
-
}
const BackendId& MockBackend::GetIdStatic()
@@ -99,9 +106,13 @@ IBackendInternal::IBackendContextPtr MockBackend::CreateBackendContext(const IRu
}
IBackendInternal::IBackendProfilingContextPtr MockBackend::CreateBackendProfilingContext(
- const IRuntime::CreationOptions&, IBackendProfilingPtr&)
+ const IRuntime::CreationOptions& options, IBackendProfilingPtr& backendProfiling)
{
- return IBackendProfilingContextPtr{};
+ boost::ignore_unused(options);
+ IBackendInternal::IBackendProfilingContextPtr context =
+ std::make_shared<MockBackendProfilingContext>(MockBackendProfilingContext(backendProfiling));
+ MockBackendProfilingService::Instance().SetProfilingContextPtr(context);
+ return context;
}
IBackendInternal::IMemoryManagerUniquePtr MockBackend::CreateMemoryManager() const