xref: /aosp_15_r20/external/tensorflow/third_party/gpus/rocm/BUILD.tpl (revision b6fb3261f9314811a0f4371741dbb8839866f948)
1load("@bazel_skylib//:bzl_library.bzl", "bzl_library")
2
3licenses(["restricted"])  # MPL2, portions GPL v3, LGPL v3, BSD-like
4
5package(default_visibility = ["//visibility:public"])
6
7config_setting(
8    name = "using_hipcc",
9    values = {
10        "define": "using_rocm_hipcc=true",
11    },
12)
13
14cc_library(
15    name = "rocm_headers",
16    hdrs = [
17        "rocm/rocm_config.h",
18        %{rocm_headers}
19    ],
20    includes = [
21        ".",
22        "rocm/include",
23        "rocm/include/rocrand",
24        "rocm/include/roctracer",
25    ],
26    visibility = ["//visibility:public"],
27)
28
29cc_library(
30    name = "hip",
31    srcs = ["rocm/lib/%{hip_lib}"],
32    data = ["rocm/lib/%{hip_lib}"],
33    includes = [
34        ".",
35        "rocm/include",
36    ],
37    linkstatic = 1,
38    visibility = ["//visibility:public"],
39)
40
41cc_library(
42    name = "rocblas",
43    srcs = ["rocm/lib/%{rocblas_lib}"],
44    data = ["rocm/lib/%{rocblas_lib}"],
45    includes = [
46        ".",
47        "rocm/include",
48    ],
49    linkstatic = 1,
50    visibility = ["//visibility:public"],
51)
52
53cc_library(
54    name = "%{hipfft_or_rocfft}",
55    srcs = ["rocm/lib/%{hipfft_or_rocfft_lib}"],
56    data = ["rocm/lib/%{hipfft_or_rocfft_lib}"],
57    includes = [
58        ".",
59        "rocm/include",
60    ],
61    linkstatic = 1,
62    visibility = ["//visibility:public"],
63)
64
65cc_library(
66    name = "hiprand",
67    srcs = ["rocm/lib/%{hiprand_lib}"],
68    data = ["rocm/lib/%{hiprand_lib}"],
69    includes = [
70        ".",
71        "rocm/include",
72        "rocm/include/rocrand",
73    ],
74    linkstatic = 1,
75    visibility = ["//visibility:public"],
76)
77
78cc_library(
79    name = "miopen",
80    srcs = ["rocm/lib/%{miopen_lib}"],
81    data = ["rocm/lib/%{miopen_lib}"],
82    includes = [
83        ".",
84        "rocm/include",
85    ],
86    linkstatic = 1,
87    visibility = ["//visibility:public"],
88)
89
90cc_library(
91    name = "rccl",
92    srcs = ["rocm/lib/%{rccl_lib}"],
93    data = ["rocm/lib/%{rccl_lib}"],
94    includes = [
95        ".",
96        "rocm/include",
97    ],
98    linkstatic = 1,
99    visibility = ["//visibility:public"],
100)
101
102cc_library(
103    name = "rocm",
104    visibility = ["//visibility:public"],
105    deps = [
106        ":rocm_headers",
107        ":hip",
108        ":rocblas",
109        ":hipblas",
110        ":%{hipfft_or_rocfft}",
111        ":hiprand",
112        ":miopen",
113        ":hipsparse",
114        ":roctracer",
115        ":rocsolver",
116        ":hipsolver",
117    ],
118)
119
120bzl_library(
121    name = "build_defs_bzl",
122    srcs = ["build_defs.bzl"],
123)
124
125cc_library(
126    name = "rocprim",
127    srcs = [
128        "rocm/include/hipcub/hipcub_version.hpp",
129        "rocm/include/rocprim/rocprim_version.hpp",
130    ],
131    hdrs = glob([
132        "rocm/include/hipcub/**",
133        "rocm/include/rocprim/**",
134    ]),
135    includes = [
136        ".",
137        "rocm/include/hipcub",
138        "rocm/include/rocprim",
139    ],
140    visibility = ["//visibility:public"],
141    deps = [
142        "@local_config_rocm//rocm:rocm_headers",
143    ],
144)
145
146cc_library(
147    name = "hipsparse",
148    srcs = ["rocm/lib/%{hipsparse_lib}"],
149    data = ["rocm/lib/%{hipsparse_lib}"],
150)
151
152cc_library(
153    name = "roctracer",
154    data = ["rocm/lib/%{roctracer_lib}"],
155)
156
157cc_library(
158    name = "rocsolver",
159    srcs = ["rocm/lib/%{rocsolver_lib}"],
160    data = ["rocm/lib/%{rocsolver_lib}"],
161)
162
163cc_library(
164    name = "hipsolver",
165    srcs = ["rocm/lib/%{hipsolver_lib}"],
166    data = ["rocm/lib/%{hipsolver_lib}"],
167)
168
169cc_library(
170    name = "hipblas",
171    srcs = ["rocm/lib/%{hipblas_lib}"],
172    data = ["rocm/lib/%{hipblas_lib}"],
173)
174
175filegroup(
176    name = "rocm_root",
177    srcs = [
178        "rocm/bin/clang-offload-bundler",
179    ],
180)
181
182%{copy_rules}
183