-
Notifications
You must be signed in to change notification settings - Fork 732
Add bundled IO support to portable executor runner #15368
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
just use gflags to pass these as an arg
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Will do
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done
|
|
||
| std::stringstream list_of_input_files(FLAGS_inputs); | ||
| std::string path; | ||
| if (!bundle_io) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done
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 <[email protected]> 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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ok that works for me
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