@@ -24,9 +24,17 @@ local_repository(
2424load ("//tensorflow_serving:repo.bzl" , "tensorflow_http_archive" )
2525tensorflow_http_archive (
2626 name = "org_tensorflow" ,
27- sha256 = "e2dea5a1873f900a6af48ae16eccc20b275b5f3edd5b1a3b47da3feadfb513d9 " ,
28- git_commit = "5fb3b1fefda9320202da184752a3366fbeddfeac " ,
27+ sha256 = "86150d55ce57b2298d8ed42caa7b91c466ad33d9f7f347117c2257cc576d3413 " ,
28+ git_commit = "72fbba3d20f4616d7312b5e2b7f79daf6e82f2fa " ,
2929 patch = "//third_party/tensorflow:tensorflow.patch" ,
30+ patch_cmds = [
31+ "sed -i '/cc_library = _cc_library/d' tensorflow/core/platform/rules_cc.bzl" ,
32+ "echo -e \" \\ ndef cc_library_oss(deps=[], **kwargs):\\ n if kwargs.get(\\ \" name\\ \" ) == \\ \" lib_internal_impl\\ \" or \\ \" protobuf\\ \" in kwargs.get(\\ \" name\\ \" , \\ \" \\ \" ):\\ n _cc_library(deps = deps, **kwargs)\\ n return\\ n if type(deps) == \\ \" list\\ \" :\\ n if \\ \" @com_google_protobuf//:protobuf\\ \" not in deps:\\ n deps = deps + [\\ \" @com_google_protobuf//:protobuf\\ \" ]\\ n else:\\ n deps = deps + [\\ \" @com_google_protobuf//:protobuf\\ \" ]\\ n _cc_library(deps = deps, **kwargs)\\ ncc_library = cc_library_oss\" >> tensorflow/core/platform/rules_cc.bzl" ,
33+ "sed -i 's#deps = \\ [op_gen\\ ] + deps#deps = [op_gen] + deps + [clean_dep(\" //tensorflow/core/framework:kernel_shape_util\" ), clean_dep(\" //tensorflow/core/framework:full_type_util\" )]#' tensorflow/tensorflow.bzl" ,
34+ "sed -i '/name = \" kernel_shape_util\" ,/a \\ visibility = [\" //visibility:public\" ],' tensorflow/core/framework/BUILD" ,
35+ "echo -e '\\ nalias(name = \" tensorflow_libtensorflow_framework\" , actual = \" //tensorflow/core:tensorflow\" , visibility = [\" //visibility:public\" ])' >> BUILD" ,
36+ "echo -e '\\ nalias(name = \" tensorflow_tf_header_lib\" , actual = \" //tensorflow/core:tensorflow\" , visibility = [\" //visibility:public\" ])' >> BUILD" ,
37+ ],
3038)
3139
3240# Import all of TensorFlow Serving's external dependencies.
@@ -44,10 +52,10 @@ load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
4452
4553http_archive (
4654 name = "bazel_skylib" ,
47- sha256 = "74d544d96f4a5bb630d465ca8bbcfe231e3594e5aae57e1edbf17a6eb3ca2506 " ,
55+ sha256 = "97e709db2e97b646263b5c5e83e3b00de48c1ae55b9e421e3b5e3f9467d02a3a " ,
4856 urls = [
49- "https://storage.googleapis.com/mirror.tensorflow.org/github.com/bazelbuild/bazel-skylib/releases/download/1.3 .0/bazel-skylib-1.3 .0.tar.gz" ,
50- "https://github.com/bazelbuild/bazel-skylib/releases/download/1.3 .0/bazel-skylib-1.3 .0.tar.gz" ,
57+ "https://storage.googleapis.com/mirror.tensorflow.org/github.com/bazelbuild/bazel-skylib/releases/download/1.8 .0/bazel-skylib-1.8 .0.tar.gz" ,
58+ "https://github.com/bazelbuild/bazel-skylib/releases/download/1.8 .0/bazel-skylib-1.8 .0.tar.gz" ,
5159 ],
5260)
5361
@@ -58,34 +66,54 @@ http_archive(
5866 url = "https://github.com/bazelbuild/rules_cc/releases/download/0.1.5/rules_cc-0.1.5.tar.gz" ,
5967)
6068
61- http_archive (
62- name = "rules_python" ,
63- sha256 = "84aec9e21cc56fbc7f1335035a71c850d1b9b5cc6ff497306f84cced9a769841" ,
64- strip_prefix = "rules_python-0.23.1" ,
65- url = "https://github.com/bazelbuild/rules_python/releases/download/0.23.1/rules_python-0.23.1.tar.gz" ,
69+ # Initialize hermetic Python
70+ load ("@org_tensorflow//third_party/py:python_init_rules.bzl" , "python_init_rules" )
71+ python_init_rules ()
72+
73+ load ("@org_tensorflow//third_party/py:python_init_repositories.bzl" , "python_init_repositories" )
74+ python_init_repositories (
75+ default_python_version = "system" ,
76+ requirements = {
77+ "3.10" : "@org_tensorflow//:requirements_lock_3_10.txt" ,
78+ "3.11" : "@org_tensorflow//:requirements_lock_3_11.txt" ,
79+ "3.12" : "@org_tensorflow//:requirements_lock_3_12.txt" ,
80+ "3.13" : "@org_tensorflow//:requirements_lock_3_13.txt" ,
81+ "3.14" : "@org_tensorflow//:requirements_lock_3_14.txt" ,
82+ },
6683)
6784
68- load ("@rules_python//python:repositories.bzl" , "python_register_toolchains" )
85+ load ("@org_tensorflow//third_party/py:python_init_toolchains.bzl" , "python_init_toolchains" )
86+ python_init_toolchains ()
6987
70- load (
71- "@rules_python//python:repositories.bzl" ,
72- "py_repositories" ,
73- "python_register_toolchains" ,
88+ load ("@org_tensorflow//third_party/py:python_init_pip.bzl" , "python_init_pip" )
89+ python_init_pip ()
90+
91+ load ("@pypi//:requirements.bzl" , "install_deps" )
92+ install_deps ()
93+
94+ # Toolchains for ML projects hermetic builds.
95+ # Details: https://github.com/google-ml-infra/rules_ml_toolchain
96+ http_archive (
97+ name = "rules_ml_toolchain" ,
98+ sha256 = "de3b14418657eeacd8afc2aa89608be6ec8d66cd6a5de81c4f693e77bc41bee1" ,
99+ strip_prefix = "rules_ml_toolchain-5653e5a0ca87c1272069b4b24864e55ce7f129a1" ,
100+ urls = [
101+ "https://storage.googleapis.com/mirror.tensorflow.org/github.com/google-ml-infra/rules_ml_toolchain/archive/5653e5a0ca87c1272069b4b24864e55ce7f129a1.tar.gz" ,
102+ "https://github.com/google-ml-infra/rules_ml_toolchain/archive/5653e5a0ca87c1272069b4b24864e55ce7f129a1.tar.gz" ,
103+ ],
74104)
75- py_repositories ()
76105
77106load (
78- "@org_tensorflow//tensorflow/tools/toolchains/python:python_repo .bzl" ,
79- "python_repository " ,
107+ "@rules_ml_toolchain//cc_toolchain/deps:cc_toolchain_deps .bzl" ,
108+ "cc_toolchain_deps " ,
80109)
81- python_repository (name = "python_version_repo" )
82- load ("@python_version_repo//:py_version.bzl" , "HERMETIC_PYTHON_VERSION" )
83110
84- python_register_toolchains (
85- name = "python" ,
86- ignore_root_user_error = True ,
87- python_version = HERMETIC_PYTHON_VERSION ,
88- )
111+ cc_toolchain_deps ()
112+
113+ register_toolchains ("@rules_ml_toolchain//cc_toolchain:lx64_lx64" )
114+ register_toolchains ("@rules_ml_toolchain//cc_toolchain:lx64_lx64_cuda" )
115+ # register_toolchains("@rules_ml_toolchain//cc_toolchain:la64_la64")
116+ # register_toolchains("@rules_ml_toolchain//cc_toolchain:la64_la64_cuda")
89117
90118# Initialize TensorFlow's external dependencies.
91119load ("@org_tensorflow//tensorflow:workspace3.bzl" , "tf_workspace3" )
@@ -101,10 +129,20 @@ tf_workspace0()
101129load ("@rules_pkg//:deps.bzl" , "rules_pkg_dependencies" )
102130rules_pkg_dependencies ()
103131
104- load ("@rules_proto//proto:repositories.bzl" , "rules_proto_dependencies" , "rules_proto_toolchains" )
132+ load ("@bazel_tools//tools/build_defs/repo:git.bzl" , "git_repository" )
133+
134+ http_archive (
135+ name = "rules_shell" ,
136+ sha256 = "0d0c56d01c3c40420bf7bf14d73113f8a92fbd9f5cd13205a3b89f72078f0321" ,
137+ strip_prefix = "rules_shell-0.1.1" ,
138+ urls = [
139+ "https://github.com/bazelbuild/rules_shell/releases/download/v0.1.1/rules_shell-v0.1.1.tar.gz" ,
140+ ],
141+ )
142+
143+ load ("@rules_proto//proto:repositories.bzl" , "rules_proto_dependencies" )
105144
106145rules_proto_dependencies ()
107- rules_proto_toolchains ()
108146
109147load (
110148 "@local_xla//third_party/py:python_wheel.bzl" ,
@@ -114,7 +152,7 @@ load(
114152python_wheel_version_suffix_repository (name = "tf_wheel_version_suffix" )
115153
116154load (
117- "@local_xla //third_party/gpus/cuda/hermetic:cuda_json_init_repository.bzl" ,
155+ "@rules_ml_toolchain //third_party/gpus/cuda/hermetic:cuda_json_init_repository.bzl" ,
118156 "cuda_json_init_repository" ,
119157)
120158
@@ -126,7 +164,7 @@ load(
126164 "CUDNN_REDISTRIBUTIONS" ,
127165)
128166load (
129- "@local_xla //third_party/gpus/cuda/hermetic:cuda_redist_init_repositories.bzl" ,
167+ "@rules_ml_toolchain //third_party/gpus/cuda/hermetic:cuda_redist_init_repositories.bzl" ,
130168 "cuda_redist_init_repositories" ,
131169 "cudnn_redist_init_repository" ,
132170)
@@ -140,23 +178,50 @@ cudnn_redist_init_repository(
140178)
141179
142180load (
143- "@local_xla //third_party/gpus/cuda/hermetic:cuda_configure.bzl" ,
181+ "@rules_ml_toolchain //third_party/gpus/cuda/hermetic:cuda_configure.bzl" ,
144182 "cuda_configure" ,
145183)
146184
147185cuda_configure (name = "local_config_cuda" )
148186
149187load (
150- "@local_xla //third_party/nccl/hermetic:nccl_redist_init_repository.bzl" ,
188+ "@rules_ml_toolchain //third_party/nccl/hermetic:nccl_redist_init_repository.bzl" ,
151189 "nccl_redist_init_repository" ,
152190)
153191
154192nccl_redist_init_repository ()
155193
156194load (
157- "@local_xla //third_party/nccl/hermetic:nccl_configure.bzl" ,
195+ "@rules_ml_toolchain //third_party/nccl/hermetic:nccl_configure.bzl" ,
158196 "nccl_configure" ,
159197)
160198
161199nccl_configure (name = "local_config_nccl" )
162200
201+ load (
202+ "@rules_ml_toolchain//third_party/nvshmem/hermetic:nvshmem_json_init_repository.bzl" ,
203+ "nvshmem_json_init_repository" ,
204+ )
205+
206+ nvshmem_json_init_repository ()
207+
208+ load (
209+ "@nvshmem_redist_json//:distributions.bzl" ,
210+ "NVSHMEM_REDISTRIBUTIONS" ,
211+ )
212+ load (
213+ "@rules_ml_toolchain//third_party/nvshmem/hermetic:nvshmem_redist_init_repository.bzl" ,
214+ "nvshmem_redist_init_repository" ,
215+ )
216+
217+ nvshmem_redist_init_repository (
218+ nvshmem_redistributions = NVSHMEM_REDISTRIBUTIONS ,
219+ )
220+
221+ load (
222+ "@rules_ml_toolchain//third_party/nvshmem/hermetic:nvshmem_configure.bzl" ,
223+ "nvshmem_configure" ,
224+ )
225+
226+ nvshmem_configure (name = "local_config_nvshmem" )
227+
0 commit comments