xref: /aosp_15_r20/external/executorch/extension/training/optimizer/targets.bzl (revision 523fa7a60841cd1ecfb9cc4201f1ca8b03ed023a)
1*523fa7a6SAndroid Build Coastguard Workerload("@fbsource//xplat/executorch/build:runtime_wrapper.bzl", "runtime")
2*523fa7a6SAndroid Build Coastguard Worker
3*523fa7a6SAndroid Build Coastguard Workerdef define_common_targets():
4*523fa7a6SAndroid Build Coastguard Worker    """Defines targets that should be shared between fbcode and xplat.
5*523fa7a6SAndroid Build Coastguard Worker
6*523fa7a6SAndroid Build Coastguard Worker    The directory containing this targets.bzl file should also contain both
7*523fa7a6SAndroid Build Coastguard Worker    TARGETS and BUCK files that call this function.
8*523fa7a6SAndroid Build Coastguard Worker    """
9*523fa7a6SAndroid Build Coastguard Worker
10*523fa7a6SAndroid Build Coastguard Worker    for aten_mode in (True, False):
11*523fa7a6SAndroid Build Coastguard Worker        aten_suffix = "_aten" if aten_mode else ""
12*523fa7a6SAndroid Build Coastguard Worker
13*523fa7a6SAndroid Build Coastguard Worker        # if aten_mode:
14*523fa7a6SAndroid Build Coastguard Worker        #     kernel_deps = [
15*523fa7a6SAndroid Build Coastguard Worker        #         "//executorch/kernels/aten:generated_lib",
16*523fa7a6SAndroid Build Coastguard Worker        #         "//executorch/kernels/aten:generated_lib_headers",
17*523fa7a6SAndroid Build Coastguard Worker        #         "//executorch/kernels/test:function_header_wrapper_aten",
18*523fa7a6SAndroid Build Coastguard Worker        #     ]
19*523fa7a6SAndroid Build Coastguard Worker        # else:
20*523fa7a6SAndroid Build Coastguard Worker        #     kernel_deps = [
21*523fa7a6SAndroid Build Coastguard Worker        #         "//executorch/kernels/portable/cpu:op_add",
22*523fa7a6SAndroid Build Coastguard Worker        #         "//executorch/kernels/portable/cpu:op_mul",
23*523fa7a6SAndroid Build Coastguard Worker        #         "//executorch/kernels/portable/cpu:op_clone",
24*523fa7a6SAndroid Build Coastguard Worker        #         "//executorch/kernels/portable:generated_lib_headers",
25*523fa7a6SAndroid Build Coastguard Worker        #     ]
26*523fa7a6SAndroid Build Coastguard Worker
27*523fa7a6SAndroid Build Coastguard Worker        runtime.cxx_library(
28*523fa7a6SAndroid Build Coastguard Worker            name = "sgd" + aten_suffix,
29*523fa7a6SAndroid Build Coastguard Worker            srcs = [
30*523fa7a6SAndroid Build Coastguard Worker                "sgd.cpp",
31*523fa7a6SAndroid Build Coastguard Worker            ],
32*523fa7a6SAndroid Build Coastguard Worker            exported_headers = [
33*523fa7a6SAndroid Build Coastguard Worker                "sgd.h",
34*523fa7a6SAndroid Build Coastguard Worker            ],
35*523fa7a6SAndroid Build Coastguard Worker            exported_deps = [
36*523fa7a6SAndroid Build Coastguard Worker                "//executorch/runtime/core:core",
37*523fa7a6SAndroid Build Coastguard Worker                "//executorch/runtime/core/exec_aten:lib" + aten_suffix,
38*523fa7a6SAndroid Build Coastguard Worker            ],  # + kernel_deps,
39*523fa7a6SAndroid Build Coastguard Worker            visibility = [
40*523fa7a6SAndroid Build Coastguard Worker                "@EXECUTORCH_CLIENTS",
41*523fa7a6SAndroid Build Coastguard Worker            ],
42*523fa7a6SAndroid Build Coastguard Worker        )
43