IVGCVSW-4069 Add ProfilingGuid to Network
Added ProfilingGuid to
* INetwork,
* Network,
* IOptimizedNetwork and
* OptimizedNetwork
!android-nn-driver:2234
!armnn:2250
Signed-off-by: Jan Eilers <jan.eilers@arm.com>
Change-Id: I235116992cc47b4f385b7eb9da514c6350ca00f4
diff --git a/src/armnn/Network.cpp b/src/armnn/Network.cpp
index b1cb5a8..573f6a1 100644
--- a/src/armnn/Network.cpp
+++ b/src/armnn/Network.cpp
@@ -22,6 +22,8 @@
#include <armnn/TypesUtils.hpp>
#include <armnn/BackendRegistry.hpp>
+#include <ProfilingService.hpp>
+
#include <fcntl.h>
#include <algorithm>
#include <fstream>
@@ -53,12 +55,6 @@
delete boost::polymorphic_downcast<Network*>(network);
}
-Status Network::PrintGraph()
-{
- m_Graph->Print();
- return Status::Success;
-}
-
void IOptimizedNetwork::Destroy(IOptimizedNetwork* network)
{
delete boost::polymorphic_downcast<OptimizedNetwork*>(network);
@@ -925,7 +921,8 @@
}
Network::Network()
-: m_Graph(std::make_unique<Graph>())
+: m_Graph(std::make_unique<Graph>()),
+ m_Guid(profiling::ProfilingService::Instance().NextGuid())
{
}
@@ -933,6 +930,12 @@
{
}
+Status Network::PrintGraph()
+{
+ m_Graph->Print();
+ return Status::Success;
+}
+
IConnectableLayer* Network::AddInputLayer(LayerBindingId id, const char* name)
{
return m_Graph->AddLayer<InputLayer>(id, name);
@@ -1563,7 +1566,8 @@
}
OptimizedNetwork::OptimizedNetwork(std::unique_ptr<Graph> graph)
- : m_Graph(std::move(graph))
+ : m_Graph(std::move(graph)),
+ m_Guid(profiling::ProfilingService::Instance().NextGuid())
{
}
diff --git a/src/armnn/Network.hpp b/src/armnn/Network.hpp
index 49cf4da..0a11941 100644
--- a/src/armnn/Network.hpp
+++ b/src/armnn/Network.hpp
@@ -34,6 +34,8 @@
Status PrintGraph() override;
+ profiling::ProfilingGuid GetGuid() const final { return m_Guid; };
+
IConnectableLayer* AddInputLayer(LayerBindingId id, const char* name=nullptr) override;
IConnectableLayer* AddArgMinMaxLayer(const ArgMinMaxDescriptor& desc,
@@ -248,6 +250,7 @@
const char* name);
std::unique_ptr<Graph> m_Graph;
+ profiling::ProfilingGuid m_Guid;
};
class OptimizedNetwork final : public IOptimizedNetwork
@@ -259,10 +262,13 @@
Status PrintGraph() override;
Status SerializeToDot(std::ostream& stream) const override;
+ profiling::ProfilingGuid GetGuid() const final { return m_Guid; };
+
Graph& GetGraph() { return *m_Graph; }
private:
std::unique_ptr<Graph> m_Graph;
+ profiling::ProfilingGuid m_Guid;
};