summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
15 hours MLECO-4826: Targeting Arm Corstone-315 boot ROMHEADmainAlex Tawse
* 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>
18 hoursMLECO-4935: Refactoring user optionsKshitij Sisodia
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>
5 daysMLECO-4825: Adding Arm Corstone-315 supportKshitij Sisodia
This patch adds initial support for MPS4 based Arm Corstone-315 FVPs. The applications will execute on the FVP but with INITSVTOR set to `0x12000000` explicitly. The default value is the 64kiB code region at `0x11000000`. The linker scripts will be changed for the initial boot logic and vector table to be moved to the code region. This patch adds `source/hal/source/platform/mps4` directory. There is considerable overlap with MPS3 platform and this is expected to be the case until the support for MPS4 matures. Refactoring to pull in common bits from these targets will follow. Same goes for the CMake build support added under `scripts/cmake/platforms/mps4`. Change-Id: I981be9e1ec57cfedcf7d340b4f19e5eb40b5cbd3 Signed-off-by: Kshitij Sisodia <kshitij.sisodia@arm.com> Tested-by: mlecosys <mlecosys@arm.com> Reviewed-by: Conor Kennedy <conor.kennedy@arm.com> Reviewed-by: Alex Tawse <alex.tawse@arm.com> Signed-off-by: Kshitij Sisodia <kshitij.sisodia@arm.com>
14 daysBumping Pillow to non-vulnerable versionAlex Tawse
* The previous version of Pillow was flagged as vulnerable, so this change bumps the version Change-Id: I176c12c4df266de8f871b58efdcc277b090a31fa Signed-off-by: Alex Tawse <alex.tawse@arm.com>
2024-03-08MLECO-4732: Updating FVP versionKshitij Sisodia
Dockerfile updated for it to download the latest Fixed Virtual Platform (FVP) version 11.24. Minor documentation change to say that Arm Corstone-310 FVP is also available to download from the Arm Ecosystem FVP page. Change-Id: Icd19f71f53b4a6f1b912919e42e941fb23800d57 Signed-off-by: Kshitij Sisodia <kshitij.sisodia@arm.com>
2024-03-06use-case-resources: Enable user provided metadataHugues Kamba-Mpiana
* An optional argument has been added to the `set_up_default_resources.py` Python script to allow passing of a user defined use case resources metadata JSON file. This shortens the build time by only downloading the resources the end user is interested in. It also shortens the optimization part which takes additional minutes as it is done for all models and for all the specified NPU configurations. * Adding changes to comply with Pylint * Adding --use-case argument in `set_up_default_resources.py` to restrict setting up resources to the specified use cases. Signed-off-by: Hugues Kamba-Mpiana <hugues.kambampiana@arm.com> Change-Id: I8d38249d8a0b52e66c26e5e74c03657e29f979b0 Signed-off-by: Alex Tawse <alex.tawse@arm.com>
2024-02-20Removing unused device_mps3.h headerKshitij Sisodia
Stray header file for MPS3 platform left over from refactoring in commit c22e80 has been removed. Change-Id: I197756e7183654fff0b0c97e7647ab72b62d96f9 Signed-off-by: Kshitij Sisodia <kshitij.sisodia@arm.com>
2024-02-06Fix: Remove S/NS aliases of non-existent DMA_0 interfaceLiam Barry
Correction for misprint in AN547 application note which proliferated to AN552. There are only 3 DMA interfaces. Signed-off-by: Liam Barry <liam.barry@arm.com> Change-Id: I53dab9cbc41f80d7a2818ce6c5b8372ecbdfbd1a
2024-01-18Cleanup: Timing adapter definitionsKshitij Sisodia
The NPU timing adapter base addresses had been defined in mutiple places, making it difficult to determine which one is actually being used. This patch cleans up unused definitions from memory-map header files for different targets and the CMake template files. The expectation is for component base addresses to be set by platform specific CMake files that include/wrap the component directories. Change-Id: Ic39794ffbdb872b4b0c900cbcec8e386bb32c4eb Signed-off-by: Kshitij Sisodia <kshitij.sisodia@arm.com>
2024-01-09Bumping version of resampyAlex Tawse
* The previously-used version of resampy contained a bug which caused any Python script that imported resampy to slow down significantly. Change-Id: I668cdf26fa2582c131698aa5e80f95b684fc692a Signed-off-by: Alex Tawse <alex.tawse@arm.com>
2023-12-06MLECO-4371 Update Dockerfile to Ubuntu 22.04 for python3.10 support23.11Conor Kennedy
Change-Id: Iee2cea2bcb8fd315753b702a501cca2e672af386 Signed-off-by: Conor Kennedy <conor.kennedy@arm.com>
2023-12-04MLECO-4374 Fix ITCM overflow issues flagged by CIAron Virginas-Tar
Change-Id: Ic34b01af1a7e763b92ade52a4833201d4287ec60 Reviewed-on: https://eu-gerrit-2.euhpc.arm.com/c/ml/ecosystem/ml-embedded-evaluation-kit/+/775365 Tested-by: mlecosys <mlecosys@arm.com> Reviewed-by: Conor Kennedy <conor.kennedy@arm.com> Reviewed-by: Richard Burton <richard.burton@arm.com>
2023-11-30MLECO-4371 Update dependencies to 23.11 release components23.11-rc1Richard Burton
* Updated NPU components and dependencies (core-driver, core-platform, Vela, CMSIS, TensorFlow Lite Micro) to 23.11 release SHAs. * Changed Python version to 3.10 * Updated release notes and other documentation * Added workarounds to scripts in order to address build issues Signed-off-by: Aron Virginas-Tar <aron.virginas-tar@arm.com> Change-Id: I0a639b80881b53eebb216085b7e6764e3be8ca67
2023-11-29Fix for build issues with WSL when PATH contains special charactersRichard Burton
Co-authored-by: Gabor Abonyi <gabor.abonyi@arm.com> Signed-off-by: Richard Burton <richard.burton@arm.com> Change-Id: I6792576cf21285d73aa8213a4497cf23502ff795
2023-11-20MLECO-4490: Upgrade MLEK Catch Unit testsLiam Barry
*Removed default behaviour of unit-test executables to redirect output to file. *Accompanying change made to CI script to generate xml files there instead. *Switched to newer minor version of Catch. *Note: Support for simultaneous output to console and file is available in new major version (Catch 3). Other unit test cleanup: * Redundant warnings about common tests output removed * Static cast added to silence compiler warning * Removed additional printing in RNNoiseModelTests Signed-off-by: Liam Barry <liam.barry@arm.com> Change-Id: If9d7f366ec205a7cd49a45198a15867ef7b75afd
2023-11-13Modifications to linker scriptsRichard Burton
* Change reference to all ops resolver * Added our own 'all ops resolver' * Move Labels objects out of BRAM for simple_platform * Minor fixes to documentation Signed-off-by: Richard Burton <richard.burton@arm.com> Change-Id: I8b0d66ce83287f2bc027cfc36a1f378c97755481
2023-11-08MLECO-3250 Eval Kit README refreshAyaan Masood
* Simplified the landing README file * Rearranged sections for improved reading flow Signed-off-by: Ayaan Masood <Ayaan.Masood@arm.com> Change-Id: I050b39d1acdb08626134e66af2ce2eee1dbffbf9
2023-11-08Fix: Incorrect CMSIS-NN urlLiam Barry
Change-Id: Id6e7e735e8891b59533036a7d216033a3d26e1c6 Signed-off-by: Liam Barry <liam.barry@arm.com> Change-Id: Ib471b1808252d64a08382e06e28936dcd5c636ab
2023-11-06MLECO-4457: Update python dependenciesConor Kennedy
Change-Id: Id3acb2d225c4890f716052e874f01651ee1a5481 Signed-off-by: Conor Kennedy <conor.kennedy@arm.com>
2023-11-06MLECO-4473: Ensuring Labels objects are not placed in BRAMRichard Burton
Signed-off-by: Richard Burton<richard.burton@arm.com> Change-Id: I833f5edfbd080a67f2863a250be3199879d5f81f
2023-11-03MLECO-3640 MLECO-3678: Adding support for M85 in GCCRichard Burton
Signed-off-by: Richard Burton <richard.burton@arm.com> Change-Id: I087e23f43b41fa0ef97ec7dcaeba807f6cba17e7
2023-10-26MLECO-3995: Pylint + Shellcheck compatibilityAlex Tawse
* All Python scripts updated to abide by Pylint rules * good-names updated to permit short variable names: i, j, k, f, g, ex * ignore-long-lines regex updated to allow long lines for licence headers * Shell scripts now compliant with Shellcheck Signed-off-by: Alex Tawse <Alex.Tawse@arm.com> Change-Id: I8d5af8279bc08bb8acfe8f6ee7df34965552bbe5
2023-10-20MLECO-4449: Update DependenciesLiam Barry
TF and CMSIS-NN updated to support additional NN operation Signed-off-by: Liam Barry <liam.barry@arm.com> Change-Id: I7ef151a598ca7c7cb63977b0cd2f58cdc4fd432b
2023-10-16MLECO-3963 Remove conditional statements for different numpy versionGauri Sahnan
* For numpy versions 1.23 onwards remove comditional python statements Change-Id: Ie0aa54da9fc0f7fd426cd324b1b785d4794fc1c7 Signed-off-by: Gauri Sahnan <gauri.sahnan@arm.com>
2023-10-04MLECO-4365: Add CI Test for insufficient tensor arena and update common tests.Liam Barry
Previously, execution path following failed tensor allocation was not covered by tests. Minor amendment added to make ~Model virtual. During testing it was noticed that intentional errors simulated in certain common tests would result in misleading output for subsequent tests as the error messages appear in the console output of the next failing test. Documentation and print statements added until a solution is found. Change-Id: Iaf3e0f32ce9e0505921251cd41f73030108d2cb1 Signed-off-by: Liam Barry <liam.barry@arm.com>
2023-09-05MLECO-4074: bump up version of armclang to 6.1923.08-rc223.08Nina Drozd
* issues identified with armclang 6.17 and 6.18 * updates in cmake for minimum version * updates in release notes and documentation Change-Id: Iffa711d9d95a509f5c07cd55f59a49bdcf3e9d6a
2023-08-31MLECO-4072: Minor bug fix23.08-rc1Richard Burton
* Adding call to the new ops resolver in inference runner usecase * Change variable names to match code style Signed-off-by: Richard Burton<richard.burton@arm.com> Change-Id: I0537cc18296294ac9d778434c257ad4f4e479310
2023-08-31MLECO-4072: update MLEK dependencies to 23.08Nina Drozd
* version updates in cmakelists file * update submodules to 23.08 versions * updates to documentation - vela 3.9.0 Change-Id: I5e24d5729ecbd2289b04fcc845fb44f455ab38d5 Signed-off-by: Nina Drozd <nina.drozd@arm.com>
2023-08-29MLECO-4260: Replace raw C++ pointers with smart variantsLiam Barry
Model: Added std::unique_ptr qualifier to Model.cc member and used make_unique when creating interpreter object Removed custom destructor and un-necessary memory cleanup following failed allocation DataStructures: Refactored array 2d to use a std::vector under the hood. This should preserve desired attributes including contiguous memory while removing the need for custom destructor. Original size function renamed to dimSize to avoid confusion with vector.size() Accompanying changes made to preprocessing and ASR tests. AppContext: Replaced use of raw pointers in AppContext.hpp. Previously a std::map including IAttribute pointers required individual deallocation as they were allocated using new. Signed-off-by: Liam Barry <liam.barry@arm.com> Change-Id: I1a34dce5dea6ecf4883a9ada3a20f827eb6e6d6b
2023-08-21MLCE-1096: Making Python script Windows-compatibleAlex Tawse
Change-Id: Id52f6b182c5b8325c377f2924e0eeee57f3c4287
2023-07-28MLECO-4246: Bug fix MLEK hardfault when SRAM exceededLiam Barry
GCC builds of inference runner hardfault when tensor allocation fails. Traced to duplicated delete calls on interpreter member variable in app code and ~Model() which has undefined behaviour Signed-off-by: Liam Barry <liam.barry@arm.com> Change-Id: I3872338b4fdc3c25aa26a5cd55991cd575da5a3c
2023-06-22Small fixes based on feedbackRichard Burton
* Typo fix in documentation * Fix bug with build_default.py and passing in --make-verbose * Added additional requirement for third-party dependencies Signed-off-by: Richard Burton <richard.burton@arm.com> Change-Id: Icdac7d4583c4fe3000fe9bc784979b2d1cf70909
2023-06-09MLECO-4065: Revising scripts to use Python3.923.05Kshitij Sisodia
Revising documentation and scripts to use Python3.9 explicitly to remove the need for installing it system-wide that might break a distro's desktop and pacakge manager utilities. Change-Id: I683b55dd0243d0a726dc94eba2431005d4897c8c Signed-off-by: Kshitij Sisodia <kshitij.sisodia@arm.com>
2023-06-06Dockerfile updated from Python 3.8 to Python 3.9Richard Burton
Signed-off-by: Richard Burton <richard.burton@arm.com> Change-Id: I7cfda89a1eac40a47150505bcacea8bf2aef8695
2023-06-06Fix for link to download CMSIS-NN 23.05 dependencyRichard Burton
Signed-off-by: Richard Burton <richard.burton@arm.com> Change-Id: Ide32a976a9d04495ce6a35dd9c0eff1d3470b109
2023-05-30MLECO-4065 MLECO-4066: Updating to 23.05 dependenciesRichard Burton
* Update dependencies to 23.05 versions * Fix for a break caused by changes in TensorFlow Lite Micro * Update release notes Signed-off-by: Richard Burton <richard.burton@arm.com> Change-Id: Id2f60ea574aab982911125bdcb513adb8edc723d
2023-05-05MLECO-3992: Minor improvement for FFT32 tests.Kshitij Sisodia
Added test for FFT on complex vector of 32-bit floats. Change-Id: I236255952335bfd00ce3d811845ffe604167dcc5 Signed-off-by: Kshitij Sisodia <kshitij.sisodia@arm.com>
2023-03-28MLECO-3754: Cmsis pack updatesIsabella Gottardi
Change-Id: Ib041604867e761a006d74cef16a33c27d86648eb Signed-off-by: Isabella Gottardi <isabella.gottardi@arm.com>
2023-03-22MLECO-3962: Set specific versions for Python3.7 in requirements.txtConor Kennedy
* For compatibility reasons, use the following versions when running on Python3.7: numpy 1.21.3 scipy 1.7.3 Change-Id: I5213820cc64b51cfa8b4ff49a1bff030e652822d Signed-off-by: Conor Kennedy <conor.kennedy@arm.com>
2023-03-21MLECO-3802: [Maintenance] Remove Pillow warning23.02Isabella Gottardi
- Image.Resampling.BILINEAR replace deprecated Image.BILINEAR - Trivial documentation fixes Change-Id: Ia75af2d2bf171085d4a0a2c472f0e3f94dbdc5b9 Signed-off-by: Isabella Gottardi <isabella.gottardi@arm.com>
2023-03-17MLECO-3842, MLECO-3801, MLECO-3899: Minor improvementsKshitij Sisodia
Some minor improvements in this patch: * Added notes on troubleshooting WSL2 build issues. * Fixed a stray guard for MPS3_PLATFORM from noise reduction use-case. * The default build script `build_default.py` will now return an error code to the calling process if it fails. Change-Id: I4557a402646fdf903b2cb043bf68d5d0b0d12972 Signed-off-by: Kshitij Sisodia <kshitij.sisodia@arm.com>
2023-03-15MLECO-3666: Updating to 23.02 dependencies.23.02-rc1Kshitij Sisodia
Updating dependency submodules to 23.02 versions. See https://review.mlplatform.org/plugins/gitiles/ml/ethos-u/ethos-u/+/refs/tags/23.02/23.02.json Change-Id: If0e396decadc1b4e3c6b263c65f75ccf0dafed28 Signed-off-by: Kshitij Sisodia <kshitij.sisodia@arm.com>
2023-02-16MLECO-3847: Optimisation flag for TensorFlow Lite MicroKshitij Sisodia
Overriding the default THIRD_PARTY_KERNEL_OPTIMIZATION_LEVEL flag for comilation of Arm CMSIS-NN library. GNU linker script also needed to be modified with this change because of increase in the code footprint. Change-Id: I65c76fcaf4b6421533086a0905b2e6f0048b46fd Signed-off-by: Kshitij Sisodia <kshitij.sisodia@arm.com>
2023-02-13MLECO-2709: Inclusive language updateConor Kennedy
* Update various files to use inclusive language Signed-off-by: Conor Kennedy <conor.kennedy@arm.com> Change-Id: I538f61a400e1d58acb6397bb5e2ba3d912196314
2023-01-05MLECO-3677: Adding links for AN555 resources.Kshitij Sisodia
Minor documentation updates to add links for Arm Corstone-310 implementation `AN555`. Change-Id: I5fd1f577b0adcb1041aaefbc41d121ce52404e09 Signed-off-by: Kshitij Sisodia <kshitij.sisodia@arm.com>
2022-12-29MLECO-3747: Minor changes to Catch2 inclusionKshitij Sisodia
Catch2, included for tests on native target, is now added using FetchContent to download it at configuration stage. Minor improvements added to prevent name clashes if this project is used as a submodule in other projects where Catch2 is already a named dependency/target. Change-Id: I6f0ff02704e54a5c4cefe499ac80d434cf89b463 Signed-off-by: Kshitij Sisodia <kshitij.sisodia@arm.com>
2022-12-23MLECO-3748: Documentation updatesKshitij Sisodia
Added documentation around known issue with Arm GNU toolchain version 12.2.1. Minor change for MLECO-3731 also included. Link-time warnings for Arm GNU toolchain 11.3.1 also fixed. Change-Id: Ia8215e9f71327eeb59868aea91729d7b19dd6d34 Signed-off-by: Kshitij Sisodia <kshitij.sisodia@arm.com>
2022-12-21MLECO-3659: Improvement for NPU PMU countersKshitij Sisodia
The NPU idle count could have been erraneously high as the counters were always running. This change utilises callback functions to start/stop the counters only when the inferences start/stop executing on the NPU. Changes have been made to cache maintenance functions called from within the NPU driver's pipeline to reduce the overhead caused by these. Change-Id: I69db0d3b3f3fe5b2847e15b5c3096cb1e0484176 Signed-off-by: Kshitij Sisodia <kshitij.sisodia@arm.com>
2022-12-19MLECO-3611: Formatting fixes for generated files.Kshitij Sisodia
Template files updated for generated files to adhere to coding guidelines and clang format configuration. There will still be unavoidable violations, but most of the others have been fixed. Change-Id: Ia03db40f8c62a369f2b07fe02eea65e41993a523 Signed-off-by: Kshitij Sisodia <kshitij.sisodia@arm.com>
2022-12-09MLECO-3716: Update package versions in requirements.txt for Python 3.10Conor Kennedy
Change-Id: Iad3299379f2672510a569b22324823a0377c7179 Signed-off-by: Conor Kennedy <conor.kennedy@arm.com>