diff options
author | David Monahan <david.monahan@arm.com> | 2020-02-12 15:52:35 +0000 |
---|---|---|
committer | David Monahan <david.monahan@arm.com> | 2020-02-13 14:58:57 +0000 |
commit | c1536d69c1468514425e143b0578656f51598b94 (patch) | |
tree | 36f2add33c611be04f2c9840ea43bc302fdf6cfe /src/backends/backendsCommon/test/BackendProfilingTests.cpp | |
parent | abfa902188c3fcd72cf435a8a457807f3c7b6508 (diff) | |
download | armnn-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/BackendProfilingTests.cpp')
-rw-r--r-- | src/backends/backendsCommon/test/BackendProfilingTests.cpp | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/src/backends/backendsCommon/test/BackendProfilingTests.cpp b/src/backends/backendsCommon/test/BackendProfilingTests.cpp new file mode 100644 index 0000000000..fc21730651 --- /dev/null +++ b/src/backends/backendsCommon/test/BackendProfilingTests.cpp @@ -0,0 +1,41 @@ +// +// Copyright © 2020 Arm Ltd. All rights reserved. +// SPDX-License-Identifier: MIT +// + +#include "MockBackend.hpp" +#include "MockBackendId.hpp" +#include "Runtime.hpp" + +#include <armnn/BackendId.hpp> +#include <boost/test/unit_test.hpp> +#include <vector> + +BOOST_AUTO_TEST_SUITE(BackendProfilingTestSuite) + +BOOST_AUTO_TEST_CASE(BackendProfilingCounterRegisterMockBackendTest) +{ + // Reset the profiling service to the uninitialized state + armnn::IRuntime::CreationOptions options; + options.m_ProfilingOptions.m_EnableProfiling = true; + armnn::profiling::ProfilingService& profilingService = armnn::profiling::ProfilingService::Instance(); + profilingService.ConfigureProfilingService(options.m_ProfilingOptions, true); + + armnn::MockBackendInitialiser initialiser; + // Create a runtime + armnn::IRuntimePtr runtime(armnn::IRuntime::Create(options)); + + // Check if the MockBackends 3 dummy counters {0, 1, 2-5 (four cores)} are registered + armnn::BackendId mockId = armnn::MockBackendId(); + const armnn::profiling::ICounterMappings& counterMap = profilingService.GetCounterMappings(); + BOOST_CHECK(counterMap.GetGlobalId(0, mockId) == 5); + BOOST_CHECK(counterMap.GetGlobalId(1, mockId) == 6); + BOOST_CHECK(counterMap.GetGlobalId(2, mockId) == 7); + BOOST_CHECK(counterMap.GetGlobalId(3, mockId) == 8); + BOOST_CHECK(counterMap.GetGlobalId(4, mockId) == 9); + BOOST_CHECK(counterMap.GetGlobalId(5, mockId) == 10); + options.m_ProfilingOptions.m_EnableProfiling = false; + profilingService.ResetExternalProfilingOptions(options.m_ProfilingOptions, true); +} + +BOOST_AUTO_TEST_SUITE_END()
\ No newline at end of file |