aboutsummaryrefslogtreecommitdiff
path: root/lib
AgeCommit message (Collapse)Author
2 daysChange to use uint32_t in Arm profiler for ticksHEAD24.05-rc1mainMikael Olsson
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>
2023-12-15Add NPU placeholder profiler lib24.02-rc124.02Mikael Olsson
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>
2023-03-14Fix SEI CERT coding standard warningsLedion Daja
Change-Id: I831e4546832aeae22c48b92cd2e8adfac797e704
2022-12-05Merge performance samplesKristofer Jonsson
Update the Ethos-U Monitor to merge performance samples where the qread or status register have not changed. Change-Id: I8b4ea728e004bd2ff05ad1c90326a864dc592f4d
2022-11-23Use Tensorflow MicroPrintfKristofer Jonsson
Change-Id: I01bbafc45ca2a56759d7d5afbbbacefb40fd9a26
2022-10-03Update Event MonitorKristofer Jonsson
Add cycle counter, QREAD and STATUS to Event Monitor record. Change-Id: I9c225558a9d46b05fe322270b4a921ead6bb0233
2022-09-29Profilers inherit MicroProfilerInterface instead of MicroProfilerMåns Nilsson
This will decrease current stack usage requirement and memory footprint. Change-Id: I8ac314238efcdf1622cdcafd479c6cc1a8580509
2022-06-14Refactor performance measurementsJonny Svärd
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
2022-02-10Increase GetTotalTicks() to uint64_t22.02-rc222.02-rc1Kristofer Jonsson
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
2022-02-10Break out the Crc class to its own libraryJonny Svärd
Change-Id: Iefa21223b9157e25e11f88873541b39292d12872
2022-01-31Set TFLu external contextKristofer Jonsson
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
2022-01-27Inference process updateKristofer Jonsson
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
2021-12-22Use lbl-profiler to setup PMU and PMU eventsJonny Svärd
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
2021-12-02Fixing compiler warningsKristofer Jonsson
Updating compiler warnings enabled for TFLu. Fixing compiler warnings reported by Arm Clang and Arm GCC. Change-Id: Iea959a59ea5416326a3014654389af82903c94a3
2021-11-18Remove new line from log messages21.11-rc2Kristofer Jonsson
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
2021-08-30Exporting define for layer by layer profiler21.08-rc321.08Kristofer Jonsson
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
2021-07-15Improved Logging - Core SoftwareAnton Moberg
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
2021-05-31README for the Ethos-U Monitor.21.05Jens Elofsson
Change-Id: I17b9c0d176e1f2532661107381d641c970e63f3c
2021-05-27Add Event Recorder ProfilingJens Elofsson
* Add event recorded profiling to ethosu_profiler. * Rename ethosu_profiler to layer_by_layer_profiler. Change-Id: Ie39c29845b2d1eb6d9d72e3fce68bf373e9dc888
2021-05-27Fix compiler warnings by redordering class members.Jens Elofsson
Change-Id: I780238c7695a326c088917cdd5b389d279d3d2c7
2021-05-27Add one eventRecordId for each ethosuEventId.Jens Elofsson
Change-Id: I624bf5c4376fd89ffc0b840878fb726c4cb87e4b
2021-05-27Add ethosu_monitor to core_software.21.05-rc3Jens Elofsson
Change-Id: I9423c0c2a8aca738b2788ff5c41e946432188dc3
2021-05-24Fixing compilation warningsKristofer Jonsson
Change-Id: I3a1a361e6e8d40d2ac505b3c8d065c00224f1c2f
2021-05-24[Core Software] Update and remove pmu "v2"-functionsAnton Moberg
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
2021-05-21Remove the PMU event register handling from EthosuProfiler.Jens Elofsson
Change-Id: I8d303043806e081238067e5773e4d4125bc64cfa
2021-05-21Add EthosuProfiler to perform layer-by-layer profiling on Ethos-U.Jens Elofsson
Change-Id: Idae34fd8ab6b17b0bc21db658fff135a5ddf5461