- Dec 13, 2024
-
-
Kshitij Sisodia authored
Fix for recent change to use CMake wrapper for building TensorFlow Lite Micro - CMSIS-NN kernels were not being included in the build heavily impacting performance for CPU-only path. This patch has a minor change to correctly set `CORE_SOFTWARE_ACCELERATOR` CMake variable to ensure the CMake wrapper actually adds CMSIS-NN to the build. Also, with the CMake build flow for CMSIS-NN and TensorFlow Lite Micro together, the linker scripts have been modified to allow object file name based memory placement to still work as it was for Makefile based flow earlier. Change-Id: Iedd91d4db7bbaa40603df6a7e93e99274be547d6 Signed-off-by:
Kshitij Sisodia <kshitij.sisodia@arm.com>
-
- Dec 12, 2024
-
-
Kshitij Sisodia authored
A minor patch to fix an error being wrongly flagged when the audio stream indicated completion. Change-Id: If8e0a1e82322d64fd60aa3351caefeff068c95cc Signed-off-by:
Kshitij Sisodia <kshitij.sisodia@arm.com>
-
- Dec 05, 2024
-
-
Alex Tawse authored
Updating submodules to pinned 24.11 components * core-platform: 24.11 tag * core-driver: 24.11 tag * cmsis-nn: 22080c68d040c98139e6cb1549473e3149735f4d * cmsis-dsp: v1.16.2 tag * cmsis-6: 8c4dc58928b3347f6aa98b6fb2bf6770f32a72b7 * tensorflow: f91dd916e5de773fd2150136d025ae2dfd31d48f Vela compiler (fetched from PyPi) version updated to 4.1.0. Change-Id: I07d3d92fa70bbfb8551cf0a2c133ee9101795d29 Signed-off-by:
Alex Tawse <alex.tawse@arm.com>
-
- Nov 26, 2024
-
-
Kshitij Sisodia authored
For `Sram_Only` memory mode the "weights" RO traffic was previously wired through the second set of AXI ports and the timing adapter settings were kept the same as the first set so this traffic also sees the same bandwidth and lateny envelope. However, it is quite possible to see slightly better performance if we only use one set of AXI ports. For Sram_Only memory mode, the Vela compiler schedules the R/W expecting to use only one set so this change also aligns with how Vela intends such a model to be deployed on the NPU. Change-Id: I7b37c3548e2ab00dda55ac1e13a7883f8e588f9f Signed-off-by:
Kshitij Sisodia <kshitij.sisodia@arm.com>
-
- Nov 14, 2024
-
-
Alex Tawse authored
* Removed conditional check to prohibit Sram_Only builds for Arm Ethos-U65 and Arm Ethos-U85 * Updated documentation accordingly Change-Id: I3a1473494a746409af3e9a727c8105881d701e68 Signed-off-by:
Alex Tawse <alex.tawse@arm.com>
-
- Nov 05, 2024
-
-
* Moved project to use C11 and C++17 Signed-off-by:
Alex Tawse <alex.tawse@arm.com> Change-Id: I18297ae829df7c54d39d482654915e6e9adbaa87
-
- Nov 04, 2024
-
-
Kshitij Sisodia authored
Adding basic Virtual Streaming Interface (VSI) support for HAL camera interface alongside the default `hal_camera_static_images` library. Platform drivers for MPS3 and MPS4 targets can enable use of this library based on a new CMake configuration parameter `FVP_VSI_ENABLED` By default this is turned OFF. This will allow all vision-based examples to stream images from camera connected to a host machine. Although VSI could also be used to read frames from an input video file on disk (on host), provision for this has not been added. Change-Id: I56bd2fa07742170b146cae51e6ff10ee1900a63f Signed-off-by:
Kshitij Sisodia <kshitij.sisodia@arm.com>
-
- Oct 30, 2024
-
-
Alex Tawse authored
* Moving to Vela 4.0.1 * Done primarily to use prebuilt wheels for non-Linux platforms Signed-off-by:
Alex Tawse <alex.tawse@arm.com> Change-Id: I9f55462a2a48d849ec2b5584e3cb5269842167ab
-
Kshitij Sisodia authored
Adding a HAL camera and audio interface to allow these as standard APIs used across use cases. This exercise is primarily to pave the way for adding Virtual Streaming Interface (VSI) support for Arm Fixed Virtual Platforms (FVPs) in future work. However, this also makes the application more portable and easier to add support for physical (camera or microphone) devices, should we choose to do so. This patch is big as it cuts across use cases and HAL layers with platform support. The implementation of baked-in sample images and audio data is quite old in this repository. To wire things up via HAL for something which was only application level required touching quite a few files. General outline of changes: -------------------------- * File generation part has been changed so it generates a self contained set of C files in a separate directory that provide strongly linked functions that HAL camera or audio interface relies on. * Two new "components" (camera and audio) under HAL. They have weak implementations of functions that should be overridden by application sources. The reason for doing it this way is different files are generated for different use cases but the there is only one target we need under HAL - it is built only once but different application sources can override and use this module differently. * All the use cases changed to move away from using the generated files' functions directly. Instead the static baked-in data is now accessed via the HAL provided API's. * Tests for all use cases changed for same reason as above. Byproduct of above changes: -------------------------- * Apps don't need to be interactive (user input). The application level cannot have knowledge of how many baked in samples we have or the filenames. This knowledge only lives below HAL. * Tests which were validating inferences by index have been removed. Change-Id: I09964ce87ea5cea5700d141eef199d3d2be6686c Signed-off-by:
Kshitij Sisodia <kshitij.sisodia@arm.com>
-
- Oct 24, 2024
-
-
Kshitij Sisodia authored
Updating the requirements.txt file to fetch later versions of Python packages. Also, the default build script was still using Arm MPS3 targets for latest NPU. Minor update to this script to pick Arm MPS4 based target instead. Change-Id: I3815188a81ae34ffbc85acdfb80b97c9b96cdb42 Signed-off-by:
Kshitij Sisodia <kshitij.sisodia@arm.com>
-
- Oct 17, 2024
-
-
Kshitij Sisodia authored
Updates to troubleshooting document. Change-Id: I6ffebb20bb3905ab8ec9124f10f49f939918ca07
-
- Oct 15, 2024
-
-
Kshitij Sisodia authored
Allowing some minor customizations for LCD display by passing some additional configuration parameters to the `lcd` component under HAL. - LCD title display can be turned ON/OFF (default is ON). CMake configuration parameter: `LCD_TITLE_EN`. - The title string itself can be changed. CMake configuration parameter: `LCD_TITLE_STRING`. Additionally, at application level, ImageUtils.hpp now has some more colours for background and text colours to choose from. These could potentially be used to drive a "light" or "dark" theme. Change-Id: Ia7c7b4f0e818ce02ba5bc94beac0da390efdf985 Signed-off-by:
Kshitij Sisodia <kshitij.sisodia@arm.com>
-
- Oct 04, 2024
-
-
Kshitij Sisodia authored
Moving to the latest NPU driver version. This contains fix for Arm Ethos-U85 NPU's PMU. Minor fixes also included for displaying of these counters for the latest Arm Corstone-320 FVP. Change-Id: I281866b407cc133898cca97ad3b775931c367e82 Signed-off-by:
Kshitij Sisodia <kshitij.sisodia@arm.com>
-
- Oct 02, 2024
-
-
* Adds support for Arm Corstone-320 reference system * Includes support for Arm Ethos-U85 NPU Change-Id: I049d582379d8feb5e969ada82db12f6747d2fd69 Signed-off-by:
Alex Tawse <alex.tawse@arm.com> Co-authored-by:
Codrut-Grigore Irimie <codrut-grigore.irimie@arm.com>
-
Kshitij Sisodia authored
Adding 24.08 version of CMSIS-pack with updated dependencies for use-case-api.yml. This pack has been tested with examples in https://github.com/Arm-Examples/mlek-cmsis-pack-examples . Change-Id: I75f58ab7fffd46460442746583a0119ffda19ce8 Signed-off-by:
Kshitij Sisodia <kshitij.sisodia@arm.com>
-
- Sep 27, 2024
-
-
Kshitij Sisodia authored
The floating point mode flag `-ffp-mode` was incorrectly set for GNU toolchain in the TensorFlow Lite Micro CMake file. This patch adds check for compiler. Change-Id: I8295d23a4b91f8fec5470ebe036dc358ecc7f595 Signed-off-by:
Kshitij Sisodia <kshitij.sisodia@arm.com>
-
Due to changes in Keras, TensorFlow 2.14.1 is currently the latest version that will currently work with TF MOT Signed-off-by:
Richard Burton <richard.burton@arm.com> Change-Id: I2a7a99d6147408fa9d6d7ce9eca997b250f91367
-
Kshitij Sisodia authored
Adding support to build against CMSIS-6 sources. CMake configuration parameter `CMSIS_VER` can be set to use CMSIS versions 5 or 6; the default is kept at 5 with the aim to update it to 6 once it has been tested sufficiently. This patch renames the old submodule from `cmsis` to `cmsis-5` and adds a new submodule `cmsis-6`. Another dependency downloaded during CMake configuration is one file from https://git.mlplatform.org/ml/ethos-u/ethos-u-core-software.git . If we need more files from this repo, it may be worth adding this as a submodule too. Change-Id: I0239f253c1c69f9adab33900b08323cdcf7b67d6 Signed-off-by:
Kshitij Sisodia <kshitij.sisodia@arm.com>
-
- Sep 23, 2024
-
-
Kshitij Sisodia authored
Adding some general guidance on using MLEK as a dependency. Change-Id: I62380e8b27e4b84366647261e63fb07447dfe3fa Signed-off-by:
Kshitij Sisodia <kshitij.sisodia@arm.com>
-
- Sep 11, 2024
-
-
Kshitij Sisodia authored
This patch adds a fix for TensorFlow Lite Micro runtime errors not being reported correctly by our applications. Change-Id: I6750ed0ce30e538b30c3fe4d19bfc8fcd3a54e72 Signed-off-by:
Kshitij Sisodia <kshitij.sisodia@arm.com>
-
- Sep 06, 2024
-
-
Alex Tawse authored
Updating submodules to pinned 24.08 components. * core-platform: 24.08 tag * core-driver: 24.08 tag * cmsis-nn: 95f293df19c9a38806868fe12a64a4f9b457f9c1 * cmsis-dsp: v1.15.0 (no change) * cmsis: 4a819a09ccadacc3bad2def1d5121f137fc330fb * tensorflow: c01ca97f52ca451bfba714d7eb8ae0349d85f537 Vela compiler (fetched from PyPi) version updated to 4.0.0. Change-Id: I04a56ded02945baefadca46d55623f627cc70eaf Signed-off-by:
Alex Tawse <alex.tawse@arm.com>
-
Alex Tawse authored
* Add references to Corstone-315 where necessary Signed-off-by:
Alex Tawse <alex.tawse@arm.com> Change-Id: I43d14ff1217a62e9505a5168073cf72144777343
-
Alex Tawse authored
* Minimum Python version specified to be 3.10 Signed-off-by:
Alex Tawse <alex.tawse@arm.com> Change-Id: I0cc16eb98595fc3914ab1bce8d8f760f57bd2d73
-
- Jul 18, 2024
-
-
Kshitij Sisodia authored
Adding BatchMatMul operator to the internal resolver in generic inference_runner. Change-Id: I1e1248ebd570ad508e2151a42b3e38349c0249f2 Signed-off-by:
Kshitij Sisodia <kshitij.sisodia@arm.com>
-
- Jul 05, 2024
-
-
Kshitij Sisodia authored
The tests expected all the data types across input and output tensors to be same. These were also limited to 8-bit signed/unsigned values. This patch make it possible to have the test vectors be of different types while being able to get a generic (void) pointer to arrays from the generated getter functions. Change-Id: Id6d8b13803cd2f2ed66fee52eaed86af194b995d Signed-off-by:
Kshitij Sisodia <kshitij.sisodia@arm.com>
-
- Jun 26, 2024
-
-
Alex Tawse authored
* Use 'u55' as the default NPU ID for tflite-micro if other NPU values don't match Change-Id: I6826acf7f33379e8c1edc591cd6d621234a87099 Signed-off-by:
Alex Tawse <alex.tawse@arm.com>
-
- Jun 19, 2024
-
-
Alex Tawse authored
* Moving some of the complexity from the setup script to a separate file Change-Id: I6fcbbb4d804ce00593c5fde1c062be332056e6e4 Signed-off-by:
Alex Tawse <alex.tawse@arm.com>
-
- Jun 14, 2024
-
-
* Adding --downloads-dir to set_up_default_resources.py. This is complementary to the RESOURCES_PATH CMake option in the main project. * Some tidying and refactoring to agree with Pylint rules. Change-Id: Id395130ea0b71aa0670163294a2de33da227718f Signed-off-by:
Alex Tawse <alex.tawse@arm.com>
-
Conor Kennedy authored
* The previous version of Jinja2 was flagged as vulnerable, so this change bumps the version. https://github.com/advisories/GHSA-h75v-3vvj-5mfj Change-Id: Iaea4457e6f8132e82faa21be3cda5011a2f1425a Signed-off-by:
Conor Kennedy <conor.kennedy@arm.com>
-
- Jun 07, 2024
-
-
Kshitij Sisodia authored
TensorFlow Lite Micro build produced warnings/errors with the latest Arm Compiler (version 6.22) because of conflict between floating point standard conformance and optimisation level. As the TensorFlow Lite Micro's Makefile uses `-ffp-mode=full` for the Arm Compiler, the fix is to use `-O3` for compiling the kernels. For CMSIS DSP library we set -ffp-mode=full` for all Arm Compilers. The issue was first raised here: https://discuss.mlplatform.org/t/tensorflow-build-failure-with-arm-compiler-6-22/287 Change-Id: I5c19c4016a922b596b84937a366d261fd9570090 Signed-off-by:
Kshitij Sisodia <kshitij.sisodia@arm.com>
-
- Jun 04, 2024
-
-
Kshitij Sisodia authored
Minor changes to release notes and documentation. A fix for Arm Compiler toolchain file has also been added. Change-Id: Ibe56b3eddb9a0df533972b76ce60f26d2fe4a3d3 Signed-off-by:
Kshitij Sisodia <kshitij.sisodia@arm.com>
-
- May 31, 2024
-
-
Kshitij Sisodia authored
Updating submodules to pinned 24.05 components. * core-platform: 24.05 tag * core-driver: 24.05 tag * cmsis-nn: v6.0.0 tag * cmsis-dsp: v1.15.0 (no change) * cmsis: 51f8f89612c8330c0116479cfe3a2cb04c390e2b * tensorflow: 8e22946b3faa51564df5dd9194f7540b2694892c Vela compiler (fetched from PyPi) version updated to 3.12. Change-Id: Ibf4a5412368f303db1be9e7ab32504b0daac9c68 Signed-off-by:
Kshitij Sisodia <kshitij.sisodia@arm.com>
-
- May 28, 2024
-
-
Kshitij Sisodia authored
Minor correction for URL in the CMSIS pack descriptor file (PDSC) and updates made to the YML file used for generating the CMSIS-pack. Change-Id: Ic8c7374ac5f7bf348328df5c972e6ca13b842171 Signed-off-by:
Kshitij Sisodia <kshitij.sisodia@arm.com>
-
- May 23, 2024
-
-
Kshitij Sisodia authored
Adding 23.02 version of the CMSIS pack generated from sources at 23.02 tag. Note that this is more than a year old but the refresh was needed to support TensorFlow Lite Micro CMSIS-pack's current version 1.23.2. There will be another refresh of the pack soon, once dependency packs are made available. Change-Id: I6e4072db16237db6bafc26ec09c193f10414255b Signed-off-by:
Kshitij Sisodia <kshitij.sisodia@arm.com>
-
- May 20, 2024
-
-
Kshitij Sisodia authored
Updating dependencies to pinned versions from the 24.02 json. See https://git.mlplatform.org/ml/ethos-u/ethos-u.git/plain/24.02.json Change-Id: I0859551d7e58668c5956df148a2d942012e403b5 Signed-off-by:
Kshitij Sisodia <kshitij.sisodia@arm.com>
-
- May 17, 2024
-
-
Kshitij Sisodia authored
Adding Arm Corstone-310 and Arm Corstone-315 FVPs to the Dockerfile. These will be in addition to the default Arm Corstone-300 FVP. Change-Id: Id6352bca80dc516edbd99639975e561ce81b8bbf Signed-off-by:
Kshitij Sisodia <kshitij.sisodia@arm.com>
-
- May 16, 2024
-
-
Kshitij Sisodia authored
For projects wrapping ml-embedded-eval-kit, this helper module file makes it easier to import some top level variables and to call into functions exposed by utility scripts as part of their env setup. Change-Id: I1cf8d2513776d653590871dc791c68349a38a884 Signed-off-by:
Kshitij Sisodia <kshitij.sisodia@arm.com>
-
- May 15, 2024
-
-
Kshitij Sisodia authored
Minor fixes to broken links in markdown files. Added a note about timing adapters being disabled in Arm Corstone-315 by default. Change-Id: I7f0b33adc8c38e8be7a5bfcebbf5d87f4e22430c Signed-off-by:
Kshitij Sisodia <kshitij.sisodia@arm.com>
-
- May 07, 2024
-
-
* Updating linker scripts + scatter files to utilise 64KiB boot region of Corstone-315. * Now target 3 loading regions - boot, bram and dram. Change-Id: Ieb9f03e53d913ded4facc15ab2171ce647b405e5 Signed-off-by:
Alex Tawse <alex.tawse@arm.com> Tested-by:
mlecosys <mlecosys@arm.com> Reviewed-by:
Kshitij Sisodia <kshitij.sisodia@arm.com> Signed-off-by:
Kshitij Sisodia <kshitij.sisodia@arm.com>
-
Kshitij Sisodia authored
Refactoring for CMake configuration options to allow target platform to drive their own defaults for certain dependent options. For example, the MPS3 target platform defaults to SSE-300 sub-system while native target doesn't need to worry about sub-system and CMSIS options which it will never use. This allows MPS4 target to default to SSE-315 and set the NPU arch to Arm Ethos-U65 as it should, which otherwise would have had to be explictly specified by the user. A welcome by-product of this is also that the options summary at the end of a successful CMake configuration stage would only include the settings that are actually used by the given target. Change-Id: Ibb7f8233d427cd33f39eeb4c71d88193aa998ebd Signed-off-by:
Kshitij Sisodia <kshitij.sisodia@arm.com> Tested-by:
mlecosys <mlecosys@arm.com> Reviewed-by:
Alex Tawse <alex.tawse@arm.com> Reviewed-by:
Conor Kennedy <conor.kennedy@arm.com> Signed-off-by:
Kshitij Sisodia <kshitij.sisodia@arm.com>
-