blob: b0403008a43040000d58d1deb16ef3fdf2eed66d [file] [log] [blame]
# buildifier: disable=load-on-top
workspace(name = "org_tensorflow")
# buildifier: disable=load-on-top
load("//third_party:repo.bzl", "tf_http_archive", "tf_mirror_urls")
tf_http_archive(
name = "rules_shell",
sha256 = "bc61ef94facc78e20a645726f64756e5e285a045037c7a61f65af2941f4c25e1",
strip_prefix = "rules_shell-0.4.1",
urls = tf_mirror_urls(
"https://github.com/bazelbuild/rules_shell/releases/download/v0.4.1/rules_shell-v0.4.1.tar.gz",
),
)
# Initialize toolchains for ML projects.
#
# A hermetic build system is designed to produce completely reproducible builds for C++.
# Details: https://github.com/google-ml-infra/rules_ml_toolchain
tf_http_archive(
name = "rules_ml_toolchain",
sha256 = "2887d9b49e18ef5df6f87438a4d99759408d21a1f463c61f4be6ab31d892dc88",
strip_prefix = "rules_ml_toolchain-de6fc6c38ea0368a198daa3f8c7cb829cc8db185",
urls = tf_mirror_urls(
"https://github.com/google-ml-infra/rules_ml_toolchain/archive/de6fc6c38ea0368a198daa3f8c7cb829cc8db185.tar.gz",
),
)
load(
"@rules_ml_toolchain//cc/deps:cc_toolchain_deps.bzl",
"cc_toolchain_deps",
)
cc_toolchain_deps()
register_toolchains("@rules_ml_toolchain//cc:linux_x86_64_linux_x86_64")
register_toolchains("@rules_ml_toolchain//cc:linux_x86_64_linux_x86_64_cuda")
register_toolchains("@rules_ml_toolchain//cc:linux_aarch64_linux_aarch64")
register_toolchains("@rules_ml_toolchain//cc:linux_aarch64_linux_aarch64_cuda")
# Initialize the TensorFlow repository and all dependencies.
#
# The cascade of load() statements and tf_workspace?() calls works around the
# restriction that load() statements need to be at the top of .bzl files.
# E.g. we can not retrieve a new repository with http_archive and then load()
# a macro from that repository in the same file.
load("@//tensorflow:workspace3.bzl", "tf_workspace3")
tf_workspace3()
load("@rules_shell//shell:repositories.bzl", "rules_shell_dependencies", "rules_shell_toolchains")
rules_shell_dependencies()
rules_shell_toolchains()
# Initialize hermetic Python
load("@xla//third_party/py:python_init_rules.bzl", "python_init_rules")
python_init_rules()
load("@xla//third_party/py:python_init_repositories.bzl", "python_init_repositories")
python_init_repositories(
default_python_version = "system",
local_wheel_dist_folder = "dist",
local_wheel_inclusion_list = [
"tensorflow*",
"tf_nightly*",
],
local_wheel_workspaces = ["//:WORKSPACE"],
requirements = {
"3.10": "//:requirements_lock_3_10.txt",
"3.11": "//:requirements_lock_3_11.txt",
"3.12": "//:requirements_lock_3_12.txt",
"3.13": "//:requirements_lock_3_13.txt",
"3.14": "//:requirements_lock_3_14.txt",
},
)
load("@xla//third_party/py:python_init_toolchains.bzl", "python_init_toolchains")
python_init_toolchains()
load("@xla//third_party/py:python_init_pip.bzl", "python_init_pip")
python_init_pip()
load("@pypi//:requirements.bzl", "install_deps")
install_deps()
# End hermetic Python initialization
load("@//tensorflow:workspace2.bzl", "tf_workspace2")
tf_workspace2()
load("@//tensorflow:workspace1.bzl", "tf_workspace1")
tf_workspace1()
load("@//tensorflow:workspace0.bzl", "tf_workspace0")
tf_workspace0()
load(
"@xla//third_party/py:python_wheel.bzl",
"nvidia_wheel_versions_repository",
"python_wheel_version_suffix_repository",
)
nvidia_wheel_versions_repository(
name = "nvidia_wheel_versions",
versions_source = "//ci/official/requirements_updater:nvidia-requirements.txt",
)
python_wheel_version_suffix_repository(name = "tf_wheel_version_suffix")
load(
"@rules_ml_toolchain//gpu/cuda:cuda_json_init_repository.bzl",
"cuda_json_init_repository",
)
cuda_json_init_repository()
load(
"@cuda_redist_json//:distributions.bzl",
"CUDA_REDISTRIBUTIONS",
"CUDNN_REDISTRIBUTIONS",
)
load(
"@rules_ml_toolchain//gpu/cuda:cuda_redist_init_repositories.bzl",
"cuda_redist_init_repositories",
"cudnn_redist_init_repository",
)
load(
"@rules_ml_toolchain//gpu/cuda:cuda_redist_versions.bzl",
"REDIST_VERSIONS_TO_BUILD_TEMPLATES",
)
load("@xla//third_party/cccl:workspace.bzl", "CCCL_2_8_5_DIST_DICT", "CCCL_GITHUB_VERSIONS_TO_BUILD_TEMPLATES")
cuda_redist_init_repositories(
cuda_redistributions = CUDA_REDISTRIBUTIONS | CCCL_2_8_5_DIST_DICT,
redist_versions_to_build_templates = REDIST_VERSIONS_TO_BUILD_TEMPLATES | CCCL_GITHUB_VERSIONS_TO_BUILD_TEMPLATES,
)
cudnn_redist_init_repository(
cudnn_redistributions = CUDNN_REDISTRIBUTIONS,
)
load(
"@rules_ml_toolchain//gpu/cuda:cuda_configure.bzl",
"cuda_configure",
)
cuda_configure(name = "local_config_cuda")
load(
"@rules_ml_toolchain//gpu/nccl:nccl_redist_init_repository.bzl",
"nccl_redist_init_repository",
)
nccl_redist_init_repository()
load(
"@rules_ml_toolchain//gpu/nccl:nccl_configure.bzl",
"nccl_configure",
)
nccl_configure(name = "local_config_nccl")
load(
"@rules_ml_toolchain//gpu/nvshmem:nvshmem_json_init_repository.bzl",
"nvshmem_json_init_repository",
)
nvshmem_json_init_repository()
load(
"@nvshmem_redist_json//:distributions.bzl",
"NVSHMEM_REDISTRIBUTIONS",
)
load(
"@rules_ml_toolchain//gpu/nvshmem:nvshmem_redist_init_repository.bzl",
"nvshmem_redist_init_repository",
)
nvshmem_redist_init_repository(
nvshmem_redistributions = NVSHMEM_REDISTRIBUTIONS,
)