Jens Elofsson | 8b1d9de | 2021-05-27 16:03:20 +0200 | [diff] [blame] | 1 | @startuml |
| 2 | skinparam backgroundColor #FEFEFE |
| 3 | |
| 4 | box "Application" #Orange |
| 5 | participant "Application" as app |
| 6 | end box |
| 7 | |
| 8 | box "PMU monitor" #Orange |
| 9 | participant "PMU monitor" as pmumon |
| 10 | end box |
| 11 | |
| 12 | box "Tensorflow" #LightGreen |
| 13 | participant "TFLu" as tflu |
| 14 | end box |
| 15 | |
| 16 | box "Ethos-U" #LightBlue |
| 17 | participant "Ethos-U driver" as driver |
| 18 | end box |
| 19 | |
| 20 | box "EventRecorder" #LightBlue |
| 21 | participant EventRecorder as event |
| 22 | end box |
| 23 | |
| 24 | box "Timer source" |
| 25 | participant "Timer source" as timer |
| 26 | end box |
| 27 | |
| 28 | app -> event: EventRecorderInitialize() |
| 29 | |
| 30 | app -> tflu: Invoke() |
| 31 | tflu -> driver: ethosu_invoke() |
| 32 | |
| 33 | driver -> app ++: ethosu_inference_begin(inference data, driver) [weak] |
| 34 | app -> pmumon: ethosu_monitor.configure() |
| 35 | pmumon -> driver: 'Configure PMU' |
| 36 | pmumon -> timer: Enable timer events |
| 37 | return |
| 38 | |
| 39 | group While the Ethos-U custom op is executing |
| 40 | group Recurrent: PMU-monitor log events |
| 41 | ... |
| 42 | timer -> app++: Timer event |
| 43 | app -> pmumon: ethosu_monitor.monitorSample() |
| 44 | pmumon -> driver: 'Sample PMU registers' |
| 45 | driver --> pmumon |
| 46 | pmumon -> event : EventRecord2() |
| 47 | ... |
| 48 | end |
| 49 | end |
| 50 | |
| 51 | driver -> app++: ethosu_inference_end(inference data, driver) [weak] |
| 52 | app -> timer: 'Disable timer events' |
| 53 | app -> pmumon: ethosu_monitor.monitorSample() |
| 54 | pmumon -> driver: 'Sample PMU registers' |
| 55 | driver --> pmumon |
| 56 | pmumon -> event : EventRecord2() |
| 57 | app -> pmumon: ethosu_monitor.release() |
| 58 | pmumon -> driver: 'Disable PMU' |
| 59 | return |
| 60 | |
| 61 | @enduml |