Skip to content

Commit 0b12480

Browse files
JacobSzwejbkafacebook-github-bot
authored andcommitted
add aten compatibility layer
Summary: https://docs.google.com/spreadsheets/d/17mEkBHN0XwXN21pG2IxpANX-jd4hNMrX4x9FthYB5Ok/edit#gid=0 added explicit exec_aten layer. This is the abstraction layer around things that need to work in both aten and lean mode is found. Killing off "lean" in favor of portable. Reviewed By: mergennachin Differential Revision: D47383587 fbshipit-source-id: ebd0ea9247960f1bb7763b91ceb31421982efdd4
1 parent 338501e commit 0b12480

File tree

218 files changed

+741
-745
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

218 files changed

+741
-745
lines changed

backends/qnnpack/QNNPackBackend.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
#include <executorch/backends/qnnpack/executor/QNNExecutor.h>
22
#include <executorch/backends/qnnpack/qnnpack_schema_generated.h>
33
#include <executorch/backends/qnnpack/utils/utils.h>
4-
#include <executorch/core/kernel_types/util/ScalarTypeUtil.h>
5-
#include <executorch/core/kernel_types/util/tensor_util.h>
64
#include <executorch/runtime/backend/backend_registry.h>
75
#include <executorch/runtime/core/error.h>
86
#include <executorch/runtime/core/evalue.h>
7+
#include <executorch/runtime/core/exec_aten/util/scalar_type_util.h>
8+
#include <executorch/runtime/core/exec_aten/util/tensor_util.h>
99
#include <executorch/runtime/platform/profiler.h>
1010
#include <executorch/threadpool/threadpool.h>
1111
#include <executorch/util/memory_utils.h>

backends/qnnpack/executor/QNNExecutor.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
#include <qnnpack_func.h>
66
#include <memory>
77

8-
#include <executorch/core/kernel_types/kernel_types.h>
8+
#include <executorch/runtime/core/exec_aten/exec_aten.h>
99

1010
namespace torch {
1111
namespace executor {

backends/qnnpack/targets.bzl

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ def define_common_targets():
5050
],
5151
exported_headers = ["utils/utils.h"],
5252
deps = [
53-
"//executorch/core/kernel_types:kernel_types" + aten_suffix,
53+
"//executorch/runtime/core/exec_aten:lib" + aten_suffix,
5454
"//executorch/runtime/backend:backend_registry",
5555
],
5656
visibility = [
@@ -79,8 +79,8 @@ def define_common_targets():
7979
"@EXECUTORCH_CLIENTS",
8080
],
8181
deps = [
82-
"//executorch/core/kernel_types/util:scalar_type_util",
83-
"//executorch/core/kernel_types/util:tensor_util",
82+
"//executorch/runtime/core/exec_aten/util:scalar_type_util",
83+
"//executorch/runtime/core/exec_aten/util:tensor_util",
8484
"//executorch/runtime/backend:backend_registry",
8585
"//executorch/threadpool:threadpool",
8686
"//executorch/util:memory_utils",

backends/qnnpack/test/targets.bzl

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,8 @@ def define_common_targets():
1818
],
1919
platforms = [ANDROID, APPLE, CXX],
2020
deps = [
21-
"//executorch/core/kernel_types/testing:tensor_util",
22-
"//executorch/core/kernel_types/util:scalar_type_util",
21+
"//executorch/runtime/core/exec_aten/testing_util:tensor_util",
22+
"//executorch/runtime/core/exec_aten/util:scalar_type_util",
2323
"//executorch/util:aten_bridge",
2424
"//executorch/backends/qnnpack:qnnpack_utils",
2525
],

backends/qnnpack/test/test_utils.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@
22

33
#include <gtest/gtest.h>
44

5-
#include <executorch/core/kernel_types/kernel_types.h>
6-
#include <executorch/core/kernel_types/testing/TensorFactory.h>
7-
#include <executorch/core/kernel_types/testing/TensorUtil.h>
5+
#include <executorch/runtime/core/exec_aten/exec_aten.h>
6+
#include <executorch/runtime/core/exec_aten/testing_util/tensor_factory.h>
7+
#include <executorch/runtime/core/exec_aten/testing_util/tensor_util.h>
88
#include <executorch/runtime/platform/runtime.h>
99
#include <executorch/util/aten_bridge.h>
1010
#include "executorch/backends/qnnpack/utils/utils.h"

backends/qnnpack/utils/utils.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@
55
#include <limits>
66
#include <vector>
77

8-
#include <executorch/core/kernel_types/kernel_types.h>
98
#include <executorch/runtime/core/error.h>
9+
#include <executorch/runtime/core/exec_aten/exec_aten.h>
1010

1111
#ifdef __aarch64__
1212
#include <arm_neon.h>

backends/xnnpack/runtime/XNNCompiler.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
#include <executorch/backends/xnnpack/runtime/XNNCompiler.h>
44
#include <executorch/backends/xnnpack/xnnpack_schema_generated.h>
5-
#include <executorch/core/kernel_types/util/ScalarTypeUtil.h>
5+
#include <executorch/runtime/core/exec_aten/util/scalar_type_util.h>
66
#include <executorch/threadpool/threadpool.h>
77
#include <unordered_map>
88

backends/xnnpack/runtime/XNNExecutor.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@
22
#pragma once
33

44
#include <executorch/backends/xnnpack/runtime/XNNStatus.h>
5-
#include <executorch/core/kernel_types/util/tensor_util.h>
65
#include <executorch/runtime/backend/backend_registry.h>
76
#include <executorch/runtime/core/error.h>
7+
#include <executorch/runtime/core/exec_aten/util/tensor_util.h>
88

99
#include <xnnpack.h>
1010
#include <map>

backends/xnnpack/targets.bzl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ def define_common_targets():
5757
"//executorch/backends/qnnpack:qnnpack_utils", # TODO Use (1) portable for choose_qparams(), (2) xnnpack for quantize_per_tensor()
5858
"//executorch/threadpool:threadpool",
5959
"//executorch/util:memory_utils",
60-
"//executorch/core/kernel_types/util:tensor_util",
60+
"//executorch/runtime/core/exec_aten/util:tensor_util",
6161
],
6262
# XnnpackBackend.cpp needs to compile with executor as whole
6363
# @lint-ignore BUCKLINT: Avoid `link_whole=True` (https://fburl.com/avoid-link-whole)

