| # 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 = "d04b4834f9a6f2333c2549300abe5478b1cde3aac18385323173a646b409a5f0", |
| strip_prefix = "rules_ml_toolchain-7e588e5b21e91bce5c3b9786e177c2579330b9aa", |
| urls = tf_mirror_urls( |
| "https://github.com/google-ml-infra/rules_ml_toolchain/archive/7e588e5b21e91bce5c3b9786e177c2579330b9aa.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("@local_xla//third_party/py:python_init_rules.bzl", "python_init_rules") |
| |
| python_init_rules() |
| |
| load("@local_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.9": "//:requirements_lock_3_9.txt", |
| "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", |
| }, |
| ) |
| |
| load("@local_xla//third_party/py:python_init_toolchains.bzl", "python_init_toolchains") |
| |
| python_init_toolchains() |
| |
| load("@local_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( |
| "@local_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//third_party/gpus/cuda/hermetic: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//third_party/gpus/cuda/hermetic:cuda_redist_init_repositories.bzl", |
| "cuda_redist_init_repositories", |
| "cudnn_redist_init_repository", |
| ) |
| load( |
| "@rules_ml_toolchain//third_party/gpus/cuda/hermetic:cuda_redist_versions.bzl", |
| "REDIST_VERSIONS_TO_BUILD_TEMPLATES", |
| ) |
| load("@local_xla//third_party/cccl:workspace.bzl", "CCCL_DIST_DICT", "CCCL_GITHUB_VERSIONS_TO_BUILD_TEMPLATES") |
| |
| cuda_redist_init_repositories( |
| cuda_redistributions = CUDA_REDISTRIBUTIONS | CCCL_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//third_party/gpus/cuda/hermetic:cuda_configure.bzl", |
| "cuda_configure", |
| ) |
| |
| cuda_configure(name = "local_config_cuda") |
| |
| load( |
| "@rules_ml_toolchain//third_party/nccl/hermetic:nccl_redist_init_repository.bzl", |
| "nccl_redist_init_repository", |
| ) |
| |
| nccl_redist_init_repository() |
| |
| load( |
| "@rules_ml_toolchain//third_party/nccl/hermetic:nccl_configure.bzl", |
| "nccl_configure", |
| ) |
| |
| nccl_configure(name = "local_config_nccl") |
| |
| load( |
| "@rules_ml_toolchain//third_party/nvshmem/hermetic: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//third_party/nvshmem/hermetic:nvshmem_redist_init_repository.bzl", |
| "nvshmem_redist_init_repository", |
| ) |
| |
| nvshmem_redist_init_repository( |
| nvshmem_redistributions = NVSHMEM_REDISTRIBUTIONS, |
| ) |