- Jun 09, 2025
-
-
Mikael authored
Change-Id: Ief219836448309eaacbf28317c8a9cdbac52b2b7 Signed-off-by:
Mikael Olsson <mikael.olsson@arm.com>
-
- Jun 03, 2025
-
-
Jonny Svärd authored
TensorFlow v2.18.1 requires flatc host tool for cross compilation. Add a note stating which version has been tested, to simplify user setup. Change-Id: I39bdd318383e01c671f3238a52607d0d4ad91c21 Signed-off-by:
Jonny Svärd <jonny.svaerd@arm.com>
-
- May 22, 2025
-
-
Jonny Svärd authored
Change-Id: I79c3fd780b94bf95762b768fb88560c708c62117 Signed-off-by:
Jonny Svärd <jonny.svaerd@arm.com>
-
Rajasekaran Kalidoss authored
Signed-off-by:
Rajasekaran Kalidoss <rajasekaran.kalidoss@arm.com> Change-Id: Ibe913ef1bd2e0bde6dcae3b3f0de75c27ac8881c
-
- May 21, 2025
-
-
Mikael authored
Document limitations in the Subsystem inference cancellation support in the README. Change-Id: I36eddc482fb682846b7977bee358525f8185dafb Signed-off-by:
Mikael Olsson <mikael.olsson@arm.com>
-
Mikael authored
The linux driver stack does not support kernel versions below 5.16. Change-Id: I50d4ffc8901d5a73b41cc768ca00c7cfaa2c0424 Signed-off-by:
Mikael Olsson <mikael.olsson@arm.com>
-
Mikael authored
The NPU kernel driver Q-channel is limited and information about this has been added to the README. Change-Id: I06c71601d5a565399a62cf13f8e24f322d2b1a0f Signed-off-by:
Mikael Olsson <mikael.olsson@arm.com>
-
Mikael authored
The README has been restructured to make it clearer what components are for what configuration and how to run inferences on the configurations. Change-Id: I8b87bb623cc8ec2a57241bc26d0130cc05f6cb76 Signed-off-by:
Mikael Olsson <mikael.olsson@arm.com>
-
- May 20, 2025
-
-
Mikael authored
Support for running networks with no IFMs has been added to the Linux driver stack. When a network with no IFMs is run, the kernel driver will produce a warning to notify the user that no IFMs are used. Change-Id: I421d09015b3eacdc96a2152d9205e63b4682f3a2 Signed-off-by:
Mikael Olsson <mikael.olsson@arm.com>
-
- May 15, 2025
-
-
Mikael authored
The inference runner's help message has been updated to make it clear what the expectations are for the IFM and OFM files. This also makes it consistent with the delegate runner's help message. Change-Id: I880d257bd77c3f31111353f4896899b81445badb Signed-off-by:
Mikael Olsson <mikael.olsson@arm.com>
-
- May 14, 2025
-
-
Jonny Svärd authored
The TensorFlow Lite build system (v2.18.1) requires the TFLITE_HOST_TOOLS_DIR CMake variable to be set or else the CMake configuration step fails. The build system will use the tools found in PATH _before_ looking in whatever folder is specified in this variable, but the variable is not allowed to be empty. If you don't have the required host tools (currently flatc only) in your PATH, make sure to set this variable to the correct folder where the tools can be found. Silence deprecation warnings for third party libraries and/or their dependencies. TensorFlow Lite downloads its own dependencies, but the regular cmake_policy calls will not affect these, hence setting the variables for policy CMP0169 instead. Change-Id: I99983e757efbd6cfbce6c4a3c368db02413bb0d8 Signed-off-by:
Jonny Svärd <jonny.svaerd@arm.com>
-
Rajasekaran Kalidoss authored
Add details of supported Linux kernel versions and the required sparse version. Also update information about the host systems used to verify the build system. Change-Id: Ic92bfd76d760796fe644fa518c356e5c203be7f9 Signed-off-by:
Rajasekaran Kalidoss <rajasekaran.kalidoss@arm.com>
-
Rajasekaran Kalidoss authored
The parameter list for the of_property_for_each_u32() macro has changed in kernel v6.6.76 and later. In order to make the region config parsing compatible with both newer and older kernel versions, it has been changed to use of_property_count_u32_elems() and of_property_read_u32_array() to read the values. Change-Id: Ic535690031eada30e0b51aa81c707c0ef024e231 Signed-off-by:
Rajasekaran Kalidoss <rajasekaran.kalidoss@arm.com>
-
- May 13, 2025
-
-
Rajasekaran Kalidoss authored
The signatures of two core APIs(class_create and remove member of struct platform_driver) has changed between 5.16.20 and the 6.x kernel series. Wrap these calls in version‐guarded macros and inline shims to enable the drivers in 6.x kernel versions as well. Also remove the trivial remove callback functions and include appropriate headers required for the of_property_* functions. Signed-off-by:
Rajasekaran Kalidoss <rajasekaran.kalidoss@arm.com> Change-Id: Ib69b894ddfeb066e434a67e6d9fe3efd7710f7e6
-
- May 12, 2025
-
-
Mikael authored
The option to enable the cycle counter, didn't work because the option was matched with the wrong casing when parsed. Change-Id: Ib65756130ef3f38cdbdb27f4cd0f50ff88b8a065 Signed-off-by:
Mikael Olsson <mikael.olsson@arm.com>
-
Mikael authored
A start and stop event must be set for the NPU's cycle counter for it to know when it should start and stop counting. The driver did not set these events so the cycle counter didn't work as expected. Change-Id: I768d46085f51d2ffe4d8f789d5156eb5b660320d Signed-off-by:
Mikael Olsson <mikael.olsson@arm.com>
-
- May 09, 2025
-
-
Rajasekaran Kalidoss authored
In kernel 6.x versions using platform_get_resource() to get the irq resource is not supported and it returns -ENOENT. Use platform_get_irq to ger irq number. Also get irq trigger type to update irq flags. This works in both 5.x and 6.x versions. Change-Id: I0c04c1179621b70c66659a6d2777ff24429fa866 Signed-off-by:
Rajasekaran Kalidoss <rajasekaran.kalidoss@arm.com>
-
- May 05, 2025
-
-
Mikael authored
The Python API tests and InferenceRunner for driver library only supports the Subsystem NPU configuration, so checks have been added to verify that the correct configuration is used. Change-Id: I85a99549ae2588c598f9dde69b7a35b554c9b2a1 Signed-off-by:
Mikael Olsson <mikael.olsson@arm.com>
-
Mikael authored
Locating the Python interpreter and development libraries with "find_package(PythonInterp)" and "find_package(PythonLibs)" has been deprecated since CMake version 3.12 and was disabled by a policy in 3.27. The new method of getting the interpreter and development libraries is by using find_package with Python3 and requesting the specific components needed. To allow the driver library's Python API to be build with CMake version 3.27 and newer, the CMake file for the Python API has been changed to use the new method. Change-Id: I0ab7e9741a4bdae54894e360c5f2e40a79e496d1 Signed-off-by:
Mikael Olsson <mikael.olsson@arm.com>
-
- Apr 30, 2025
-
-
Rajasekaran Kalidoss authored
Fix the compiler error "inline is not at beginning of declaration [-Werror=old-style-declaration]". Signed-off-by:
Rajasekaran Kalidoss <rajasekaran.kalidoss@arm.com> Change-Id: Ic5035c0365b9d3855fb71970ad8b735c7a138889
-
- Apr 25, 2025
-
-
Rajasekaran Kalidoss authored
Add "-Wbitwise" flag to prevent sparse from treating "cast to restricted __le32" warnings as errors. This warning originates from the kernel code and is not a driver issue. In the kernel header(asm-generic/io.h), a u32 type is implicitly cast to a restricted type "le32" and sparse throws a warning. This doesn't affect the driver functionality and can be ignored. Note that this issue exists only in kernel version from 6.0 to 6.2.x. In v5.x and v6.3.0 or later this issue is fixed. Change-Id: Ibc6533a55678b0515b0ffe0af80128dc5293dde3 Signed-off-by:
Rajasekaran Kalidoss <rajasekaran.kalidoss@arm.com>
-
- Apr 22, 2025
-
-
Mikael authored
To decrease the time it takes to construct a network instance directly from a file, the driver library now memory maps the file instead of copying it before handing the data to the Network UAPI. Change-Id: Iff653555cca357786ef338063870c5195177239c Signed-off-by:
Mikael Olsson <mikael.olsson@arm.com>
-
Mikael authored
The SHRAM RECONFIG PMU event is not supported on Ethos-U85 and has therefore been removed from the interface file Change-Id: I8123cdc24764087b5f7b6dc0d44fb7c3c53242f7 Signed-off-by:
Mikael Olsson <mikael.olsson@arm.com>
-
- Apr 15, 2025
-
-
Rajasekaran Kalidoss authored
Ethos-U operator delegate doesn't have a runtime check to verify if it is running with a compatible driver library. Add runtime version check to verify this. Signed-off-by:
Rajasekaran Kalidoss <rajasekaran.kalidoss@arm.com> Change-Id: Ia5526eec04d9a85ae41780ce1d6f98d6557774f2
-
- Apr 07, 2025
-
-
Mikael authored
The delegate still uses a predefined index to get the tensor with the constant data which isn't guaranteed to be correct because TFLite will reorder the inputs. It has now been changed to use the index retrieved during the prepare stage to ensure the correct tensor is used. Change-Id: Ia3a930a0a61a7e9094ba3e671a2c297d423c2f7c Signed-off-by:
Mikael Olsson <mikael.olsson@arm.com>
-
- Apr 04, 2025
-
-
Jonny Svärd authored
CMake version 4 is no longer compatible with CMakefiles that set cmake_minimum_required < 3.5. Update the required version to 3.16.0 to match what is required by TensorFlow Lite. Add policy override in thirdparty/CMakeLists.txt to force CMake to treat all third party CMake files as 3.10 compatible, no matter if they specify cmake_minimum_required and/or cmake_policy with a version explicitly. (Currently unclear why it's required setting both a regular variable and an environment variable for it to take effect.) Change-Id: Ie429433fd9c8837fc3d7129c4aca41ca52560340 Signed-off-by:
Jonny Svärd <jonny.svaerd@arm.com>
-
- Apr 03, 2025
-
-
Rajasekaran Kalidoss authored
Signed-off-by:
Rajasekaran Kalidoss <rajasekaran.kalidoss@arm.com> Change-Id: I037de1095c441a4400ea15507fa0324ac8d03d34
-
Mikael authored
A profiling mode has been added to the inference runner to make it possible to measure how long it takes to run an inference. Change-Id: Id8db9671ddf6002627fe0862141668d3da1428ad Signed-off-by:
Mikael Olsson <mikael.olsson@arm.com>
-
Mikael authored
The inference runner has been refactored to store command line options in a struct so that they can be passed around more easily and the inconsistent std namespace usage has been cleaned up. This has been done in preperation for adding profiling support. Change-Id: I981ec1fbeaf28d568f2e948506f1b71418c1bba6 Signed-off-by:
Mikael Olsson <mikael.olsson@arm.com>
-
Mikael authored
A utility application has been added to make it easier to run inferences with the Ethos-U operator delegate. Change-Id: Idaad1346ea13b90d35d1bcc006492371ea849e80 Signed-off-by:
Mikael Olsson <mikael.olsson@arm.com>
-
Mikael authored
When a network instance is created with the driver library, the data for the network often comes from a file. To make this case easier, the driver library now has a constructor that supports creating the network directly from the filename. Change-Id: Id18486491d66076b02e8b78c8ce9933543ced27d Signed-off-by:
Mikael Olsson <mikael.olsson@arm.com>
-
Mikael authored
To be able to run clang-tidy in the linux driver stack, a clang-tidy config file has been added and the cmake toolchain files have been updated to generate a compile command database. Issues and style inconsistencies reported by clang-tidy have been fixed. Change-Id: I003c751b3eaf0527974a644a2989b24d41788796 Signed-off-by:
Mikael Olsson <mikael.olsson@arm.com>
-
- Apr 02, 2025
-
-
Mikael authored
The driver library stub is unused and no longer supported, so it has been removed. Change-Id: I36856a526cc6fd66f09afdebef5c7af2454f4746 Signed-off-by:
Mikael Olsson <mikael.olsson@arm.com>
-
Rajasekaran Kalidoss authored
Signed-off-by:
Rajasekaran Kalidoss <rajasekaran.kalidoss@arm.com> Change-Id: I53bc1747beb15b39d4395b784b1eb00cdcd05dc6
-
- Apr 01, 2025
-
-
Mikael authored
With the warning flags used in the Linux driver stack, a lot of warnings are being produced when compiling the TensorFlow library. As this is a thirdparty library not under our control, the warnings from the library have been suppressed. Change-Id: Ib12b0d3b15df36d5134e5404c13db875031703d3 Signed-off-by:
Mikael Olsson <mikael.olsson@arm.com>
-
Rajasekaran Kalidoss authored
uint32_t is not defined in linux/types.h and it leads to compilation error and is inconsistent. Fix it by changing to __u32. Signed-off-by:
Rajasekaran Kalidoss <rajasekaran.kalidoss@arm.com> Change-Id: Idfb212e241eb161dba0e1e37930df0c869c92358
-
- Mar 14, 2025
-
-
Mikael authored
The delegate assumed that the order of the input and output indexes would stay the same between the Init and Eval call. However, this is not the case because TFLite will sort the input and output indexes when the nodes are replaced and the graph gets partitioned. To handle this, the delegate will now store the initial order of the input and output indexes before the nodes are replaced. Change-Id: Ia5e4e218fa2e2ab6e549823c2a43c5380865890f Signed-off-by:
Mikael Olsson <mikael.olsson@arm.com>
-
- Mar 11, 2025
-
-
Mikael authored
The constant tensor's data pointer was reused for the scratch tensors to avoid TFLite failing because TFLite sees tensors with a size but no data as an error. However, in some cases, the constant tensor will be empty and cannot be reused for the scratch tensors. To avoid this, the command tensor's data pointer is reused instead as it will always be set. Change-Id: I40fe5bde04f3cc5cccde96d6e4c1ea2ed2a60e2c Signed-off-by:
Mikael Olsson <mikael.olsson@arm.com>
-
- Mar 04, 2025
-
-
Mikael authored
Change-Id: Id6141ec6a31c0485a00a60a1c58992caa1cca4c9 Signed-off-by:
Mikael Olsson <mikael.olsson@arm.com>
-
Mikael authored
The README file has been refactored to accomodate two different NPU configurations and information about direct drive has been added. Change-Id: Ib649c38376d5d232e36f0c550f24735a3bb931c3 Signed-off-by:
Mikael Olsson <mikael.olsson@arm.com>
-