Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

build-run: Add Ethos NPU ID and MAC configuration option #48

Merged

Conversation

GaborAbonyi
Copy link
Contributor

Add Ethos NPU ID and MAC configuration option

Description

  • Selectable U55/U65 NPU
  • Selectable MACs for the NPU
  • Update linker files to support Dedicated SRAM mode for Ethos-U65

Test Steps

Existing tests were run, U65 option checked for Speech recognition and KWS examples.

Checklist:

  • I have tested my changes. No regression in existing tests.
  • I have modified and/or added unit-tests to cover the code changes in this Pull Request.

Related Issue

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

This patch removes the hardcoded value of u55 in tesorflow.cmake.
It now uses ETHOS_U_NPU_ID as input and convert it to the format
needed by TensorFlow build.
This also means the ETHOS_U_NPU_ID variable preserve workaround is
no longer needed in SetupMlEmbeddedEvaluationKitLibraries.cmake as
it is no longer overwritten in tensorflow.cmake.

Signed-off-by: Gabor Abonyi <[email protected]>
These settings are independent from the applications, to reduce
duplication, configuration of NPU is moved to bsp layer.
Added U65 option and checks for config validity.

Signed-off-by: Gabor Abonyi <[email protected]>
This is needed to place activation_buf_dram in a no init region, so
it does not require space in flash.

Signed-off-by: Gabor Abonyi <[email protected]>
* Add option to the build/run scripts to select different Ethos NPU
* Add option to the buld script to select number of Ethos NPU MAC
  unit per cycle

Signed-off-by: Gabor Abonyi <[email protected]>
This is so some CMake arguments can be excluded more easily
depending on the build configuration. It will remove the need
to set default values for CMake cache variables from the scripts
as CMake cache variables already have default values.

This change allows a standard overriding of CMake cache variable
in CMake scripts without a check to see if the user input a value
for the cache variable.

Signed-off-by: Gabor Abonyi <[email protected]>
@GaborAbonyi GaborAbonyi requested a review from a team as a code owner February 19, 2024 09:52
@rawalexe rawalexe merged commit 32ea1a0 into FreeRTOS:main Feb 19, 2024
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants