aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2022-05-24Remove unused leftover driver code22.05-rc322.05Davide Grohmann
All drivers have been moved to core_platform. Change-Id: I260e2ac94c25bc06ea69a20b00218b45278538cb
2022-05-12Add support for Cortex-M8522.05-rc2Davide Grohmann
Remove old unused cmake toolchain files. Adapt FreeRTOS to be used with Cortex-M85: fallback to use Cortex-M33 port files in FreeRTOS like for Cortex-M55. Change-Id: I79af29ed920e1920c970bc6f516e9b711019692a
2022-05-09Silence compilation warnings22.05-rc1Kristofer Jonsson
Add compilation flags to silence warnings about unused functions and parameters. Change-Id: I2c87a39c2adc05a19a59cf3978c5612f568be61a
2022-04-29Add TFLM arena allocatorKristofer Jonsson
Updating tflite_micro.cmake to include the arena allocator. Change-Id: I793353afeccdf7f8a791b0e7202078eaffe72d7d
2022-04-12Add inference parsing to inference process libraryDavide Grohmann
Change-Id: If90ebe17cc33b8fef9e6a4ebae43a2e5749d8a37
2022-03-24Update tflite micro cmake build settingMåns Nilsson
Since tensorflow/lite/c/common.c has changed name to tensorflow/lite/c/common.cc. Change-Id: Ib2ad4a02e3c78f9a0dac841f45b430e88d1a0e94
2022-03-21Add size of data in bytes to output tensor printHenrik Hoglind
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
2022-02-21Only enable ThreadX for Cortex-M5522.02-rc322.02Per Åstrand
The branch on the ThreadX fork doesn't build for Cortex-M33 so only enable it for Cortex-M55. Change-Id: I2e562e2f872902a9d87584fbacc4dd6b556d0b51
2022-02-17Adjust build system for threadx for Cortex-M33 and Cortex-M55Davide Grohmann
Change-Id: I4b229dbf750cbbb6306e54ff29db744a2c411ca8
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-02-09Do not set external context if NULLDavide Grohmann
This avoids a warning in TFLu Change-Id: I90f6d6cefbe69c720d3c65c550d7f65e727c48fb
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
2022-01-14Remove unused functionsKristofer Jonsson
Change-Id: Idffa9b21385451883795412076ea48218d6c74ba
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-14Move drivers to core_platformYulia Garbovich
Move to core_platform repository. core_software repository should only contain components related to running an inference. Drivers are platform components. Change-Id: I232ef14ce151db7e89cef39ec3b2d6c0b4da8aef
2021-12-08Add crc32 of output to inference_runnerHenrik Hoglind
Change-Id: I7cd561d96bf88fa24c1e3dc5f3b30403bfacafb8
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-24TFLu reference kernels21.11-rc321.11Kristofer Jonsson
When CORE_SOFTWARE_ACCELERATOR is set to CPU, then the TFLu reference kernels should be used rather than the CMSIS-NN optimized kernels. Change-Id: I09418b2e32d8c1654892bc5caec9e5b80ccd6c9f
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-11-16CMake recipe for tflite-microKristofer Jonsson
Replace the make call to tflite-micro with a CMake recipe that builds the Tensorflow lite micro library. This removes the dependency on make and should allow all core software components to be built with CMake and a common toolchain file. Change-Id: If9f380c3d07a790be37b7cb70d2aef458d585fdb
2021-10-01Revert "Remove workaround of setting CORE_OPTIMIZATION_LEVEL to -Ofast"21.11-rc1Kristofer Jonsson
This reverts commit 236a00d1125267be32d8f745d8d49e3e73251151. Reason for revert: Patch caused regression failures that need to be addressed. Change-Id: I2e79a16b8e5fa61d8b313ad7808cfd8845e4275a
2021-09-29Remove workaround of setting CORE_OPTIMIZATION_LEVEL to -OfastPatrik Laurell
Change-Id: I97d0e8e7000d621193432af7380ae22d2e5a262a Signed-off-by: Anton Moberg <anton.moberg@arm.com>
2021-09-09Update call to MicroInterpreter to be in line with upstreamJens Elofsson
Change-Id: Ib69b8c0a9af482408f2108ea13c682afabb9f0c7
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-08-17Update .gitignore to exclude zephyr sub-git21.08-rc2Davide Grohmann
Change-Id: I326fcf3d7c9bcdb4e4d8b5ea1e36660dfe4e5ae7
2021-08-17Layer-by-layer logging bugAnton Moberg
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
2021-08-16Fix wrong output data json format when compiling with GCC21.08-rc1Davide Grohmann
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
2021-08-12Do not expose device specific info in capabilitiesDavide Grohmann
Change-Id: Id43be4f899610e9b0ef96790fbff330f3c8537c1
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-07-13Change OPTIMIZATION_LEVEL to KERNEL and CORE_OPTIMIZATION_LEVEL in ↵Anton Moberg
tflite_micro.cmake Change-Id: I16f71dd3ed072b7a32aecec08c4ce348b671a280
2021-06-29Removing profiler defineKristofer Jonsson
Removing define that is no longer needed now that the profiler classes have been implemented. Updating .gitignore. Change-Id: Idc1eab268a4f4d1ff9460671f8547c1fcb209f82
2021-06-28adding ThreadX to rtos CMakeLists.txtliodek01
Change-Id: Id54df3d56e85c995842d5330b6a7b6e8129440ce
2021-06-22Remove map file generationKristofer Jonsson
Remove map file generation from the toolchain file. The name of the target is not known here, so it will not be possible to name the map file after the target. Change-Id: I087eb1983ecf8fb1d5a4575fcaf18ed73a2042cb
2021-06-21Workaround for https://github.com/tensorflow/tflite-micro/issues/199.Jens Elofsson
Change-Id: I35c8179a40b89e78d144813309b7b0e0d8a68285
2021-06-15Switch to the new tflite-micro repo.Jens Elofsson
Change-Id: I19b806e94207580ab548e8cd4ddada32debf0639
2021-06-10Add support for fetching ethosu capabilitiesDavide Grohmann
Change-Id: I5507b42a66649ab04f7a5932777830d105b3123b
2021-06-09Flatbuffer pathKristofer Jonsson
Add flatbuffer path to TLFu library. Change-Id: Id43e127531e2bc6970d041454c8939af6e91cced
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-21Add cmsis-view to .gitignore.Jens Elofsson
Change-Id: I0e12a276007441469aba656b2778f1b12d2acc7b
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
2021-05-05MLBEDSW-4228 Building on Windows21.05-rc221.05-rc1Jonas Ohlsson
Changes to facilitate building on Windows systems. Signed-off-by: Jonas Ohlsson <jonas.ohlsson@arm.com> Change-Id: I40ffad5fbbe0640a1026f6f8a95bd4a1ef0fb68b