aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
4 daysAdd VIRTIO macros to custom OpenAMP CMake fileHEADmainMikael Olsson
The OpenAMP library has been changed to required the build system to define the VIRTIO_DRIVER_SUPPORT and VIRTIO_DEVICE_SUPPORT macros to know what code to include and will fail to build if these macros are not defined. As a custom CMake file is used to build OpenAMP rather than using the one provided by the library, the library currently fails to build because the custom CMake file does not define the required macros. To resolve this, the custom CMake file now defines the missing macros. Change-Id: Iae0d40a7604b6eccead2adb157487ad1c57024a3 Signed-off-by: Mikael Olsson <mikael.olsson@arm.com>
2024-03-15Add INT64 support to inference_parsermasterJonny Svärd
Change-Id: I2462632f3b87df193c69b277b0944eb4d5d0efac Signed-off-by: Jonny Svärd <jonny.svaerd@arm.com>
2024-03-06Update TFLM build configurationMåns Nilsson
- Renames build flags (TFLU_*->TFLM_*). - Fix generator expressions in add_compile_definitions. - Adds new build flag TFLM_OPTIMIZE_KERNELS_FOR. This is a new flag in TFLM, which is currently needed for CMSIS-NN Transpose conv. Since TFLM's own build files are not used it need to be set explicitly here. Change-Id: I8ff01caabfc1c5d2fcc3fa36fcbd153525d93258 Signed-off-by: Måns Nilsson <mans.nilsson@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-11-08Remove workaround for libmetal support with ARMCC v6 compiler23.11-rc223.11-rc123.11Ledion Daja
A workaround had been added previously to support building of libmetal library with ARMCC v6. Since such support has recently been added upstream in the libmetal repository, the workaround can now be removed. Change-Id: Idb5e6ba3112e329a0c2193d35c80c3cb45f90486 Signed-off-by: Ledion Daja <ledion.daja@arm.com>
2023-10-24Update FlatBuffers versionAdrian Lundell
FlatBuffers version updated to v23.5.26 to match tflite-micro patch 6bb1e3a. Change-Id: I9c092d0bf461d790a967b137f4dfedc8660496f9 Signed-off-by: Adrian Lundell <adrian.lundell@arm.com>
2023-08-07Fix parser not always null-terminating model desc23.08-rc223.08-rc123.08Mikael Olsson
The inference parser copies the description from the model using strncpy, which will only add a null-terminator if the source string is shorter than the destination. Otherwise, if the bytes copied are not null-terminated, the destination is left without one. To ensure that the description is always null-terminated, the last byte of the description is now always overwritten with one. Change-Id: I49c23acd12d661e1f5c37088dba2e37935f25fa5 Signed-off-by: Mikael Olsson <mikael.olsson@arm.com>
2023-06-20Replace AllOpsResolver usage with new solutionLedion Daja
AllOpsResolver is no longer available. Create a new similar fallback solution that is based on a MicroMutableOpResolver instance instead. Change-Id: I398d0d99c4d0a5230ab1435796e1e1c6dea47f8f
2023-06-13Add cmsis-dsp in repository's ignore listLedion Daja
Change-Id: Ie19178905af511a1117c8501ec1c84d1c996a94c
2023-05-02Suppress openamp warnings23.05-rc223.05-rc123.05Ledion Daja
Added '-Wno-cast-align' and '-Wno-unused-but-set-variable' options to suppress openamp related warnings Change-Id: I67c82f0639a580fc4d8d49ef12e45ead36d4fc82
2023-04-27inference_process: Replace deprecated function callJonny Svärd
Replace deprecated Length() call in Flatbuffers with size(), as suggested by the deprecation warning. Change-Id: If28f85547120598860e3606b3983dc4607247bb0
2023-04-26Make inference process reusableMåns Nilsson
Private members are protected and run job is virtual to make it more flexible to customize running jobs. Change-Id: I2e4a0760000a451eead062ef758b467ea248dffe
2023-04-04Inference app: Call external context after allocate tensorsMåns Nilsson
TFLM now mandates to set external context during prepare or invoke state. Change-Id: I87d3f386aac5c47b71a7abfb9a8c48ff0255fc67
2023-03-14Fix SEI CERT coding standard warningsLedion Daja
Change-Id: I831e4546832aeae22c48b92cd2e8adfac797e704
2023-02-15Fix compilation warnings for OpenAMP23.02-rc223.02Kristofer Jonsson
Add support for ArmClang including the correct errno.h. Silence warnings about unsupported pragma. Change-Id: Ieb88938399679ddc39f7b8c390e41afef2b46606
2023-01-17Build OpenAMP from recipe23.02-rc1Kristofer Jonsson
Change-Id: Id36d97fa3aa4a60179bedbdc078c4e1e75486a49
2023-01-12Reinsert INFERENCE_PROCESS_OPS_RESOLVERKristofer Jonsson
Reinsert INFERENCE_PROCESS_OPS_RESOLVER that was accidentally removed in previous commit. Change-Id: I56b84aadc44b2a5f3c9e35e1fce8ce51036048ba
2022-12-15Remove ethosu_core and ethosu_applicationsKristofer Jonsson
Interface libraries ethosu_core and ethosu_applications are removed. Each application shall depend directly on the libraries they need. Change-Id: I4d37c6c50aa276beaa8e2681a63cea90977477ce
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-30Extend inference_process library to use MicroMutableOpResolverLedion Daja
Added compilation flag to allow the inference_process library to use a MicroMutableOpResolver as an alternative to AllOpsResolver. This allows to only make use of the needed operators instead of the complete list of operators, reducing thus the memory footprint of the application. Change-Id: If1d6751b12e8aa301bb466e3ffae92406200eab4
2022-11-28Temporarily disable armclang for ThreadX buildsJonny Svärd
Await upstream fix for cortex-m55 armclang compilation error Change-Id: I8a25a7aa7f29fab8ca7f0ad4bb63d6e4f89d8a6f
2022-11-23Use Tensorflow MicroPrintfKristofer Jonsson
Change-Id: I01bbafc45ca2a56759d7d5afbbbacefb40fd9a26
2022-11-17Fix CMake warning when downloading external projectsKristofer Jonsson
Setting policy CMP0135 to NEW adopts the new behavior without breaking backwards compatibility. Change-Id: I2a6cf783a6b2ed00d6c2119cf6d780c3054c25c5
2022-11-04Update README how to contribute22.11-rc222.11Kristofer Jonsson
Change-Id: I449f5c5039801053af380e07b812f2484e209412
2022-10-31Moving CMSIS-NN to separate repository22.11-rc1Kristofer Jonsson
Change-Id: I71637859e96d799482c74a8f55f7f792c2ed606b
2022-10-20Remove MicroErrorReporter from inference process testMåns Nilsson
MicroErrorReporter has been removed from TFLM. Change-Id: I8acb14eff2bc5d4b05d0d50f0d2a44db846e160f
2022-10-03Update Event MonitorKristofer Jonsson
Add cycle counter, QREAD and STATUS to Event Monitor record. Change-Id: I9c225558a9d46b05fe322270b4a921ead6bb0233
2022-09-30Fix cmake CMAKE_SYSTEM_PROCESSOR string matchesLedion Daja
To avoid unwanted matches of regexps, example: "cortex-m3" matches string "cortex-m33", several string MATCHES have been reworked. Change-Id: Ib923fbed9edbfba7de0af005c67b5527acdf40f9
2022-09-29Profilers inherit MicroProfilerInterface instead of MicroProfilerMåns Nilsson
This will decrease current stack usage requirement and memory footprint. Change-Id: I8ac314238efcdf1622cdcafd479c6cc1a8580509
2022-09-13Bug fix matching CPU numberKristofer Jonsson
Change-Id: Ie75eb87cf06cd7bad5f17ce121ea64037c0e4788
2022-09-13Log ofm data base64 encodedFredrik Svedberg
Added base64 encoded printing of ofm data to speed up logging of large ofms. Change-Id: Ibebd0a3557396eb68d69789f2c016161e085e64a
2022-09-13Remove CMake workaround for Arm ClangLedion Daja
Previous version of CMake did not allow CMAKE_SYSTEM_PROCESSOR to contain CPU features for Arm Clang toolchain. A workaround was added to manually strip the CPU features. Recent versions of CMake have removed this limitation and instead requires the toolchain to manually add -mcpu=<CPU+features>, which means that the workaround can be removed. Change-Id: I3e8647c47df27a96cdd103614ecf2540f150ab36
2022-08-30Remove path to TFLM make download folderKristofer Jonsson
Change-Id: Iaf22f1d7ad3e732f9163702cc08c8c2a3bb3a69d
2022-08-29Update Flatbuffer version to 2.0.6Kristofer Jonsson
Change-Id: Id0005b8e68c4a439923941930eddc5f180c8342e
2022-08-22Check the validity of the buffer before parsing the modelDavide Grohmann
If the buffer does not point to a well defined flatbuffer the parsing segfaults. Change-Id: Icb8dfef37dc28b2b7a22c6d3804851be8198aa9d
2022-08-03Use PMU counters for Arm Cortex-M85 CPU22.08-rc222.08-rc122.08Måns Nilsson
Change-Id: Ia884010492ee9858c8c53d8f547954c7ad6e1a71
2022-07-19Provide CMSIS-Device header as needed for TFLMMåns Nilsson
Change-Id: Ie78bdf3330765131ab5aee248ef42f175a652218
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-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