Initial framework of an ethos-u runtime backend #3#659
Initial framework of an ethos-u runtime backend #3#659robell wants to merge 25 commits intopytorch:mainfrom
Conversation
- Basic runtime targeting Corstone-300 with U55 - cross compile support with a cmake toolchain (Arm baremetal build) - support for a few models AoT -> TOSA -> Vela -> U55 hardware - dependencies on the ethos-u core driver and cmsis (submodules) Signed-off-by: Rob Elliott <robert.elliott@arm.com>
Signed-off-by: Rob Elliott <robert.elliott@arm.com>
Signed-off-by: Rob Elliott <robert.elliott@arm.com>
Signed-off-by: Rob Elliott <robert.elliott@arm.com>
* There is a toolchain/linking issue mixing hard and soft float ABI which is causing the test to fail, but the structure is there and the delegate is registered. Signed-off-by: Rob Elliott <robert.elliott@arm.com>
* Override the default CPU in cmake which was causing a mixture of FPU and ABI flags to be passed to different compilation stages. * Updated fallback logging implementation in delegate app to fix sporadic crash Signed-off-by: Rob Elliott <robert.elliott@arm.com>
* uses the simple_add model to run through the AoT flow and the various debug options for looking at export. * produces a .pte file for runtime delegation on the ArmBackend for Ethos-U55 platforms Signed-off-by: Rob Elliott <robert.elliott@arm.com>
Signed-off-by: Rob Elliott <robert.elliott@arm.com>
Signed-off-by: Rob Elliott <robert.elliott@arm.com>
* export the list of offset from AoT floq * appropriately copy inputs and ouputs to/from SRAM Signed-off-by: Rob Elliott <robert.elliott@arm.com>
Signed-off-by: Rob Elliott <robert.elliott@arm.com>
Signed-off-by: Rob Elliott <robert.elliott@arm.com>
Signed-off-by: Rob Elliott <robert.elliott@arm.com>
Signed-off-by: Rob Elliott <robert.elliott@arm.com>
Signed-off-by: Rob Elliott <robert.elliott@arm.com>
* File moved to new path in examples * fix arg handling and md5sum for setup scripts Signed-off-by: Rob Elliott <robert.elliott@arm.com>
✅ Deploy Preview for resplendent-gnome-14e531 canceled.
|
* Introduction of BI_INT to have a small set of pure int tests * added either vela or tosa output from compilation * Fixed tosa e2e tests to use tosa output form * unit tests currently use tosa due to missing vela dependency * vela e2e testing runs with default compile flags and emits to .pte Signed-off-by: Rob Elliott <robert.elliott@arm.com>
digantdesai
left a comment
There was a problem hiding this comment.
I know since you are waiting I am submitting these as I go. Just finished looked at the AoT python code. And next looking at the runtime bits.
Signed-off-by: Rob Elliott <robert.elliott@arm.com>
digantdesai
left a comment
There was a problem hiding this comment.
round 2 for delegate runtime
digantdesai
left a comment
There was a problem hiding this comment.
I think this is it. Not sure if I missed anything, I am not the biggest fan of this GH UI :\
examples/arm/ethos-u-setup/core_platform/patches/0007-Add-delegate-runner-test.patch
Show resolved
Hide resolved
examples/arm/ethos-u-setup/core_platform/patches/0007-Add-delegate-runner-test.patch
Show resolved
Hide resolved
Signed-off-by: Rob Elliott <robert.elliott@arm.com>
Signed-off-by: Rob Elliott <robert.elliott@arm.com>
Signed-off-by: Rob Elliott <robert.elliott@arm.com>
Signed-off-by: Rob Elliott <robert.elliott@arm.com>
|
@digantdesai has imported this pull request. If you are a Meta employee, you can view this diff on Phabricator. |
|
|
||
| #include <cstring> | ||
| #include <memory> | ||
| #include <vector> |
There was a problem hiding this comment.
Let's try to see if we can get away without this std::container. It will be better from size and portability point of view. Other than input/output we aren't using it anywhere else so should be easy to get rid of it.
|
@digantdesai merged this pull request in 78197a3. |
Update support tables and explanatory text.
Cleaned up ethos-u runtime flow, replaces #595
Added shell of runtime Arm Backend for Ethos-U
./backends/arm/cmake/build.sh will pull the appropriate compiler and build the ethos-u driver and delegate and produce the libraries needed to link an application in, which can run a delegated .pte with the revised vela_bin_stream form contained in these patches.
Currently supports .pte files stored in SRAM.