blob: 7e41d3b6c76f96b14ff2635e976ddfa178ae65a8 [file]
module(name = "rules_ml_toolchain",
version = "0.4.0-rc1",
)
bazel_dep(name = "bazel_skylib", version = "1.7.1")
bazel_dep(name = "protobuf", version = "32.1", repo_name = "com_google_protobuf")
bazel_dep(name = "rules_proto", version = "6.0.0-rc1")
bazel_dep(name = "pybind11_bazel", version = "2.13.6")
bazel_dep(name = "rules_cc", version = "0.0.9")
bazel_dep(name = "abseil-cpp", version = "20240116.2", repo_name = "com_google_absl")
bazel_dep(name = "googletest", version = "1.14.0.bcr.1", repo_name = "gtest")
bazel_dep(name = "platforms", version = "0.0.11")
pybind11_internal_configure = use_extension(
"@pybind11_bazel//:internal_configure.bzl",
"internal_configure_extension",
)
use_repo(pybind11_internal_configure, "pybind11")
##############################################################
# CUDA
cuda_configure_ext = use_extension("//extensions:cuda_configure.bzl", "cuda_configure_ext")
use_repo(cuda_configure_ext, "local_config_cuda")
cuda_json_ext = use_extension("//extensions:cuda_json.bzl", "cuda_json_ext")
use_repo(cuda_json_ext, "cuda_redist_json")
cuda_redist_init_ext = use_extension("//extensions:cuda_redist_init.bzl", "cuda_redist_init_ext")
use_repo(
cuda_redist_init_ext,
"cuda_cccl",
"cuda_crt",
"cuda_cublas",
"cuda_cudart",
"cuda_cudnn",
"cuda_cufft",
"cuda_cupti",
"cuda_curand",
"cuda_cusolver",
"cuda_cusparse",
"cuda_driver",
"cuda_nvcc",
"cuda_nvrtc",
"cuda_nvdisasm",
"cuda_nvjitlink",
"cuda_nvml",
"cuda_nvtx",
"cuda_nvvm",
"cuda_profiler_api",
)
##############################################################
# NCCL configuration
nccl_redist = use_extension("//extensions:nccl_redist.bzl", "nccl_redist_ext")
use_repo(nccl_redist, "cuda_nccl")
nccl_configure = use_extension("//extensions:nccl_configure.bzl", "nccl_configure_ext")
use_repo(nccl_configure, "local_config_nccl")
##############################################################
# SYCL configuration
sycl_configure = use_extension("//extensions:sycl_configure.bzl", "sycl_configure_ext")
use_repo(sycl_configure, "local_config_sycl")
##############################################################
# Hermetic toolchain configuration
toolchain = use_extension("//extensions:toolchain.bzl", "toolchain_ext")
use_repo(
toolchain,
"llvm18_linux_aarch64",
"llvm18_linux_x86_64",
"llvm19_linux_x86_64",
"llvm20_linux_aarch64",
"llvm20_linux_x86_64",
"llvm21_linux_x86_64",
"llvm_darwin_aarch64",
"llvm_linux_aarch64",
"llvm_linux_x86_64",
"sysroot_darwin_aarch64",
"sysroot_linux_aarch64",
"sysroot_linux_aarch64_glibc_2_27",
"sysroot_linux_aarch64_glibc_2_31",
"sysroot_linux_x86_64",
"sysroot_linux_x86_64_glibc_2_27",
"sysroot_linux_x86_64_glibc_2_31",
"tar",
"xz",
)
register_toolchains("//cc/...")