Age | Commit message (Collapse) | Author |
|
The device types in the UAPI have been renamed to follow the UAPI
namespacing and driver library validation has been added to ensure the
driver library and UAPI device enum values match.
The kernel and driver library version have been given a major bump for
the introduction of the device type in the capabilities.
Change-Id: Ib782b0bd7a8641db88521f8be399f709d2d73816
Signed-off-by: Mikael Olsson <mikael.olsson@arm.com>
|
|
In preparation to support the Linux kernel driver directly managing the
NPU without a subsystem. A NPU device type has been added to the
capabilities to be able to specify what kind of NPU is used.
Change-Id: I45345b7d75d234f821d70b858453d3af2a99194e
Signed-off-by: Mikael Olsson <mikael.olsson@arm.com>
|
|
The PMU event counter value is an accumulation of 32-bit values during
the inference and to ensure the total value fits in the rpmsg message
and UAPI, the variable holding the value has been changed to 64-bit.
The driver library, Python wrapper and inference runner have been
changed accordingly to support the 64-bit values.
Change-Id: I09a8e45eb75800c8a787f83abff5a3693148cc15
Signed-off-by: Mikael Olsson <mikael.olsson@arm.com>
|
|
To not allow the buffer for a network instance to be changed after
creation, the create network UAPI will now take the network model data
as a user buffer. The content of the user buffer is copied into an
internally allocated DMA buffer that cannot be accessed by the user.
This breaks the current API so the Linux kernel NPU driver version and
the driver library version have been given major version bumps. All the
tests, documentation and other applications affected by the changes have
been updated accordingly.
Change-Id: I25c785d75a24794c3db632e4abe5cfbb1c7ac190
Signed-off-by: Mikael Olsson <mikael.olsson@arm.com>
|
|
The UAPI no longer supports the buffer capacity, offset and resize
functionality. Instead, the UAPI now only accepts a fixed size given at
the creation of the buffer. This change was made because the features
were not used and made the buffer handling more complicated. The user
knows how big buffers they need for their networks so they don't need
resize support or partial buffer usage support by having separate size
and capacity with an offset.
Without these features, the buffer instance no longer needs any IOCTL
call support so it has been removed. However, to still be able to check
the size of a buffer from its file descriptor, seek support has been
implemented so lseek and similar functions can be used to get the size.
The driver library's clear function that previously only reset the size
and offset values of the buffer will now clear the buffer content
instead.
These are breaking changes so the Linux kernel NPU driver version and
the driver library version have been given major version bumps. All the
tests and other applications affected by these changes have been updated
accordingly.
Change-Id: Ifc34cf04724a95853ad23fd7398dd286f73bcdab
Signed-off-by: Mikael Olsson <mikael.olsson@arm.com>
|
|
A version has been added to the driver library so users can check if
they are compatible with the driver library in use.
The Python wrapper has been updated accordingly to make the version
information available.
Change-Id: I8affbf7068c057f7103adf14c9e4a331d547fbcc
Signed-off-by: Mikael Olsson <mikael.olsson@arm.com>
|
|
The driver library will now check that it's compatible with the kernel
driver in use by checking the kernel driver's version.
The kernel driver version has also been made available to the library
users and the Python wrapper has been updated accordingly.
Change-Id: Ieae8c0bfc323f945038e7264eceeab90c833f76d
Signed-off-by: Mikael Olsson <mikael.olsson@arm.com>
|
|
Python `ethosu_driver` could be built as part of Arm Ethos-U Linux
driver library CMake flow.
See driver_library/python/README.md for more details.
Change-Id: I177a890add5c13df9a839f4f43621f972afe5ab1
Signed-off-by: Kshitij Sisodia <kshitij.sisodia@arm.com>
|
|
Change-Id: I303f1424eb46576847312672f7ed5ac03c05aee1
|
|
Send cancel inference messages to the ethosu subsystem to abort
inference execution there. Also mark inference as aborted in the
linux driver stack itself, so pending inference messages are not
resent when resetting the firmware.
Change-Id: I244c2b119fd7995d14e3859815abf2a00c7f0583
|
|
Change-Id: I62e13df69c712ed4cf70766429b4cb13fc9c9dcb
|
|
Also always rethrow exceptions not swallow them
Change-Id: I7a4b1e408858aa0d0128ca7bd6d6a7715662f9fb
|
|
There is not real need for the linux_driver_stack to know about tflite
and flatbuffers. A better approach is to just pass the buffer to the
firmware to be processes, i.e., either parsed or executed.
This solves issues when linux_driver_stack and firmware are not in
sync with the same library versions.
Change-Id: I9b2a12e69f37f61b1ac594433a15883fb1c67b9c
|
|
Add UAPI and core message that allows user space space to fetch
information about network models built into the firmware.
Change-Id: Ic92529bce3edd0a5499e691a566bd065da2a72ad
|
|
Support referencing a network model by index that has been built into
the firmware binary.
Change-Id: Idd5294376ea82503dfeafe1203dcc0694d296dfe
|
|
Change-Id: I965a6f4c42fca1b3b4493e7eef3cbb75e236fe3a
|
|
It now accepts a timeout expressed in nanoseconds.
Change-Id: I77fb89c33dc117f846b86494883548ef3241f0ab
|
|
Change-Id: Ia90e2d74c3e071c6e3de381cfada9a5a155d7529
|
|
Change-Id: Id5aa197312c88b0c448dc085d8477ed67da24724
|
|
Change-Id: I7694ab9dd5ff20c29feb0506bcf36a1cf4983243
|
|
Change-Id: I535e4c9297cf0890fa1cb4f2d8b7cad7e0b4ee39
|
|
Change-Id: I2ebac7df9c4716be7fee10ce4cba350e40860ca2
|
|
Build flatbuffers library.
Update network class to extract IFM and OFM dimensions from the tflite
file.
Update the uapi and core apis to support up to 16 IFM and OFM buffers
per inference.
Change-Id: I2f2f177aa4c2d5f9f50f23eb33c44e01ec2cbe09
|
|
Change-Id: I14b6becc908a0ac215769c32ee9c43db192ae6c8
|