pytorch
179 строк · 4.9 Кб
1load("//tools/build_defs:glob_defs.bzl", "subdir_glob")
2
3# kineto code should be updated to not have to
4# suppress these warnings.
5KINETO_COMPILER_FLAGS = [
6"-fexceptions",
7"-Wno-deprecated-declarations",
8"-Wno-unused-function",
9"-Wno-unused-private-field",
10]
11
12def define_kineto():
13cxx_library(
14name = "libkineto",
15srcs = [
16"kineto/libkineto/src/ActivityProfilerController.cpp",
17"kineto/libkineto/src/ActivityProfilerProxy.cpp",
18"kineto/libkineto/src/CuptiActivityApi.cpp",
19"kineto/libkineto/src/CuptiActivityProfiler.cpp",
20"kineto/libkineto/src/CuptiRangeProfilerApi.cpp",
21"kineto/libkineto/src/Demangle.cpp",
22"kineto/libkineto/src/init.cpp",
23"kineto/libkineto/src/output_csv.cpp",
24"kineto/libkineto/src/output_json.cpp",
25],
26headers = subdir_glob(
27[
28("kineto/libkineto/include", "*.h"),
29("kineto/libkineto/src", "*.h"),
30],
31),
32compiler_flags = KINETO_COMPILER_FLAGS,
33# @lint-ignore BUCKLINT
34link_whole = True,
35visibility = ["PUBLIC"],
36exported_deps = [
37":base_logger",
38":libkineto_api",
39":thread_util",
40":fmt",
41],
42)
43
44cxx_library(
45name = "libkineto_api",
46srcs = [
47"kineto/libkineto/src/libkineto_api.cpp",
48],
49headers = subdir_glob(
50[
51("kineto/libkineto/include", "*.h"),
52("kineto/libkineto/src", "*.h"),
53],
54),
55compiler_flags = KINETO_COMPILER_FLAGS,
56# @lint-ignore BUCKLINT
57link_whole = True,
58visibility = ["PUBLIC"],
59exported_deps = [
60":base_logger",
61":config_loader",
62":thread_util",
63":fmt",
64],
65)
66
67cxx_library(
68name = "config_loader",
69srcs = [
70"kineto/libkineto/src/ConfigLoader.cpp",
71],
72headers = subdir_glob(
73[
74("kineto/libkineto/include", "ActivityType.h"),
75("kineto/libkineto/src", "*.h"),
76],
77),
78compiler_flags = KINETO_COMPILER_FLAGS,
79exported_deps = [
80":config",
81":thread_util",
82],
83)
84
85cxx_library(
86name = "config",
87srcs = [
88"kineto/libkineto/src/AbstractConfig.cpp",
89"kineto/libkineto/src/ActivityType.cpp",
90"kineto/libkineto/src/Config.cpp",
91],
92compiler_flags = KINETO_COMPILER_FLAGS,
93public_include_directories = [
94"kineto/libkineto/include",
95"kineto/libkineto/src",
96],
97raw_headers = glob([
98"kineto/libkineto/include/*.h",
99"kineto/libkineto/src/*.h",
100]),
101exported_deps = [
102":logger",
103":thread_util",
104":fmt",
105],
106)
107
108cxx_library(
109name = "logger",
110srcs = [
111"kineto/libkineto/src/ILoggerObserver.cpp",
112"kineto/libkineto/src/Logger.cpp",
113],
114compiler_flags = KINETO_COMPILER_FLAGS,
115public_include_directories = [
116"kineto/libkineto/include",
117"kineto/libkineto/src",
118],
119raw_headers = [
120"kineto/libkineto/include/ILoggerObserver.h",
121"kineto/libkineto/include/ThreadUtil.h",
122"kineto/libkineto/src/Logger.h",
123"kineto/libkineto/src/LoggerCollector.h",
124],
125exported_deps = [
126":thread_util",
127":fmt",
128],
129)
130
131cxx_library(
132name = "base_logger",
133srcs = [
134"kineto/libkineto/src/GenericTraceActivity.cpp",
135],
136public_include_directories = [
137"kineto/libkineto/include",
138"kineto/libkineto/src",
139],
140raw_headers = glob([
141"kineto/libkineto/include/*.h",
142"kineto/libkineto/src/*.h",
143"kineto/libkineto/src/*.tpp",
144]),
145exported_deps = [
146":thread_util",
147],
148)
149
150cxx_library(
151name = "thread_util",
152srcs = [
153"kineto/libkineto/src/ThreadUtil.cpp",
154],
155compiler_flags = KINETO_COMPILER_FLAGS,
156exported_preprocessor_flags = [
157"-DKINETO_NAMESPACE=libkineto",
158],
159public_include_directories = [
160"kineto/libkineto/include",
161],
162raw_headers = [
163"kineto/libkineto/include/ThreadUtil.h",
164],
165exported_deps = [
166":fmt",
167],
168)
169
170cxx_library(
171name = "libkineto_headers",
172exported_headers = native.glob([
173"kineto/libkineto/include/*.h",
174]),
175public_include_directories = [
176"kineto/libkineto/include",
177],
178visibility = ["PUBLIC"],
179)
180