aboutsummaryrefslogtreecommitdiff
path: root/lib/ethosu_monitor/docs/ethosu_monitor_example_usage.puml
diff options
context:
space:
mode:
authorJens Elofsson <jens.elofsson@arm.com>2021-05-27 16:03:20 +0200
committerKristofer Jonsson <kristofer.jonsson@arm.com>2021-05-31 11:10:50 +0000
commit8b1d9ded33ec59545897ff45019d05403dba7eee (patch)
tree5a730e18597c67baa3efaa800056e4bc81dbde6f /lib/ethosu_monitor/docs/ethosu_monitor_example_usage.puml
parent701a63b693bc877fc44abd802a9b2a431d81cfbe (diff)
downloadethos-u-core-software-8b1d9ded33ec59545897ff45019d05403dba7eee.tar.gz
README for the Ethos-U Monitor.21.05
Change-Id: I17b9c0d176e1f2532661107381d641c970e63f3c
Diffstat (limited to 'lib/ethosu_monitor/docs/ethosu_monitor_example_usage.puml')
-rw-r--r--lib/ethosu_monitor/docs/ethosu_monitor_example_usage.puml61
1 files changed, 61 insertions, 0 deletions
diff --git a/lib/ethosu_monitor/docs/ethosu_monitor_example_usage.puml b/lib/ethosu_monitor/docs/ethosu_monitor_example_usage.puml
new file mode 100644
index 0000000..868ac4d
--- /dev/null
+++ b/lib/ethosu_monitor/docs/ethosu_monitor_example_usage.puml
@@ -0,0 +1,61 @@
+@startuml
+skinparam backgroundColor #FEFEFE
+
+box "Application" #Orange
+participant "Application" as app
+end box
+
+box "PMU monitor" #Orange
+participant "PMU monitor" as pmumon
+end box
+
+box "Tensorflow" #LightGreen
+participant "TFLu" as tflu
+end box
+
+box "Ethos-U" #LightBlue
+participant "Ethos-U driver" as driver
+end box
+
+box "EventRecorder" #LightBlue
+participant EventRecorder as event
+end box
+
+box "Timer source"
+participant "Timer source" as timer
+end box
+
+app -> event: EventRecorderInitialize()
+
+app -> tflu: Invoke()
+tflu -> driver: ethosu_invoke()
+
+driver -> app ++: ethosu_inference_begin(inference data, driver) [weak]
+app -> pmumon: ethosu_monitor.configure()
+pmumon -> driver: 'Configure PMU'
+pmumon -> timer: Enable timer events
+return
+
+group While the Ethos-U custom op is executing
+group Recurrent: PMU-monitor log events
+ ...
+ timer -> app++: Timer event
+ app -> pmumon: ethosu_monitor.monitorSample()
+ pmumon -> driver: 'Sample PMU registers'
+ driver --> pmumon
+ pmumon -> event : EventRecord2()
+...
+end
+end
+
+driver -> app++: ethosu_inference_end(inference data, driver) [weak]
+app -> timer: 'Disable timer events'
+app -> pmumon: ethosu_monitor.monitorSample()
+pmumon -> driver: 'Sample PMU registers'
+driver --> pmumon
+pmumon -> event : EventRecord2()
+app -> pmumon: ethosu_monitor.release()
+pmumon -> driver: 'Disable PMU'
+return
+
+@enduml