Age | Commit message (Collapse) | Author |
|
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>
|
|
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>
|
|
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>
|
|
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
|
|
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>
|
|
* 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
|
|
Signed-off-by: Richard Burton <richard.burton@arm.com>
Change-Id: I087e23f43b41fa0ef97ec7dcaeba807f6cba17e7
|
|
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>
|
|
* 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
|
|
* 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>
|
|
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
|
|
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
|
|
* 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
|
|
- Image.Resampling.BILINEAR replace deprecated Image.BILINEAR
- Trivial documentation fixes
Change-Id: Ia75af2d2bf171085d4a0a2c472f0e3f94dbdc5b9
Signed-off-by: Isabella Gottardi <isabella.gottardi@arm.com>
|
|
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>
|
|
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>
|
|
* Update various files to use inclusive language
Signed-off-by: Conor Kennedy <conor.kennedy@arm.com>
Change-Id: I538f61a400e1d58acb6397bb5e2ba3d912196314
|
|
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>
|
|
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>
|
|
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>
|
|
TensorFlow Lite Micro can have stale third party components downloaded
by an older version. On a submodule update, our recommendation to users
would be to use `-DTENSORFLOW_LITE_MICRO_CLEAN_DOWNLOADS=ON` to clean
the older downloads. Moving the triggered cleaning and refresh to CMake
configuration stage (with no parallel build option). This should have a
better chance of success with the subsequent build step.
Change-Id: I305439c09658f49765ecc15eb1ce0c8b914dd30a
|
|
* CMSIS-NN is now a seperate dependency
* Added inclusive language commitment
* TensorFlow Lite Micro dependency is moved ahead of 22.11 to fix compilation issue
Change-Id: I60e3311ff7da2ce064cbcdca054a86bdd1f620d8
|
|
Change-Id: I0f057b33993e5196a60e52f4fb0c60e09693dcfe
|
|
Small fix for the issue of weakly defined "clean" and
"invalidation" functions for D-cache in use.
Change-Id: I452768ef216393834f20395a56cde6ff5f52d29a
Signed-off-by: Kshitij Sisodia <kshitij.sisodia@arm.com>
|
|
Minor update to retarget.c for system function `tmpnam`.
Change-Id: I08cced273e517d00644167f8f5520b09f3c9d10c
Signed-off-by: Kshitij Sisodia <kshitij.sisodia@arm.com>
|
|
Update for use-case API and CMSIS pack.
Change-Id: Ic730a80fa43ba2a6e3eaa05333b61d3e1677b04e
Signed-off-by: Kshitij Sisodia <kshitij.sisodia@arm.com>
|
|
Part 1
* Add KwsClassifier
* KwsPostProcess can now be told to average results
* Averaging is handlded by KwsClassifier
* Current sliding window index is now an argument of DoPreProcess
Change-Id: I07626da595ad1cbd982e8366f0d1bb56d1040459
|
|
Separates CMakePresets to respective.
Adds options preset file with log-level and single-input for use-cases.
Adds use-case file with base build preset with all the targets.
Adds a configurable targets to all build presets.
Adds additional config/build preset to show-off options-presets.
Signed-off-by: Maksims Svecovs <maksims.svecovs@arm.com>
Change-Id: Id82ce9c5b8d7cc48b80d784141dc22efa2690222
|
|
Signed-off-by: Eanna O Cathain <eanna.ocathain@arm.com>
Change-Id: I4a1cd2b5746cb479ae0d81ed973961cec2f3046e
|
|
Most of the issues identified by coverity scan as high are
false-positives revolving around intrinsics of lambda-function in C++.
This patch fixes high risk reports about function pointer not being
initialized.
Signed-off-by: Maksims Svecovs <maksims.svecovs@arm.com>
Change-Id: I52998ed4603ca943568f7bec5cb0d6a77731b02f
|
|
Documentation md files added under source tree with links to
the main docs. Minor updates to FAQs for MLECO-3251 as well.
Change-Id: Ifdcc587f2fcf77228fd46e211d3f9c3963bc9b97
Signed-off-by: Kshitij Sisodia <kshitij.sisodia@arm.com>
|
|
Documentation updates around use of Arm® Corstone™-310 AVH, especially
in terms of use of timing adapters (TA). Also, use of TA's is forced
off for SSE-310 subsystem's CMake configuration.
Signed-off-by: Kshitij Sisodia <kshitij.sisodia@arm.com>
Signed-off-by: Maksims Svecovs <maksims.svecovs@arm.com>
Change-Id: I66a87060d8d47ce2580aa15f3908be20162eab54
|
|
Signed-off-by: Eanna O Cathain <eanna.ocathain@arm.com>
Change-Id: Ia0d349ea0014ee10f275731f3c1de4f9287839e1
|
|
Both supported implementation on MPS3 (Arm Corstone-300 and
Arm Corstone-310) will now have caches enabled.
Also including a minor change left over from refactoring of
code for HAL components.
Change-Id: Ie5768cd26eef9083a817bca7c87ff691dae67fca
|
|
MPS3 clock is logged in the output, removing the
warning as profiling would be impacted by this
additional logging over UART.
Change-Id: I1f941a75752bed0c871240aee664f8191916ab1d
|
|
Added a Dockerfile to setup and install requirements for
the ml-embedded-evaluation-kit repository.
Also included minor change (MLCE-859) for NPU components'
source file.
Signed-off-by: Matthew Sloyan <matthew.sloyan@arm.com>
Change-Id: I621fb2991218a451a0e8c33e14032b9c9e36709e
|
|
* CMake version requirement bumped up to 3.21.0
* CMake 3.22.4 installed in the local Python virtualenv
* CPU flags updated in toolchain files.
* Using __ARM_FEATURE_DSP instead of potentially defining
ARM_MATH_DSP wrongly.
* CMake project version bumped up to 22.05.0
Changes also made for MLECO-3107 (pack generation):
* TensorFlow Lite Micro CMSIS-pack version updated to
1.22.02.
* Change to using __ARM_FEATURE_DSP will also help the
generated pack.
Partial changes for MLECO-3095:
* CMSIS updated to version post 5.9.0
* TensorFlow Lite Micro updated to latest available
* Ethos-U driver and core-platform repositories updated
to 20.05_rc2 tags.
Change-Id: I012c9e65897aed8ce589cff9bfe3a19efc3edeb9
Signed-off-by: Kshitij Sisodia <kshitij.sisodia@arm.com>
|
|
OD API now takes in these paramaters as part of the constructor
Change-Id: I4cce25e364b2a99847b4540440db059997f6a81b
|
|
Change-Id: Ifa4b11154478355c10cb3e747b9938a74afd242b
Signed-off-by: Eanna O Cathain <eanna.ocathain@arm.com>
|
|
Improvements based on feedback from initial tests done with
the generated pack.
Change-Id: Ia769dd6264c53e6b9337473e1c50bdfa6469a216
Signed-off-by: Kshitij Sisodia <kshitij.sisodia@arm.com>
|
|
* Profiler now only maintains a running average of profiling stats
* Memory now constant for use cases with multiple inferences like Noise Reduction
Signed-off-by: Richard Burton <richard.burton@arm.com>
Change-Id: I50e0ca802edb637d363c1d61671d48a6885880f7
|
|
Certain UCs required additional work due to case context variables which also
became part of a namespace in generated files.
Solution was to declare these extra variables as part of the UC namespace in the respective model.hpp files.
Additional changes to standardise use of namespaces may be required - proposing new task.
Minor typo and rewording of customizing.md in relevant sections included.
Signed-off-by: Liam Barry <liam.barry@arm.com>
Change-Id: Ie78f82a30be252cb841136ea5115f21fc8d762cb
|
|
* If an optimized model is accidentally supplied with Ethos-U support
disabled it will return from the model.Init() function before it gets
to these checks so they are redundant.
Signed-off-by: Matthew Sloyan <matthew.sloyan@arm.com>
Change-Id: Ibe25531347ce29cb0866a9cc087c7267673ab4da
|
|
* Clear vector before each inference to make sure there are no leftover
results when running all inferences.
Signed-off-by: Matthew Sloyan <matthew.sloyan@arm.com>
Change-Id: If2417364151d7f380c3311447b10f971a5475f9e
|
|
Platform agnostic application sources are moved into application
api module with their own independent CMake projects.
Changes for MLECO-3080 also included - they create CMake projects
individial API's (again, platform agnostic) that dependent on the
common logic. The API for KWS_API "joint" API has been removed and
now the use case relies on individual KWS, and ASR API libraries.
Change-Id: I1f7748dc767abb3904634a04e0991b74ac7b756d
Signed-off-by: Kshitij Sisodia <kshitij.sisodia@arm.com>
|
|
Signed-off-by: Richard Burton <richard.burton@arm.com>
Change-Id: I4ae40a60efc0c09f27b02f739769238e95bb112c
|
|
Signed-off-by: Richard Burton <richard.burton@arm.com>
Change-Id: I36f61ce74bf17f7b327cdae9704a22ca54144f37
|
|
TensorFlow Lite Micro's error reporting fix with some minor
wiring changes.
Change-Id: Ib011ab132c82db5809b75a7c4b983a3db2a808d6
|
|
* Removed unused prototype for box drawing
Signed-off-by: Richard Burton <richard.burton@arm.com>
Change-Id: I1b03b88e710a5efb1ff8e107859d2245b1fead26
|
|
Looks large but it is mainly just many small adjustments
Removed the inference runner code as it wasn't used
Fixes to doc strings
Consistent naming e.g. Asr/Kws instead of ASR/KWS
Signed-off-by: Richard Burton <richard.burton@arm.com>
Change-Id: I43b620b5c51d7910a29a63b509ac4d8a82c3a8fc
|