-
Notifications
You must be signed in to change notification settings - Fork 600
Enable selective build in OSS #11540
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/11540
Note: Links to docs will display an error until the docs builds have been completed. ❌ 1 New FailureAs of commit a6298d4 with merge base 72a095f ( NEW FAILURE - The following job has failed:
This comment was automatically generated by Dr. CI and updates every 15 minutes. |
This pull request was exported from Phabricator. Differential Revision: D76380110 |
@larryliu0820 has imported this pull request. If you are a Meta employee, you can view this diff on Phabricator. |
Summary: This pull request introduces a new `selective_build` pybind module to enhance code generation tools in the `executorch` project. It includes changes to integrate the module into the build system, define its functionality, and add tests for validation. The most important changes are grouped into themes: module creation, integration into the build system, and testing. ### Module Creation: * Added `selective_build.cpp` to define the `selective_build` pybind module, which provides functionality for extracting operator and IO metadata from serialized programs. * Added type definitions in `selective_build.pyi` for the `selective_build` module, including `_Program`, `_IOMetaData`, and associated methods. ### Integration into Build System: * Updated `CMakeLists.txt` to include the `codegen/tools` directory for the `selective_build` module when `EXECUTORCH_BUILD_PYBIND` is enabled. * Modified `setup.py` to add `selective_build` as a build target and link it to the appropriate CMake flags. [[1]](diffhunk://#diff-60f61ab7a8d1910d86d9fda2261620314edcae5894d5aaa236b821c7256badd7R732) [[2]](diffhunk://#diff-60f61ab7a8d1910d86d9fda2261620314edcae5894d5aaa236b821c7256badd7R794-R798) * Updated `targets.bzl` to define build rules for the `selective_build` module and its dependencies, ensuring compatibility with the runtime environment. [[1]](diffhunk://#diff-3847c39f66d06290c190e38ef87820edbe0a9f8193db33bd556376123eb4875fL22-R22) [[2]](diffhunk://#diff-3847c39f66d06290c190e38ef87820edbe0a9f8193db33bd556376123eb4875fL32-R32) [[3]](diffhunk://#diff-3847c39f66d06290c190e38ef87820edbe0a9f8193db33bd556376123eb4875fR158-R195) ### Testing: * Added `test/test_selective_build.py` to validate the functionality of the `selective_build` module, including tests for operator extraction and IO metadata retrieval. Test Plan: Imported from GitHub, without a `Test Plan:` line. Rollback Plan: Reviewed By: BujSet Differential Revision: D76380110 Pulled By: larryliu0820
d132bfa
to
4b3b013
Compare
This pull request was exported from Phabricator. Differential Revision: D76380110 |
Summary: This pull request introduces a new `selective_build` pybind module to enhance code generation tools in the `executorch` project. It includes changes to integrate the module into the build system, define its functionality, and add tests for validation. The most important changes are grouped into themes: module creation, integration into the build system, and testing. ### Module Creation: * Added `selective_build.cpp` to define the `selective_build` pybind module, which provides functionality for extracting operator and IO metadata from serialized programs. * Added type definitions in `selective_build.pyi` for the `selective_build` module, including `_Program`, `_IOMetaData`, and associated methods. ### Integration into Build System: * Updated `CMakeLists.txt` to include the `codegen/tools` directory for the `selective_build` module when `EXECUTORCH_BUILD_PYBIND` is enabled. * Modified `setup.py` to add `selective_build` as a build target and link it to the appropriate CMake flags. [[1]](diffhunk://#diff-60f61ab7a8d1910d86d9fda2261620314edcae5894d5aaa236b821c7256badd7R732) [[2]](diffhunk://#diff-60f61ab7a8d1910d86d9fda2261620314edcae5894d5aaa236b821c7256badd7R794-R798) * Updated `targets.bzl` to define build rules for the `selective_build` module and its dependencies, ensuring compatibility with the runtime environment. [[1]](diffhunk://#diff-3847c39f66d06290c190e38ef87820edbe0a9f8193db33bd556376123eb4875fL22-R22) [[2]](diffhunk://#diff-3847c39f66d06290c190e38ef87820edbe0a9f8193db33bd556376123eb4875fL32-R32) [[3]](diffhunk://#diff-3847c39f66d06290c190e38ef87820edbe0a9f8193db33bd556376123eb4875fR158-R195) ### Testing: * Added `test/test_selective_build.py` to validate the functionality of the `selective_build` module, including tests for operator extraction and IO metadata retrieval. Test Plan: Imported from GitHub, without a `Test Plan:` line. Rollback Plan: Reviewed By: BujSet Differential Revision: D76380110 Pulled By: larryliu0820
4b3b013
to
59e2b37
Compare
This pull request was exported from Phabricator. Differential Revision: D76380110 |
Summary: This pull request introduces a new `selective_build` pybind module to enhance code generation tools in the `executorch` project. It includes changes to integrate the module into the build system, define its functionality, and add tests for validation. The most important changes are grouped into themes: module creation, integration into the build system, and testing. ### Module Creation: * Added `selective_build.cpp` to define the `selective_build` pybind module, which provides functionality for extracting operator and IO metadata from serialized programs. * Added type definitions in `selective_build.pyi` for the `selective_build` module, including `_Program`, `_IOMetaData`, and associated methods. ### Integration into Build System: * Updated `CMakeLists.txt` to include the `codegen/tools` directory for the `selective_build` module when `EXECUTORCH_BUILD_PYBIND` is enabled. * Modified `setup.py` to add `selective_build` as a build target and link it to the appropriate CMake flags. [[1]](diffhunk://#diff-60f61ab7a8d1910d86d9fda2261620314edcae5894d5aaa236b821c7256badd7R732) [[2]](diffhunk://#diff-60f61ab7a8d1910d86d9fda2261620314edcae5894d5aaa236b821c7256badd7R794-R798) * Updated `targets.bzl` to define build rules for the `selective_build` module and its dependencies, ensuring compatibility with the runtime environment. [[1]](diffhunk://#diff-3847c39f66d06290c190e38ef87820edbe0a9f8193db33bd556376123eb4875fL22-R22) [[2]](diffhunk://#diff-3847c39f66d06290c190e38ef87820edbe0a9f8193db33bd556376123eb4875fL32-R32) [[3]](diffhunk://#diff-3847c39f66d06290c190e38ef87820edbe0a9f8193db33bd556376123eb4875fR158-R195) ### Testing: * Added `test/test_selective_build.py` to validate the functionality of the `selective_build` module, including tests for operator extraction and IO metadata retrieval. Pull Request resolved: #11540 Test Plan: Imported from GitHub, without a `Test Plan:` line. Rollback Plan: Reviewed By: BujSet Differential Revision: D76380110 Pulled By: larryliu0820
59e2b37
to
3e685f1
Compare
Summary: This pull request introduces a new `selective_build` pybind module to enhance code generation tools in the `executorch` project. It includes changes to integrate the module into the build system, define its functionality, and add tests for validation. The most important changes are grouped into themes: module creation, integration into the build system, and testing. ### Module Creation: * Added `selective_build.cpp` to define the `selective_build` pybind module, which provides functionality for extracting operator and IO metadata from serialized programs. * Added type definitions in `selective_build.pyi` for the `selective_build` module, including `_Program`, `_IOMetaData`, and associated methods. ### Integration into Build System: * Updated `CMakeLists.txt` to include the `codegen/tools` directory for the `selective_build` module when `EXECUTORCH_BUILD_PYBIND` is enabled. * Modified `setup.py` to add `selective_build` as a build target and link it to the appropriate CMake flags. [[1]](diffhunk://#diff-60f61ab7a8d1910d86d9fda2261620314edcae5894d5aaa236b821c7256badd7R732) [[2]](diffhunk://#diff-60f61ab7a8d1910d86d9fda2261620314edcae5894d5aaa236b821c7256badd7R794-R798) * Updated `targets.bzl` to define build rules for the `selective_build` module and its dependencies, ensuring compatibility with the runtime environment. [[1]](diffhunk://#diff-3847c39f66d06290c190e38ef87820edbe0a9f8193db33bd556376123eb4875fL22-R22) [[2]](diffhunk://#diff-3847c39f66d06290c190e38ef87820edbe0a9f8193db33bd556376123eb4875fL32-R32) [[3]](diffhunk://#diff-3847c39f66d06290c190e38ef87820edbe0a9f8193db33bd556376123eb4875fR158-R195) ### Testing: * Added `test/test_selective_build.py` to validate the functionality of the `selective_build` module, including tests for operator extraction and IO metadata retrieval. Test Plan: Imported from GitHub, without a `Test Plan:` line. Rollback Plan: Reviewed By: lucylq, BujSet Differential Revision: D76380110 Pulled By: larryliu0820
3e685f1
to
06712a4
Compare
This pull request was exported from Phabricator. Differential Revision: D76380110 |
Summary: This pull request introduces a new `selective_build` pybind module to enhance code generation tools in the `executorch` project. It includes changes to integrate the module into the build system, define its functionality, and add tests for validation. The most important changes are grouped into themes: module creation, integration into the build system, and testing. ### Module Creation: * Added `selective_build.cpp` to define the `selective_build` pybind module, which provides functionality for extracting operator and IO metadata from serialized programs. * Added type definitions in `selective_build.pyi` for the `selective_build` module, including `_Program`, `_IOMetaData`, and associated methods. ### Integration into Build System: * Updated `CMakeLists.txt` to include the `codegen/tools` directory for the `selective_build` module when `EXECUTORCH_BUILD_PYBIND` is enabled. * Modified `setup.py` to add `selective_build` as a build target and link it to the appropriate CMake flags. [[1]](diffhunk://#diff-60f61ab7a8d1910d86d9fda2261620314edcae5894d5aaa236b821c7256badd7R732) [[2]](diffhunk://#diff-60f61ab7a8d1910d86d9fda2261620314edcae5894d5aaa236b821c7256badd7R794-R798) * Updated `targets.bzl` to define build rules for the `selective_build` module and its dependencies, ensuring compatibility with the runtime environment. [[1]](diffhunk://#diff-3847c39f66d06290c190e38ef87820edbe0a9f8193db33bd556376123eb4875fL22-R22) [[2]](diffhunk://#diff-3847c39f66d06290c190e38ef87820edbe0a9f8193db33bd556376123eb4875fL32-R32) [[3]](diffhunk://#diff-3847c39f66d06290c190e38ef87820edbe0a9f8193db33bd556376123eb4875fR158-R195) ### Testing: * Added `test/test_selective_build.py` to validate the functionality of the `selective_build` module, including tests for operator extraction and IO metadata retrieval. Test Plan: Imported from GitHub, without a `Test Plan:` line. Rollback Plan: Reviewed By: lucylq, BujSet Differential Revision: D76380110 Pulled By: larryliu0820
06712a4
to
a6298d4
Compare
This pull request was exported from Phabricator. Differential Revision: D76380110 |
Summary: This pull request introduces a new `selective_build` pybind module to enhance code generation tools in the `executorch` project. It includes changes to integrate the module into the build system, define its functionality, and add tests for validation. The most important changes are grouped into themes: module creation, integration into the build system, and testing. ### Module Creation: * Added `selective_build.cpp` to define the `selective_build` pybind module, which provides functionality for extracting operator and IO metadata from serialized programs. * Added type definitions in `selective_build.pyi` for the `selective_build` module, including `_Program`, `_IOMetaData`, and associated methods. ### Integration into Build System: * Updated `CMakeLists.txt` to include the `codegen/tools` directory for the `selective_build` module when `EXECUTORCH_BUILD_PYBIND` is enabled. * Modified `setup.py` to add `selective_build` as a build target and link it to the appropriate CMake flags. [[1]](diffhunk://#diff-60f61ab7a8d1910d86d9fda2261620314edcae5894d5aaa236b821c7256badd7R732) [[2]](diffhunk://#diff-60f61ab7a8d1910d86d9fda2261620314edcae5894d5aaa236b821c7256badd7R794-R798) * Updated `targets.bzl` to define build rules for the `selective_build` module and its dependencies, ensuring compatibility with the runtime environment. [[1]](diffhunk://#diff-3847c39f66d06290c190e38ef87820edbe0a9f8193db33bd556376123eb4875fL22-R22) [[2]](diffhunk://#diff-3847c39f66d06290c190e38ef87820edbe0a9f8193db33bd556376123eb4875fL32-R32) [[3]](diffhunk://#diff-3847c39f66d06290c190e38ef87820edbe0a9f8193db33bd556376123eb4875fR158-R195) ### Testing: * Added `test/test_selective_build.py` to validate the functionality of the `selective_build` module, including tests for operator extraction and IO metadata retrieval. Test Plan: Imported from GitHub, without a `Test Plan:` line. Rollback Plan: Reviewed By: lucylq, BujSet Differential Revision: D76380110 Pulled By: larryliu0820
Summary: This pull request introduces a new `selective_build` pybind module to enhance code generation tools in the `executorch` project. It includes changes to integrate the module into the build system, define its functionality, and add tests for validation. The most important changes are grouped into themes: module creation, integration into the build system, and testing. ### Module Creation: * Added `selective_build.cpp` to define the `selective_build` pybind module, which provides functionality for extracting operator and IO metadata from serialized programs. * Added type definitions in `selective_build.pyi` for the `selective_build` module, including `_Program`, `_IOMetaData`, and associated methods. ### Integration into Build System: * Updated `CMakeLists.txt` to include the `codegen/tools` directory for the `selective_build` module when `EXECUTORCH_BUILD_PYBIND` is enabled. * Modified `setup.py` to add `selective_build` as a build target and link it to the appropriate CMake flags. [[1]](diffhunk://#diff-60f61ab7a8d1910d86d9fda2261620314edcae5894d5aaa236b821c7256badd7R732) [[2]](diffhunk://#diff-60f61ab7a8d1910d86d9fda2261620314edcae5894d5aaa236b821c7256badd7R794-R798) * Updated `targets.bzl` to define build rules for the `selective_build` module and its dependencies, ensuring compatibility with the runtime environment. [[1]](diffhunk://#diff-3847c39f66d06290c190e38ef87820edbe0a9f8193db33bd556376123eb4875fL22-R22) [[2]](diffhunk://#diff-3847c39f66d06290c190e38ef87820edbe0a9f8193db33bd556376123eb4875fL32-R32) [[3]](diffhunk://#diff-3847c39f66d06290c190e38ef87820edbe0a9f8193db33bd556376123eb4875fR158-R195) ### Testing: * Added `test/test_selective_build.py` to validate the functionality of the `selective_build` module, including tests for operator extraction and IO metadata retrieval. Test Plan: Imported from GitHub, without a `Test Plan:` line. Rollback Plan: Reviewed By: lucylq, BujSet Differential Revision: D76380110 Pulled By: larryliu0820
This pull request introduces a new
selective_build
pybind module to enhance code generation tools in theexecutorch
project. It includes changes to integrate the module into the build system, define its functionality, and add tests for validation. The most important changes are grouped into themes: module creation, integration into the build system, and testing.Module Creation:
selective_build.cpp
to define theselective_build
pybind module, which provides functionality for extracting operator and IO metadata from serialized programs.selective_build.pyi
for theselective_build
module, including_Program
,_IOMetaData
, and associated methods.Integration into Build System:
CMakeLists.txt
to include thecodegen/tools
directory for theselective_build
module whenEXECUTORCH_BUILD_PYBIND
is enabled.setup.py
to addselective_build
as a build target and link it to the appropriate CMake flags. [1] [2]targets.bzl
to define build rules for theselective_build
module and its dependencies, ensuring compatibility with the runtime environment. [1] [2] [3]Testing:
test/test_selective_build.py
to validate the functionality of theselective_build
module, including tests for operator extraction and IO metadata retrieval.Differential Revision: D76380110