Add bundled IO support to portable executor runner#15368
Add bundled IO support to portable executor runner#15368mansnils merged 8 commits intopytorch:mainfrom
Conversation
🔗 Helpful Links🧪 See artifacts and rendered test results at hud.pytorch.org/pr/pytorch/executorch/15368
Note: Links to docs will display an error until the docs builds have been completed. ❌ 5 New Failures, 1 Pending, 3 Unrelated FailuresAs of commit 29dbed2 with merge base 92bf722 ( NEW FAILURES - The following jobs have failed:
BROKEN TRUNK - The following jobs failed but were present on the merge base:👉 Rebase onto the `viable/strict` branch to avoid these failures
This comment was automatically generated by Dr. CI and updates every 15 minutes. |
|
Need to either add DEVTOOLS=ON to all cmake recipes that builds the executor runner or use an optional build flag. |
| } | ||
|
|
||
| if (bundle_io) { | ||
| // With bundled io we can check the result. |
There was a problem hiding this comment.
This file gets copy pasted a ton as a basic example of a runner. Im pretty resistant to something like this which will tempt people to use it it as a tester. Im already not a huge fan of having the benchmarking stuff in here.
There was a problem hiding this comment.
This is now an optional build flag.
| using executorch::runtime::Tag; | ||
| using executorch::runtime::TensorInfo; | ||
|
|
||
| #if defined(ET_BUNDLE_IO_ATOL) |
There was a problem hiding this comment.
just use gflags to pass these as an arg
|
|
||
| std::stringstream list_of_input_files(FLAGS_inputs); | ||
| std::string path; | ||
| if (!bundle_io) { |
There was a problem hiding this comment.
are .ptd and bundledProgram mutually exclusive? @lucylq @Gasoonjia.
ptd is only used to pass weights along its not another way to pass inputs to this file afaik
Executor runner supports both models with/wo bundled io in same path. To enable bundled IO EXECUTORCH_BUILD_DEVTOOLS and EXECUTORCH_ENABLE_BUNDLE_IO are required. Adds tests in Arm backend for testing this/depending on this. Except for enabling bundle-io for VGF backend where applicable, some additional resnets model tests are enabled as well. Avoids narrowing conversion errors in pte_to_header script by switching char to unsigned char. Signed-off-by: Måns Nilsson <mans.nilsson@arm.com> Change-Id: Iffdf6c253a57b01abb02758b6ba2d1e3de25e3d8
This comment should be resolved now. |
Change-Id: I91ca1425bc023a37656704b3bae82da26cbd58e4
Also slightly change condition in order to avoid confusing print, 'Loading inputs from input file(s)' when no files where provided. Change-Id: Icc9c1faa50a1c00e0a6ccf12c85b687af736f6b2
Change-Id: I80148fffc4b25e5470b53b559e184ac08630426a
Change-Id: I2c3e7e25f48d56071861218403941c451baf3a69
|
@mansnils Do you have strong preference to not fork the runner? We currently have a slight preference in this case to have you fork it rather then add the ifdef stuff. But if you feel really strongly not too we would hear you out. |
Yes we really prefer not to fork the runner. |
we're integrated with the Vulkan flows too, so running vulkan or VGF (vulkan extension features) delegates in the same runner and same system configs, sometimes just with a vulkan layer driver, is much preferred. |
JacobSzwejbka
left a comment
There was a problem hiding this comment.
Ok that works for me
Summary: Forward fix for pytorch#15368 Reviewed By: metascroy Differential Revision: D87712225
Summary: Forward fix for #15368 Reviewed By: metascroy Differential Revision: D87712225
Executor runner supports both models with/wo bundled io in same path. To enable bundled IO EXECUTORCH_BUILD_DEVTOOLS and EXECUTORCH_ENABLE_BUNDLE_IO are required. Adds tests in Arm backend for testing this/depending on this. Except for enabling bundle-io for VGF backend where applicable, some additional resnets model tests are enabled as well. Avoids narrowing conversion errors in pte_to_header script by switching char to unsigned char. Signed-off-by: Måns Nilsson <mans.nilsson@arm.com> Co-authored-by: Jacob Szwejbka <jakeszwe@meta.com>
Summary: Forward fix for pytorch#15368 Reviewed By: metascroy Differential Revision: D87712225
Executor runner supports both models with/wo bundled io in same path.
To enable bundled IO EXECUTORCH_BUILD_DEVTOOLS and
EXECUTORCH_ENABLE_BUNDLE_IO are required.
Adds tests in Arm backend for testing this/depending on this.
Except for enabling bundle-io for VGF backend where applicable,
some additional resnets model tests are enabled as well.
Avoids narrowing conversion errors in pte_to_header script by switching
char to unsigned char.
cc @freddan80 @per @zingo @oscarandersson8218 @digantdesai