Skip to content

Commit db96aba

Browse files
pytorchbotswolchok
andauthored
Reapply "Add (and fix) OSS check that et_operator_library dtype_selective_build builds (#9245)" (#11589)
This PR was created by the merge bot to help merge the original PR into the main branch. ghstack PR number: #11573 by @swolchok ^ Please use this as the source of truth for the PR details, comments, and reviews ghstack PR base: https://github.com/pytorch/executorch/tree/gh/swolchok/453/base ghstack PR head: https://github.com/pytorch/executorch/tree/gh/swolchok/453/head Merge bot PR base: https://github.com/pytorch/executorch/tree/main Merge bot PR head: https://github.com/pytorch/executorch/tree/gh/swolchok/453/orig @diff-train-skip-merge Co-authored-by: Scott Wolchok <[email protected]>
1 parent 0d244f9 commit db96aba

File tree

3 files changed

+20
-2
lines changed

3 files changed

+20
-2
lines changed

.ci/scripts/unittest-buck2.sh

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,9 @@ BUILDABLE_KERNELS_PRIM_OPS_TARGETS=$(buck2 query //kernels/prim_ops/... | grep -
2525
# //runtime/kernel/... is failing because //third-party:torchgen_files's shell script can't find python on PATH.
2626
# //runtime/test/... requires Python torch, which we don't have in our OSS buck setup.
2727
for op in "build" "test"; do
28-
buck2 $op $BUILDABLE_OPTIMIZED_OPS //kernels/portable/... \
28+
buck2 $op $BUILDABLE_OPTIMIZED_OPS \
29+
//examples/selective_build:select_all_dtype_selective_lib_portable_lib \
30+
//kernels/portable/... \
2931
$BUILDABLE_KERNELS_PRIM_OPS_TARGETS //runtime/backend/... //runtime/core/... \
3032
//runtime/executor: //runtime/kernel/... //runtime/platform/...
3133
done

examples/selective_build/targets.bzl

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,22 @@ def define_common_targets():
2525
],
2626
)
2727

28+
if runtime.is_oss or is_xplat():
29+
executorch_generated_lib(
30+
name = "select_all_dtype_selective_lib",
31+
functions_yaml_target = "//executorch/kernels/portable:functions.yaml",
32+
kernel_deps = [
33+
"//executorch/kernels/portable:operators",
34+
],
35+
# Setting dtype_selective_build without using list or dict selection isn't a
36+
# typical use case; we just do it here so that we can test that our mechanism
37+
# for getting buck deps right for dtype_selective_build is working.
38+
dtype_selective_build = True,
39+
deps = [
40+
":select_all_ops",
41+
],
42+
)
43+
2844
# Select a list of operators: defined in `ops`
2945
et_operator_library(
3046
name = "select_ops_in_list",

shim_et/xplat/executorch/codegen/codegen.bzl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -752,7 +752,7 @@ def executorch_generated_lib(
752752
See: https://www.internalfb.com/wiki/PyTorch/Teams/Edge/PyTorch_Edge_Core_Team/Dtype_Selective_Build/""")
753753

754754
if dtype_selective_build:
755-
if not expose_operator_symbols and not is_xplat():
755+
if not expose_operator_symbols and not (is_xplat() or runtime.is_oss):
756756
fail("""
757757
Dtype selective build with expose_operator_symbols=False works only in xplat -
758758
there are undefined symbols otherwise. Please try to use xplat, or talk to the

0 commit comments

Comments
 (0)