aboutsummaryrefslogtreecommitdiff
path: root/README.md
diff options
context:
space:
mode:
Diffstat (limited to 'README.md')
-rw-r--r--README.md78
1 files changed, 67 insertions, 11 deletions
diff --git a/README.md b/README.md
index c8fe027..21c1708 100644
--- a/README.md
+++ b/README.md
@@ -12,29 +12,25 @@ is stored in `externals.json` which is a human readable JSON file.
$ ./fetch_externals.py fetch
```
-The default configuration can be overriddend with the `-c` argument, for
+The default configuration can be overridden with the `-c` argument, for
example.
```
-$ ./fetch_externals.py -c 21.11.json fetch
+$ ./fetch_externals.py -c 22.11.json fetch
```
## Directory structure
-The script will build following directory structure.
+The script will build following core directory structure.
```
Directory
.
+-- core_platform
+-- core_software
-| +-- applications
| +-- cmsis
-| +-- cmsis-view
+| +-- cmsis-nn
| +-- core_driver
-| +-- drivers
-| +-- lib
-| +-- rtos
| +-- tflite_micro
+-- linux_driver_stack
+-- vela
@@ -43,10 +39,11 @@ Directory
| Directory | Description |
--- | ---
| [.](https://git.mlplatform.org/ml/ethos-u/ethos-u.git) | This is the root directory for all Arm Ethos-U software. |
-| [core_platform](https://git.mlplatform.org/ml/ethos-u/ethos-u-core-platform.git) | This directory contains target specific files and is provided as an example how core software can be built for target platforms. |
+| [core_platform](https://git.mlplatform.org/ml/ethos-u/ethos-u-core-platform.git) | This directory contains drivers, target specific files and is provided as an example how core software can be built for target platforms. |
| [core_software](https://git.mlplatform.org/ml/ethos-u/ethos-u-core-software.git) | The software executing on Arm Cortex-M is referred to as _Core Software_. This folder provides a small build system that illustrates how to build the key components for the Arm Ethos-U core software. |
+| [cmsis](https://github.com/ARM-software/CMSIS_5) | CMSIS provides generic interfaces to boot and configure the Arm Cortex-M CPUs. |
+| [cmsis-nn](https://github.com/ARM-software/CMSIS-NN.git) | CMSIS-NN provides optimized neural network kernels for Arm Cortex-M CPUs. |
| [core_driver](https://git.mlplatform.org/ml/ethos-u/ethos-u-core-driver.git) | The Arm Ethos-U NPU driver. |
-| [cmsis](https://github.com/ARM-software/CMSIS_5) | CMSIS provides optimized kernels and generic interfaces to the Arm Cortex-M CPUs. |
| [tflite_micro](https://github.com/tensorflow/tflite-micro) | The TensorFlow Lite microcontroller framework is used to run inferences. |
| [linux_driver_stack](https://git.mlplatform.org/ml/ethos-u/ethos-u-linux-driver-stack.git) | Example driver stack showing how Linux can dispatch inferences to an Arm Ethos-U subsystem. |
| [vela](https://git.mlplatform.org/ml/ethos-u/ethos-u-vela.git) | The Vela optimizer takes a TFLu file as input and replaces operators that are supported by the Arm Ethos-U NPU with custom operators designed to run on the NPU. Operators not supported by the NPU are executed in software. |
@@ -77,7 +74,7 @@ Date: Mon Feb 29 12:12:12 2016 +0000
Title of the commit
Short description of the change.
-
+
Signed-off-by: John Doe john.doe@example.org
Signed-off-by: Foo Bar foo.bar@example.org
```
@@ -89,6 +86,65 @@ the repository.
Please see [Security](SECURITY.md).
+# Releases
+
+## Release 24.02
+
+The 24.02 release has been tested on Ubuntu 22.04.3 LTS using Tensorflow version 2.15 as reference.
+
+## Release 23.11
+
+The 23.11 release has been tested on Ubuntu 22.04.3 LTS using Tensorflow version 2.14 as reference, with the
+additional patch applied:
+
+* https://github.com/tensorflow/tensorflow/pull/58400
+
+Without this patch there may be output diffs between TFL and TFLM for certain models.
+
+## Release 23.08
+
+The 23.08 release has been tested against Tensorflow version 2.12 as reference, with the additional patches applied:
+
+* https://github.com/tensorflow/tensorflow/pull/58400
+* https://github.com/tensorflow/tensorflow/pull/52014
+
+Without these patches there may be output diffs between TFL and TFLM for certain models.
+
+## Release 23.05
+
+The 23.05 release has been tested against Tensorflow version 2.11 as reference, with the additional patches applied:
+
+* https://github.com/tensorflow/tensorflow/pull/58400
+* https://github.com/tensorflow/tensorflow/pull/52014
+
+Without these patches there may be output diffs between TFL and TFLM for certain models.
+
+There's a discrepancy in tensorflow/lite/micro/cortex_m_corstone_300/README.md fixed by https://github.com/tensorflow/tflite-micro/pull/1972.
+
+# Known Issues
+
+## TensorFlow Lite for Microcontrollers Out of Memory Error during Runtime
+During runtime the TensorFlow Lite for Microcontrollers framework might report
+the following fatal error:
+
+```Failed to resize buffer. Requested: X, available: Y, missing: Z```
+
+where X, Y and Z are numbers of bytes and X = Y + Z.
+
+There can be several reasons for running out of memory during an inference but
+one cause is that too much memory was allocated to the Ethos-U during the
+offline compilation phase of the `.tflite` file using Vela. This can result in
+not enough memory being available at runtime for the other software components
+e.g. the application, the framework, or the reference kernels. The solution is
+to calculate the amount of memory required at runtime by all components and then
+update the amount allocated to the Ethos-U by using either the Vela CLI option
+`--arena-cache-size` or the `arena_cache_size` attribute in Vela's `.ini`
+configuration file. This calculation can be difficult to get right and so a
+pragmatic solution would be to start by reducing the amount allocated to the
+Ethos-U by the value ā€˜Zā€™ (from the error message) rounded up to the nearest
+multiple 16 (the default tensor alignment used in Vela). This may be an
+iterative process.
+
# Trademark notice
Arm, Cortex and Ethos are registered trademarks of Arm Limited (or its