-
Notifications
You must be signed in to change notification settings - Fork 724
Support for unified recipe registry and user interfaces (#12248) #12319
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
Support for unified recipe registry and user interfaces (#12248) #12319
Conversation
🔗 Helpful Links🧪 See artifacts and rendered test results at hud.pytorch.org/pr/pytorch/executorch/12319
Note: Links to docs will display an error until the docs builds have been completed. ❌ 1 New Failure, 10 Pending, 4 Unrelated FailuresAs of commit 3cf207a with merge base 4e29bc9 ( NEW FAILURE - The following job has 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. |
|
This pull request was exported from Phabricator. Differential Revision: D78034047 |
This PR needs a
|
bd198d4 to
9dc2249
Compare
|
This pull request was exported from Phabricator. Differential Revision: D78034047 |
9dc2249 to
235433a
Compare
… (pytorch#12319) Summary: Implements the RFC: pytorch#12248 1. `BackendRecipeProvider` -> Abstract interface that all backends must implement while providing recipes. 1. `recipe_registry` -> Singleton registry that maintains `BackendRecipeProviders` 1. `RecipeType` -> Abstract enum, backends extend this to provide support for specific recipes. 1. `ExportRecipe` will have two class methods a. `get_recipe` -> Queries registry to get recipe w/ specific backend One can simply get and use recipes with: ## Using recipe as-is ``` recipe = ExportRecipe.get_recipe( XNNPackRecipeType.INT8_DYNAMIC_ACT_INT4_WEIGHT_PER_CHANNEL, group_size=32) export(eager_model, example_inputs, dynamic_shapes, recipe) ``` Differential Revision: D78034047
|
This pull request was exported from Phabricator. Differential Revision: D78034047 |
… (pytorch#12319) Summary: Implements the RFC: pytorch#12248 1. `BackendRecipeProvider` -> Abstract interface that all backends must implement while providing recipes. 1. `recipe_registry` -> Singleton registry that maintains `BackendRecipeProviders` 1. `RecipeType` -> Abstract enum, backends extend this to provide support for specific recipes. 1. `ExportRecipe` will have two class methods a. `get_recipe` -> Queries registry to get recipe w/ specific backend One can simply get and use recipes with: ## Using recipe as-is ``` recipe = ExportRecipe.get_recipe( XNNPackRecipeType.INT8_DYNAMIC_ACT_INT4_WEIGHT_PER_CHANNEL, group_size=32) export(eager_model, example_inputs, dynamic_shapes, recipe) ``` Differential Revision: D78034047
235433a to
1d54036
Compare
… (pytorch#12319) Summary: Implements the RFC: pytorch#12248 1. `BackendRecipeProvider` -> Abstract interface that all backends must implement while providing recipes. 1. `recipe_registry` -> Singleton registry that maintains `BackendRecipeProviders` 1. `RecipeType` -> Abstract enum, backends extend this to provide support for specific recipes. 1. `ExportRecipe` will have two class methods a. `get_recipe` -> Queries registry to get recipe w/ specific backend One can simply get and use recipes with: ## Using recipe as-is ``` recipe = ExportRecipe.get_recipe( XNNPackRecipeType.INT8_DYNAMIC_ACT_INT4_WEIGHT_PER_CHANNEL, group_size=32) export(eager_model, example_inputs, dynamic_shapes, recipe) ``` Differential Revision: D78034047
1d54036 to
fd029da
Compare
|
This pull request was exported from Phabricator. Differential Revision: D78034047 |
1 similar comment
|
This pull request was exported from Phabricator. Differential Revision: D78034047 |
… (pytorch#12319) Summary: Pull Request resolved: pytorch#12319 Implements the RFC: pytorch#12248 1. `BackendRecipeProvider` -> Abstract interface that all backends must implement while providing recipes. 1. `recipe_registry` -> Singleton registry that maintains `BackendRecipeProviders` 1. `RecipeType` -> Abstract enum, backends extend this to provide support for specific recipes. 1. `ExportRecipe` will have two class methods a. `get_recipe` -> Queries registry to get recipe w/ specific backend One can simply get and use recipes with: ## Using recipe as-is ``` recipe = ExportRecipe.get_recipe( XNNPackRecipeType.INT8_DYNAMIC_ACT_INT4_WEIGHT_PER_CHANNEL, group_size=32) export(eager_model, example_inputs, dynamic_shapes, recipe) ``` Differential Revision: D78034047
748d555 to
9bef6f9
Compare
… (pytorch#12319) Summary: Implements the RFC: pytorch#12248 1. `BackendRecipeProvider` -> Abstract interface that all backends must implement while providing recipes. 1. `recipe_registry` -> Singleton registry that maintains `BackendRecipeProviders` 1. `RecipeType` -> Abstract enum, backends extend this to provide support for specific recipes. 1. `ExportRecipe` will have two class methods a. `get_recipe` -> Queries registry to get recipe w/ specific backend One can simply get and use recipes with: ## Using recipe as-is ``` recipe = ExportRecipe.get_recipe( XNNPackRecipeType.INT8_DYNAMIC_ACT_INT4_WEIGHT_PER_CHANNEL, group_size=32) export(eager_model, example_inputs, dynamic_shapes, recipe) ``` Reviewed By: kimishpatel Differential Revision: D78034047
… (pytorch#12319) Summary: Implements the RFC: pytorch#12248 1. `BackendRecipeProvider` -> Abstract interface that all backends must implement while providing recipes. 1. `recipe_registry` -> Singleton registry that maintains `BackendRecipeProviders` 1. `RecipeType` -> Abstract enum, backends extend this to provide support for specific recipes. 1. `ExportRecipe` will have two class methods a. `get_recipe` -> Queries registry to get recipe w/ specific backend One can simply get and use recipes with: ## Using recipe as-is ``` recipe = ExportRecipe.get_recipe( XNNPackRecipeType.INT8_DYNAMIC_ACT_INT4_WEIGHT_PER_CHANNEL, group_size=32) export(eager_model, example_inputs, dynamic_shapes, recipe) ``` Reviewed By: kimishpatel Differential Revision: D78034047
9bef6f9 to
9c26533
Compare
|
This pull request was exported from Phabricator. Differential Revision: D78034047 |
… (pytorch#12319) Summary: Implements the RFC: pytorch#12248 1. `BackendRecipeProvider` -> Abstract interface that all backends must implement while providing recipes. 1. `recipe_registry` -> Singleton registry that maintains `BackendRecipeProviders` 1. `RecipeType` -> Abstract enum, backends extend this to provide support for specific recipes. 1. `ExportRecipe` will have two class methods a. `get_recipe` -> Queries registry to get recipe w/ specific backend One can simply get and use recipes with: ## Using recipe as-is ``` recipe = ExportRecipe.get_recipe( XNNPackRecipeType.INT8_DYNAMIC_ACT_INT4_WEIGHT_PER_CHANNEL, group_size=32) export(eager_model, example_inputs, dynamic_shapes, recipe) ``` Reviewed By: kimishpatel Differential Revision: D78034047
9c26533 to
aef15d2
Compare
|
This pull request was exported from Phabricator. Differential Revision: D78034047 |
… (pytorch#12319) Summary: Pull Request resolved: pytorch#12319 Implements the RFC: pytorch#12248 1. `BackendRecipeProvider` -> Abstract interface that all backends must implement while providing recipes. 1. `recipe_registry` -> Singleton registry that maintains `BackendRecipeProviders` 1. `RecipeType` -> Abstract enum, backends extend this to provide support for specific recipes. 1. `ExportRecipe` will have two class methods a. `get_recipe` -> Queries registry to get recipe w/ specific backend One can simply get and use recipes with: ## Using recipe as-is ``` recipe = ExportRecipe.get_recipe( XNNPackRecipeType.INT8_DYNAMIC_ACT_INT4_WEIGHT_PER_CHANNEL, group_size=32) export(eager_model, example_inputs, dynamic_shapes, recipe) ``` Reviewed By: kimishpatel Differential Revision: D78034047
ecd11d3 to
0d7371b
Compare
… (pytorch#12319) Summary: Pull Request resolved: pytorch#12319 Implements the RFC: pytorch#12248 1. `BackendRecipeProvider` -> Abstract interface that all backends must implement while providing recipes. 1. `recipe_registry` -> Singleton registry that maintains `BackendRecipeProviders` 1. `RecipeType` -> Abstract enum, backends extend this to provide support for specific recipes. 1. `ExportRecipe` will have two class methods a. `get_recipe` -> Queries registry to get recipe w/ specific backend One can simply get and use recipes with: ## Using recipe as-is ``` recipe = ExportRecipe.get_recipe( XNNPackRecipeType.INT8_DYNAMIC_ACT_INT4_WEIGHT_PER_CHANNEL, group_size=32) export(eager_model, example_inputs, dynamic_shapes, recipe) ``` Reviewed By: kimishpatel Differential Revision: D78034047
… (pytorch#12319) Summary: Pull Request resolved: pytorch#12319 Implements the RFC: pytorch#12248 1. `BackendRecipeProvider` -> Abstract interface that all backends must implement while providing recipes. 1. `recipe_registry` -> Singleton registry that maintains `BackendRecipeProviders` 1. `RecipeType` -> Abstract enum, backends extend this to provide support for specific recipes. 1. `ExportRecipe` will have two class methods a. `get_recipe` -> Queries registry to get recipe w/ specific backend One can simply get and use recipes with: ## Using recipe as-is ``` recipe = ExportRecipe.get_recipe( XNNPackRecipeType.INT8_DYNAMIC_ACT_INT4_WEIGHT_PER_CHANNEL, group_size=32) export(eager_model, example_inputs, dynamic_shapes, recipe) ``` Reviewed By: kimishpatel Differential Revision: D78034047
0d7371b to
3cf207a
Compare
|
@abhinaykukkadapu has imported this pull request. If you are a Meta employee, you can view this in D78034047. |
Summary:
Implements the RFC: #12248
BackendRecipeProvider-> Abstract interface that all backends must implement while providing recipes.recipe_registry-> Singleton registry that maintainsBackendRecipeProvidersRecipeType-> Abstract enum, backends extend this to provide support for specific recipes.ExportRecipewill have two class methodsa.
get_recipe-> Queries registry to get recipe w/ specific backendOne can simply get and use recipes with:
Using recipe as-is
Differential Revision: D78034047