IVGCVSW-4317 Implement the Profiling Context Initialisation
* Call CreateBackendProfilingContext on each backend from Runtime passing
an instance of the BackendProfiling interface.
* Modify the signature of CreateBackendProfilingContext to remove const
and return a shared_ptr to BackendProfilingContext
* Add concrete BackendProfiling class.
* Store BackendProfilingContexts in Profiling service.
Signed-off-by: Colm Donelan <Colm.Donelan@arm.com>
Change-Id: I975eaa2093ae91fa623835f65f9e5b25eb65117a
diff --git a/include/armnn/backends/profiling/IBackendProfiling.hpp b/include/armnn/backends/profiling/IBackendProfiling.hpp
index 4c463a8..d3c5299 100644
--- a/include/armnn/backends/profiling/IBackendProfiling.hpp
+++ b/include/armnn/backends/profiling/IBackendProfiling.hpp
@@ -68,27 +68,25 @@
class IBackendProfiling
{
-protected:
- IBackendProfiling(const IRuntime::CreationOptions&)
- {}
-
public:
virtual ~IBackendProfiling()
{}
- IRegisterBackendCounters& GetCounterRegistrationInterface(uint16_t currentMaxGlobalCounterID);
+ virtual std::unique_ptr<IRegisterBackendCounters>
+ GetCounterRegistrationInterface(uint16_t currentMaxGlobalCounterID) = 0;
- ISendTimelinePacket& GetSendTimelinePacket();
+ virtual std::unique_ptr<ISendTimelinePacket> GetSendTimelinePacket() = 0;
- IProfilingGuidGenerator& GetProfilingGuidGenerator();
+ virtual IProfilingGuidGenerator& GetProfilingGuidGenerator() = 0;
- void ReportCounters(const std::vector<Timestamp>& counterValues);
+ virtual void ReportCounters(const std::vector<Timestamp>& counterValues) = 0;
- CounterStatus GetCounterStatus(uint16_t backendCounterId);
+ virtual CounterStatus GetCounterStatus(uint16_t backendCounterId) = 0;
- std::vector<CounterStatus> GetActiveCounters();
+ virtual std::vector<CounterStatus> GetActiveCounters() = 0;
- bool IsProfilingEnabled() const;
+ virtual bool IsProfilingEnabled() const = 0;
+
};
} // namespace profiling
} // namespace armnn
\ No newline at end of file