Age | Commit message (Collapse) | Author |
|
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
|
|
The printing of the output tensor can be truncated, by adding the
original size of the output in bytes the included data can be
checked for completeness. The dims will tell the number of elements
of the output tensor and is not useful for this purpose as the
element size can vary.
Change-Id: Ied5447e34416a8c6668eeae5c01a5474f103023f
|
|
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
|
|
This avoids a warning in TFLu
Change-Id: I90f6d6cefbe69c720d3c65c550d7f65e727c48fb
|
|
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
|
|
Change-Id: Idffa9b21385451883795412076ea48218d6c74ba
|
|
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
|
|
Change-Id: I7cd561d96bf88fa24c1e3dc5f3b30403bfacafb8
|
|
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
|
|
Change-Id: Ib69b8c0a9af482408f2108ea13c682afabb9f0c7
|
|
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
|
|
The tflu_debug_log should be controlled by tflu and not the
core_software. Thus changing LOG_DEBUG -> LOG shifts control from
core_software to tflu.
Change-Id: I3507366cee8c971b1242434ea73f405a8abc5f83
|
|
This change works around an issue when compiling with GCC where by
printing only a '\n' the produced global output is wrong. What happens
is that new lines are actually printed before the content in the
precedent fprintf calls. Hence the generated json is unparsable.
Note also that replacing the LOG macros with direct calls to fprintf
does _not_ solve the issue.
Change-Id: I2d97703cbe7703aae94def1943e2ac693945ab31
|
|
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
|
|
Removing define that is no longer needed now that the profiler
classes have been implemented.
Updating .gitignore.
Change-Id: Idc1eab268a4f4d1ff9460671f8547c1fcb209f82
|
|
Change-Id: I19b806e94207580ab548e8cd4ddada32debf0639
|
|
* Add event recorded profiling to ethosu_profiler.
* Rename ethosu_profiler to layer_by_layer_profiler.
Change-Id: Ie39c29845b2d1eb6d9d72e3fce68bf373e9dc888
|
|
Change-Id: I8d303043806e081238067e5773e4d4125bc64cfa
|
|
Change-Id: Idae34fd8ab6b17b0bc21db658fff135a5ddf5461
|
|
Verify that the size of the pmueventconfig argument is the expected size
before accessing the vector and set up the pmu counters to be
ETHOSU_PMU_NO_EVENT if it's not.
Change-Id: Icfcf5255e7e99fd3bcae6535d54f8c18e89e24f2
|
|
Change-Id: I2f0a7c9ec9e59b2a076bfd873e5a997189c67e11
|
|
The interface to the MicroProfiler has changed in the latest revision
of TFLu. Updating core software to fix the compilation errors.
Change-Id: Ief8cc17859c9abcb9455110c660c0de56d938fe5
|
|
Moved TensorArena in inference_process.ccp to application level.
InferenceProcess class now takes TensorArena pointer and TensorArenaSize as parameters. Needs to be set by application before runJob() is called.
Change-Id: I530b96039868305fa903ae7f93419d9d00f9c16f
|
|
Change-Id: I908ea337ffb7229a33af3364b5374209c7e9df54
|
|
Change-Id: I6245d4fa6cf32c9edb05f52bb07e1d7b6a1c17fe
|
|
Change-Id: I6594acc228fe8048f56cb96ac7846a87491eed38
|
|
Change-Id: Ib0be731c8c42f3e1ca4c8bf53d8b226e9757eecf
|
|
Invalidating and cleaning buffers exchanged between Core and remote CPU.
Change-Id: Icd9ce6c916422a6bbcdd42e31651a622240d0ce4
|
|
Change-Id: Ie981df16056ea0b72ed60f07bba9f39a7cb9a23f
|
|
The applications doesn't need the cmsis device dependency. Remove it and
add the explicit headers that are required to access assembler defines.
Change-Id: I959b60e0ca150a75145319df207cfeb6361f0022
|
|
Change-Id: I47eae5334d2cfa5c6e17f820095dbadebce9a1e8
|
|
Change-Id: I799add461ab0db5b86c78a440937d722620e6d3b
|
|
Update inference process apis to support inferences with multiple inputs
and multiple outputs.
Update message process to handle new inference request message with an
array of input- and output buffers.
Change-Id: Ide0897385a1d829f58edace79140d01d8e3b85a3
|
|
Change-Id: I76e94440402d58848116d06ff3fd1ed2000ac505
|