Age | Commit message (Collapse) | Author |
|
Currently the profiler uses signed 32-bit integers to hold the start and
end tick values. This is not appropriate because the tick values will
never be negative and the current ticks are returned as an unsigned
32-bit integer value.
To address this, the start and end ticks will now be stored as unsigned
32-bit integers instead.
Change-Id: I6358f3fde7c034c5e40409a9d3f7a576ff4897ce
Signed-off-by: Mikael Olsson <mikael.olsson@arm.com>
|
|
A placeholder profiler lib has been added with weak functions that can
be implemented to add further profiling functionality.
Change-Id: I111d0188c8e7d2b55106e8a93ca4a048faddb263
Signed-off-by: Mikael Olsson <mikael.olsson@arm.com>
|
|
Change-Id: I831e4546832aeae22c48b92cd2e8adfac797e704
|
|
Update the Ethos-U Monitor to merge performance samples where the
qread or status register have not changed.
Change-Id: I8b4ea728e004bd2ff05ad1c90326a864dc592f4d
|
|
Change-Id: I01bbafc45ca2a56759d7d5afbbbacefb40fd9a26
|
|
Add cycle counter, QREAD and STATUS to Event Monitor record.
Change-Id: I9c225558a9d46b05fe322270b4a921ead6bb0233
|
|
This will decrease current stack usage requirement and memory footprint.
Change-Id: I8ac314238efcdf1622cdcafd479c6cc1a8580509
|
|
Change 'Inference runtime' to measure CPU cycles for the
Tensorflow Lite Micro interpreter.Invoke() call.
Add 'Operator(s) runtime' print that prints a summary for
cycles spent on all operators during an inference. (This is
equivalent to the old reported 'Inference runtime')
Move prints out of the EndEvent() function in ArmProfiler as
it otherwise interferes with the inference cycle measurement.
Change-Id: Ie11b5abb5b12a3bcf5a67841f04834d05dfd796d
|
|
For larger networks the GetTotalTicks() might overflow if the function
returns int32_t. GetTotalTicks() is a non virtual function that can
be overridden with a different return type in the implementation class.
Change-Id: I8dd2e448fd13e0823fe1e5f9cc335998d2806416
|
|
Change-Id: Iefa21223b9157e25e11f88873541b39292d12872
|
|
Remove PMU configuration from the InferenceJob struct and add an
external context parameter intead. The external context is passed
to the TFLu interpreter and will be returned in the
ethosu_inference_begin() and ethosu_inference_end() callbacks.
Change-Id: I6dab04c0ab5088b1325be365d77d65d1182e7441
|
|
Split runJob() into smaller functions to make the code easier to
read and maintain.
Correct return type of Layer By Layer profiler GetTotalTicks().
Change-Id: Ie414522017b3b6c6da9a09182439dbe4b2efdb1f
|
|
Adapt layer-by-layer profiler to handle PMU event configuration,
PMU setup and retrieving PMU counter values.
Adapt the inference process application to support the lbl-profiler
PMU setup and retrieve/save PMU counter values in the InferenceJob
struct.
Change-Id: I1667a5b11c43c54e7d28232b594dd118bf3f79a8
|
|
Updating compiler warnings enabled for TFLu.
Fixing compiler warnings reported by Arm Clang and Arm GCC.
Change-Id: Iea959a59ea5416326a3014654389af82903c94a3
|
|
Remove new line from log messages to allow the log makros to format
the output.
Removing 'message process'. It has been replaced by the
'message handler' application in core platform.
Change-Id: Ie97063680c25a33844a8e52e7d39f042da0493e1
|
|
Libraries that link the layer_by_layer_profiler interface library will
also get the LAYER_BY_LAYER_PROFILE define appending to the build
arguments. This allows the preprocessor to select which profiler to use.
Change-Id: I85fec66d2dd9949fd7fe395fb44e49bda1539925
|
|
Logging macros:
Added ethosu_logging.h as a lib, containing logging macros controlled by
a parameter ETHOSU_LOG_SEVERITY set in core_software CMakeLists.txt
Updated inference_process:
Updated inference_process to include ethosu_logging and use the logging
macros rather than printf()
Updated message_process:
Updated message_process to include ethosu_logging and use the
logging macros rather than printf()
Updated ethosu_monitor:
Updated ethosu_monitor to include ethosu_logging and use the
logging macros rather than printf()
Updated layer_by_layer_profiler:
Updated layer_by_layer_profiler to include ethosu_logging and use the
logging macros rather than printf()
Updated mhu_v2:
Updated mhu_v2 to include ethosu_logging and use the
logging macros rather than printf()
Change-Id: I5d6fd80b7645b3e0af5b494eea6dbb7755f02122
|
|
Change-Id: I17b9c0d176e1f2532661107381d641c970e63f3c
|
|
* Add event recorded profiling to ethosu_profiler.
* Rename ethosu_profiler to layer_by_layer_profiler.
Change-Id: Ie39c29845b2d1eb6d9d72e3fce68bf373e9dc888
|
|
Change-Id: I780238c7695a326c088917cdd5b389d279d3d2c7
|
|
Change-Id: I624bf5c4376fd89ffc0b840878fb726c4cb87e4b
|
|
Change-Id: I9423c0c2a8aca738b2788ff5c41e946432188dc3
|
|
Change-Id: I3a1a361e6e8d40d2ac505b3c8d065c00224f1c2f
|
|
NPU PMU interface currently have functions that have been stepped
each time a compatibilty breaking changed has been introduced. Old
entrypoints have been redefined with macro to use the latest version
for backwards compatibility. This series of patches will remove any
such functions and macro to unify the interface.
Update: All PMU entrypoints to support updated interface
Change-Id: I56f47a36dcba66f884e721dddc844b8983aca1dd
|
|
Change-Id: I8d303043806e081238067e5773e4d4125bc64cfa
|
|
Change-Id: Idae34fd8ab6b17b0bc21db658fff135a5ddf5461
|