-
Notifications
You must be signed in to change notification settings - Fork 471
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
Fix bundled program and plan_execute in pybindings #4595
Conversation
🔗 Helpful Links🧪 See artifacts and rendered test results at hud.pytorch.org/pr/pytorch/executorch/4595
Note: Links to docs will display an error until the docs builds have been completed. ✅ No FailuresAs of commit 12fe06b with merge base 79c15ef ( This comment was automatically generated by Dr. CI and updates every 15 minutes. |
This pull request was exported from Phabricator. Differential Revision: D60939315 |
This pull request was exported from Phabricator. Differential Revision: D60939315 |
50c00da
to
a314db7
Compare
Summary: Pull Request resolved: pytorch#4595 Bundled programs needed to use the `plan_execute` function on ExecutorchModule because the inputs were previously loaded. Unfortunately this meant that the programs didn't work if they did not have pre-planned outputs (i.e. the caller is supposed to provide the memory). Share code for allocating outputs as necessary between `run_method` and `plan_execute`. Also share code for *returning* those outputs, as there doesn't seem to be a reason to execute the method without getting its output. In order for the output storage to live long enough for the bundled program comparison, add the storages as private data members of `PyModule`. As an improvement in user API, have `verify_result_with_bundled_expected_output` do all of these things at once for the user. Differential Revision: D60939315
Summary: Pull Request resolved: pytorch#4595 Bundled programs needed to use the `plan_execute` function on ExecutorchModule because the inputs were previously loaded. Unfortunately this meant that the programs didn't work if they did not have pre-planned outputs (i.e. the caller is supposed to provide the memory). Share code for allocating outputs as necessary between `run_method` and `plan_execute`. Also share code for *returning* those outputs, as there doesn't seem to be a reason to execute the method without getting its output. In order for the output storage to live long enough for the bundled program comparison, add the storages as private data members of `PyModule`. As an improvement in user API, have `verify_result_with_bundled_expected_output` do all of these things at once for the user. Differential Revision: D60939315
This pull request was exported from Phabricator. Differential Revision: D60939315 |
a314db7
to
12fe06b
Compare
Summary:
Bundled programs needed to use the
plan_execute
function on ExecutorchModulebecause the inputs were previously loaded. Unfortunately this meant that the
programs didn't work if they did not have pre-planned outputs
(i.e. the caller is supposed to provide the memory).
Share code for allocating outputs as necessary between
run_method
andplan_execute
.Also share code for returning those outputs, as there doesn't seem to be a reason to
execute the method without getting its output.
In order for the output storage to live long enough for the bundled program comparison,
add the storages as private data members of
PyModule
.Differential Revision: D60939315