aboutsummaryrefslogtreecommitdiff
path: root/src/profiling/ProfilingGuidGenerator.hpp
diff options
context:
space:
mode:
authorJim Flynn <jim.flynn@arm.com>2019-10-25 13:17:30 +0100
committerMatteo Martincigh <matteo.martincigh@arm.com>2019-10-28 16:29:22 +0000
commitab84575629b4836ce592ea77831225ce5bbe676f (patch)
treea756383845ba3a936699adae858b88896f96feed /src/profiling/ProfilingGuidGenerator.hpp
parentd6f26fc022defe1f6220bb6e2874fefc9a4c0cba (diff)
downloadarmnn-ab84575629b4836ce592ea77831225ce5bbe676f.tar.gz
IVGCVSW-4031 Provide well known profiling GUIDs
Change-Id: Ibf99b025f51503e8937012b655aad74698f32e38 Signed-off-by: Jim Flynn <jim.flynn@arm.com> Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
Diffstat (limited to 'src/profiling/ProfilingGuidGenerator.hpp')
-rw-r--r--src/profiling/ProfilingGuidGenerator.hpp21
1 files changed, 18 insertions, 3 deletions
diff --git a/src/profiling/ProfilingGuidGenerator.hpp b/src/profiling/ProfilingGuidGenerator.hpp
index 38816faf3e..81997e10a7 100644
--- a/src/profiling/ProfilingGuidGenerator.hpp
+++ b/src/profiling/ProfilingGuidGenerator.hpp
@@ -7,6 +7,8 @@
#include "IProfilingGuidGenerator.hpp"
+#include <functional>
+
namespace armnn
{
@@ -17,15 +19,28 @@ class ProfilingGuidGenerator : public IProfilingGuidGenerator
{
public:
/// Construct a generator with the default address space static/dynamic partitioning
- ProfilingGuidGenerator() {}
+ ProfilingGuidGenerator() : m_Sequence(0) {}
/// Return the next random Guid in the sequence
// NOTE: dummy implementation for the moment
- inline ProfilingDynamicGuid NextGuid() override { return ProfilingDynamicGuid(0); }
+ inline ProfilingDynamicGuid NextGuid() override
+ {
+ ProfilingDynamicGuid guid(m_Sequence);
+ m_Sequence++;
+ return guid;
+ }
/// Create a ProfilingStaticGuid based on a hash of the string
// NOTE: dummy implementation for the moment
- inline ProfilingStaticGuid GenerateStaticId(const std::string& str) override { return ProfilingStaticGuid(0); }
+ inline ProfilingStaticGuid GenerateStaticId(const std::string& str) override
+ {
+ uint64_t guid = static_cast<uint64_t>(m_StringHasher(str));
+ return guid;
+ }
+
+private:
+ std::hash<std::string> m_StringHasher;
+ uint64_t m_Sequence;
};
} // namespace profiling