codegen/codegen.bzl

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -381,7 +381,7 @@ def executorch_generated_lib(
381381
"//executorch/codegen:macros",
382382
] + deps,
383383
exported_deps = [
384-
"//executorch/core/kernel_types:kernel_types" + aten_suffix,
384+
"//executorch/runtime/core/exec_aten:lib" + aten_suffix,
385385
"//executorch/runtime/kernel:kernel_runtime_context" + aten_suffix,
386386
],
387387
xplat_deps = xplat_deps,
@@ -426,7 +426,7 @@ def executorch_generated_lib(
426426
link_whole = True,
427427
visibility = visibility,
428428
deps = [
429-
"//executorch/core/kernel_types:kernel_types_aten",
429+
"//executorch/runtime/core/exec_aten:lib_aten",
430430
"//executorch/runtime/core:core",
431431
"//executorch/codegen:macros",
432432
] + torch_dep + custom_ops_aten_kernel_deps,

codegen/templates/Functions.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33

44
#include <tuple>
55

6-
#include <executorch/core/kernel_types/kernel_types.h> // at::Tensor etc.
6+
#include <executorch/runtime/core/exec_aten/exec_aten.h> // at::Tensor etc.
77
#include <executorch/codegen/macros.h> // TORCH_API
88
#include <executorch/runtime/kernel/kernel_runtime_context.h>
99

codegen/templates/NativeFunctions.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33

44
#include <tuple>
55

6-
#include <executorch/core/kernel_types/kernel_types.h> // at::Tensor etc.
6+
#include <executorch/runtime/core/exec_aten/exec_aten.h> // at::Tensor etc.
77
#include <executorch/codegen/macros.h> // TORCH_API
88
#include <executorch/runtime/kernel/kernel_runtime_context.h>
99

codegen/templates/RegisterCodegenUnboxedKernels.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
#include <executorch/core/kernel_types/kernel_types.h>
21
#include <executorch/runtime/core/evalue.h>
2+
#include <executorch/runtime/core/exec_aten/exec_aten.h>
33
#include <executorch/runtime/kernel/operator_registry.h>
44
#include <executorch/runtime/platform/profiler.h>
55
#include "${fn_header}" // Generated Function import headers

codegen/templates/RegisterDispatchKeyCustomOps.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
#include <torch/library.h>
66
#include <ATen/Tensor.h>
77

8-
#include <executorch/core/kernel_types/kernel_types.h>
8+
#include <executorch/runtime/core/exec_aten/exec_aten.h>
99
$ops_headers
1010

1111
namespace torch {

core/kernel_types/test/targets.bzl

Lines changed: 0 additions & 16 deletions
This file was deleted.

core/kernel_types/testing/README.md

Lines changed: 0 additions & 3 deletions
This file was deleted.

core/kernel_types/util/test/targets.bzl

Lines changed: 0 additions & 46 deletions
This file was deleted.

exir/tensor.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ def stride_from_dim_order(sizes: List[int], dim_order: List[bytes]) -> List[int]
6767
Converts dim order to stride using sizes
6868
e.g. if sizes = (2, 3, 4) and dim_order = (0, 1, 2) then strides = (12, 4, 1)
6969
while for the same size if dim_order = (0, 2, 1) then strides = (12, 1, 3)
70-
See executorch/core/kernel_types/util/DimOrderUtils.h for details
70+
See executorch/runtime/core/exec_aten/util/dim_order_util.h for details
7171
Args:
7272
sizes (Tuple[int]): sizes of the tensor
7373
dim_order (Tuple[bytes]): dim order of the tensor

kernels/portable/README.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -39,10 +39,10 @@ the types defined by PyTorch core in the `at` or `c10` namespaces. To retain
3939
tigher control over CPU and memory runtime behavior, Executorch reimplements
4040
compatible but restricted subsets of those types.
4141

42-
[`//executorch/core/kernel_types/kernel_types.h`](https://www.internalfb.com/code/fbsource/fbcode/executorch/core/kernel_types/kernel_types.h)
42+
[`//executorch/runtime/core/exec_aten/exec_aten.h`](https://www.internalfb.com/code/fbsource/fbcode/executorch/runtime/core/exec_aten/exec_aten.h)
4343
contains the mapping between ATen/c10 types and the Executorch types. The
4444
Executorch types are defined in other headers in that same directory,
45-
[`//executorch/core/kernel_types/`](https://www.internalfb.com/code/fbsource/fbcode/executorch/core/kernel_types/).
45+
[`//executorch/runtime/core/portable_type/`](https://www.internalfb.com/code/fbsource/fbcode/executorch/runtime/core/portable_type/).
4646

4747
The Executorch types are source-compatible with the ATen/c10 types; if you write
4848
code that works with the Executorch types, then that same code should work when
@@ -318,7 +318,7 @@ _op_target(name = "op_<name>_test")
318318
By default, this target will depend on
319319
`//executorch/kernels/portable/cpu:op_<name>`, the core Executor types, and
320320
some helper test utilities ([see
321-
headers](https://www.internalfb.com/code/fbsource/fbcode/executorch/core/kernel_types/testing/)),
321+
headers](https://www.internalfb.com/code/fbsource/fbcode/executorch/runtime/core/exec_aten/testing_util/)),
322322
but you can add additional deps if you want to.
323323

324324
### Create a skeleton test .cpp file
@@ -330,9 +330,9 @@ starting point:
330330
// Copyright (c) Meta Platforms, Inc. and affiliates.
331331
332332
#include <executorch/kernels/test/FunctionHeaderWrapper.h> // Declares the operator
333-
#include <executorch/core/kernel_types/kernel_types.h>
334-
#include <executorch/core/kernel_types/testing/TensorFactory.h>
335-
#include <executorch/core/kernel_types/testing/TensorUtil.h>
333+
#include <executorch/runtime/core/exec_aten/exec_aten.h>
334+
#include <executorch/runtime/core/exec_aten/testing_util/tensor_factory.h>
335+
#include <executorch/runtime/core/exec_aten/testing_util/tensor_util.h>
336336
337337
#include <gtest/gtest.h>
338338

kernels/portable/cpu/op_convolution.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
// Copyright (c) Meta Platforms, Inc. and affiliates.
22
#include <cstring>
33

4-
#include <executorch/core/kernel_types/util/DimOrderUtils.h>
4+
#include <executorch/runtime/core/exec_aten/util/dim_order_util.h>
55
#include <executorch/runtime/kernel/kernel_includes.h>
66

77
namespace torch {

kernels/portable/cpu/scalar_utils.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@
77
#include <cmath>
88
#include <limits>
99

10-
#include <executorch/core/kernel_types/kernel_types.h>
11-
#include <executorch/core/kernel_types/util/ScalarTypeUtil.h>
10+
#include <executorch/runtime/core/exec_aten/exec_aten.h>
11+
#include <executorch/runtime/core/exec_aten/util/scalar_type_util.h>
1212
#include <executorch/runtime/core/portable_type/scalar.h>
1313

1414
#define ET_CHECK_SCALAR_SAME_TYPE(a__, b__) \

0 commit comments

Comments
 (0)