xref: /aosp_15_r20/external/pytorch/BUCK.oss (revision da0073e96a02ea20f0ac840b70461e3646d07c45)
1*da0073e9SAndroid Build Coastguard Workerload("//tools/build_defs:glob_defs.bzl", "subdir_glob")
2*da0073e9SAndroid Build Coastguard Workerload(
3*da0073e9SAndroid Build Coastguard Worker    ":pt_ops.bzl",
4*da0073e9SAndroid Build Coastguard Worker    "pt_operator_library",
5*da0073e9SAndroid Build Coastguard Worker)
6*da0073e9SAndroid Build Coastguard Workerload(":buckbuild.bzl",
7*da0073e9SAndroid Build Coastguard Worker    "define_buck_targets",
8*da0073e9SAndroid Build Coastguard Worker    "get_pt_operator_registry_dict",
9*da0073e9SAndroid Build Coastguard Worker)
10*da0073e9SAndroid Build Coastguard Worker
11*da0073e9SAndroid Build Coastguard Worker# define shared buck targets
12*da0073e9SAndroid Build Coastguard Workerdefine_buck_targets()
13*da0073e9SAndroid Build Coastguard Worker
14*da0073e9SAndroid Build Coastguard Worker# define OSS only targets
15*da0073e9SAndroid Build Coastguard Workercxx_library(
16*da0073e9SAndroid Build Coastguard Worker    name = "pthreadpool",
17*da0073e9SAndroid Build Coastguard Worker    srcs = ['caffe2/utils/threadpool/pthreadpool.cc', 'caffe2/utils/threadpool/pthreadpool_impl.cc', 'caffe2/utils/threadpool/pthreadpool-cpp.cc', 'caffe2/utils/threadpool/thread_pool_guard.cpp', 'caffe2/utils/threadpool/ThreadPool.cc'],
18*da0073e9SAndroid Build Coastguard Worker    deps = [':caffe2_headers', '//third_party:cpuinfo', '//third_party:glog', '//c10:c10', '//third_party:FXdiv'],
19*da0073e9SAndroid Build Coastguard Worker    exported_deps = ['//third_party:pthreadpool'],
20*da0073e9SAndroid Build Coastguard Worker    compiler_flags = ['-Wno-unused-function'],
21*da0073e9SAndroid Build Coastguard Worker    preferred_linkage = "static",
22*da0073e9SAndroid Build Coastguard Worker    exported_headers = subdir_glob([("", "caffe2/utils/threadpool/*.h")]),
23*da0073e9SAndroid Build Coastguard Worker    exported_preprocessor_flags = ['-DUSE_PTHREADPOOL'],
24*da0073e9SAndroid Build Coastguard Worker    header_namespace = "",
25*da0073e9SAndroid Build Coastguard Worker    headers = [],
26*da0073e9SAndroid Build Coastguard Worker    link_whole = True,
27*da0073e9SAndroid Build Coastguard Worker    platform_preprocessor_flags = [['windows', ['-D_WINDOWS', '-D_WIN32', '-DWIN32', '-DNOMINMAX', '-D_CRT_SECURE_NO_WARNINGS', '-D_USE_MATH_DEFINES']], ['windows.*64$', ['-D_WIN64']]],
28*da0073e9SAndroid Build Coastguard Worker    visibility = ['PUBLIC'],
29*da0073e9SAndroid Build Coastguard Worker)
30*da0073e9SAndroid Build Coastguard Worker
31*da0073e9SAndroid Build Coastguard Workercxx_library(
32*da0073e9SAndroid Build Coastguard Worker    name = "caffe2_headers",
33*da0073e9SAndroid Build Coastguard Worker    deps = ['//c10:c10'],
34*da0073e9SAndroid Build Coastguard Worker    exported_headers = subdir_glob(
35*da0073e9SAndroid Build Coastguard Worker        [
36*da0073e9SAndroid Build Coastguard Worker            ("", "caffe2/**/*.h"),
37*da0073e9SAndroid Build Coastguard Worker            ("", "binaries/**/*.h"),
38*da0073e9SAndroid Build Coastguard Worker            ("modules", "**/*.h"),
39*da0073e9SAndroid Build Coastguard Worker            ("aten/src", "ATen/core/**/*.h"),
40*da0073e9SAndroid Build Coastguard Worker        ],
41*da0073e9SAndroid Build Coastguard Worker        exclude = [
42*da0073e9SAndroid Build Coastguard Worker            "caffe2/fb/**/*.h",
43*da0073e9SAndroid Build Coastguard Worker            "caffe2/mobile/contrib/libopencl-stub/**/*.h",
44*da0073e9SAndroid Build Coastguard Worker            "caffe2/mobile/contrib/libvulkan-stub/**/*.h",
45*da0073e9SAndroid Build Coastguard Worker            "caffe2/mobile/contrib/nnapi/**/*.h",
46*da0073e9SAndroid Build Coastguard Worker            "caffe2/mobile/fb/binary/**/*.h",
47*da0073e9SAndroid Build Coastguard Worker            "caffe2/mobile/fb/snpe_so/**/*.h",
48*da0073e9SAndroid Build Coastguard Worker            "caffe2/mobile/fb/boltnn/bolt_lib/include/**/*.h",
49*da0073e9SAndroid Build Coastguard Worker            "caffe2/mobile/contrib/snpe/**/*.h",
50*da0073e9SAndroid Build Coastguard Worker            "caffe2/mobile/fb/qpl/jni/QuickPerformanceLogger.h",
51*da0073e9SAndroid Build Coastguard Worker            "caffe2/share/fb/x3d/ldi/*.h",
52*da0073e9SAndroid Build Coastguard Worker            "**/*.pb.h",
53*da0073e9SAndroid Build Coastguard Worker        ],
54*da0073e9SAndroid Build Coastguard Worker    ),
55*da0073e9SAndroid Build Coastguard Worker    compiler_flags = ['-Os', '-fexceptions', '-frtti', '-Wno-shadow', '-Wno-unknown-pragmas', '-Wno-unused-variable', '-Wno-sign-compare', '-Icaffe2', '-Imodules', '-DEIGEN_NO_DEBUG', '-DCAFFE2_USE_LITE_PROTO', '-DCAFFE2_USE_GOOGLE_GLOG', '-DCAFFE2_RNN_NO_TEXT_FORMAT', '-DGEMMLOWP_ALLOW_SLOW_SCALAR_FALLBACK=1', '-DCAFFE2_IS_XPLAT_BUILD', '-DSTRIP_ERROR_MESSAGES', '-DUSE_INTERNAL_PTHREADPOOL_IMPL', '-DCAFFE2_USE_HPTT'],
56*da0073e9SAndroid Build Coastguard Worker    preferred_linkage = "static",
57*da0073e9SAndroid Build Coastguard Worker    platform_preprocessor_flags = [['windows', ['-D_WINDOWS', '-D_WIN32', '-DWIN32', '-DNOMINMAX', '-D_CRT_SECURE_NO_WARNINGS', '-D_USE_MATH_DEFINES']], ['windows.*64$', ['-D_WIN64']]],
58*da0073e9SAndroid Build Coastguard Worker    preprocessor_flags = ['-DUSE_INTERNAL_PTHREADPOOL_IMPL'],
59*da0073e9SAndroid Build Coastguard Worker    visibility = ['PUBLIC'],
60*da0073e9SAndroid Build Coastguard Worker)
61*da0073e9SAndroid Build Coastguard Worker
62*da0073e9SAndroid Build Coastguard Workercxx_library(
63*da0073e9SAndroid Build Coastguard Worker    name = "caffe2_serialize",
64*da0073e9SAndroid Build Coastguard Worker    srcs = [
65*da0073e9SAndroid Build Coastguard Worker        "caffe2/serialize/file_adapter.cc",
66*da0073e9SAndroid Build Coastguard Worker        "caffe2/serialize/inline_container.cc",
67*da0073e9SAndroid Build Coastguard Worker        "caffe2/serialize/istream_adapter.cc",
68*da0073e9SAndroid Build Coastguard Worker        "caffe2/serialize/read_adapter_interface.cc",
69*da0073e9SAndroid Build Coastguard Worker    ],
70*da0073e9SAndroid Build Coastguard Worker    visibility = ["PUBLIC"],
71*da0073e9SAndroid Build Coastguard Worker    deps = [
72*da0073e9SAndroid Build Coastguard Worker        ":caffe2_headers",
73*da0073e9SAndroid Build Coastguard Worker        "//third_party:glog",
74*da0073e9SAndroid Build Coastguard Worker        "//c10:c10",
75*da0073e9SAndroid Build Coastguard Worker        "//third_party:miniz",
76*da0073e9SAndroid Build Coastguard Worker    ],
77*da0073e9SAndroid Build Coastguard Worker)
78*da0073e9SAndroid Build Coastguard Worker
79*da0073e9SAndroid Build Coastguard Workerpt_operator_library(
80*da0073e9SAndroid Build Coastguard Worker    name = "torch_mobile_ops_full_dev",
81*da0073e9SAndroid Build Coastguard Worker    include_all_operators = True,
82*da0073e9SAndroid Build Coastguard Worker)
83*da0073e9SAndroid Build Coastguard Worker
84*da0073e9SAndroid Build Coastguard Workercxx_library(
85*da0073e9SAndroid Build Coastguard Worker    name = "pt_ops_full",
86*da0073e9SAndroid Build Coastguard Worker    **get_pt_operator_registry_dict(
87*da0073e9SAndroid Build Coastguard Worker        name = "pt_ops_full",
88*da0073e9SAndroid Build Coastguard Worker        deps = [
89*da0073e9SAndroid Build Coastguard Worker            ":torch_mobile_ops_full_dev",
90*da0073e9SAndroid Build Coastguard Worker        ],
91*da0073e9SAndroid Build Coastguard Worker    )
92*da0073e9SAndroid Build Coastguard Worker)
93*da0073e9SAndroid Build Coastguard Worker
94*da0073e9SAndroid Build Coastguard Workercxx_binary(
95*da0073e9SAndroid Build Coastguard Worker    name = 'ptmobile_benchmark',
96*da0073e9SAndroid Build Coastguard Worker    srcs = [
97*da0073e9SAndroid Build Coastguard Worker        'binaries/speed_benchmark_torch.cc',
98*da0073e9SAndroid Build Coastguard Worker    ],
99*da0073e9SAndroid Build Coastguard Worker    compiler_flags = [
100*da0073e9SAndroid Build Coastguard Worker        "-fexceptions",
101*da0073e9SAndroid Build Coastguard Worker        "-frtti",
102*da0073e9SAndroid Build Coastguard Worker        "-Wno-deprecated-declarations",
103*da0073e9SAndroid Build Coastguard Worker    ],
104*da0073e9SAndroid Build Coastguard Worker    preprocessor_flags = [
105*da0073e9SAndroid Build Coastguard Worker        "-DBUILD_LITE_INTERPRETER",
106*da0073e9SAndroid Build Coastguard Worker    ],
107*da0073e9SAndroid Build Coastguard Worker    platform_linker_flags = [
108*da0073e9SAndroid Build Coastguard Worker        (
109*da0073e9SAndroid Build Coastguard Worker            "^linux.*$",
110*da0073e9SAndroid Build Coastguard Worker            [
111*da0073e9SAndroid Build Coastguard Worker                "-Wl,--no-as-needed",
112*da0073e9SAndroid Build Coastguard Worker                "-ldl",
113*da0073e9SAndroid Build Coastguard Worker                "-pthread",
114*da0073e9SAndroid Build Coastguard Worker            ],
115*da0073e9SAndroid Build Coastguard Worker        ),
116*da0073e9SAndroid Build Coastguard Worker    ],
117*da0073e9SAndroid Build Coastguard Worker    deps = [
118*da0073e9SAndroid Build Coastguard Worker        ":torch_mobile_core",
119*da0073e9SAndroid Build Coastguard Worker        ":pt_ops_full",
120*da0073e9SAndroid Build Coastguard Worker        "//c10:c10",
121*da0073e9SAndroid Build Coastguard Worker    ],
122*da0073e9SAndroid Build Coastguard Worker)
123