Created
August 13, 2023 10:59
-
-
Save ehzawad/d57784dc76388752431c58689473f63b to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
TensorFlow Bazel configuration file. | |
# This file tries to group and simplify build options for TensorFlow | |
# | |
# ----CONFIG OPTIONS---- | |
# Android options: | |
# android: | |
# android_arm: | |
# android_arm64: | |
# android_x86: | |
# android_x86_64: | |
# | |
# iOS options: | |
# ios: | |
# ios_armv7: | |
# ios_arm64: | |
# ios_i386: | |
# ios_x86_64: | |
# ios_fat: | |
# | |
# Macosx options | |
# darwin_arm64: | |
# | |
# Compiler options: | |
# cuda_clang: Use clang when building CUDA code. | |
# avx_linux: Build with avx instruction set on linux. | |
# avx2_linux: Build with avx2 instruction set on linux. | |
# native_arch_linux: Build with instruction sets available to the host machine on linux | |
# avx_win: Build with avx instruction set on windows | |
# avx2_win: Build with avx2 instruction set on windows | |
# | |
# Other build options: | |
# short_logs: Only log errors during build, skip warnings. | |
# verbose_logs: Show all compiler warnings during build. | |
# monolithic: Build all TF C++ code into a single shared object. | |
# dynamic_kernels: Try to link all kernels dynamically (experimental). | |
# libc++: Link against libc++ instead of stdlibc++ | |
# asan: Build with the clang address sanitizer | |
# msan: Build with the clang memory sanitizer | |
# ubsan: Build with the clang undefined behavior sanitizer | |
# dbg: Build with debug info | |
# | |
# | |
# TF version options; | |
# v1: Build TF V1 (without contrib) | |
# v2: Build TF v2 | |
# | |
# Feature and Third party library support options: | |
# xla: Build TF with XLA | |
# tpu: Build TF with TPU support | |
# cuda: Build with full cuda support. | |
# rocm: Build with AMD GPU support (rocm). | |
# mkl: Enable full mkl support. | |
# tensorrt: Enable Tensorrt support. | |
# numa: Enable numa using hwloc. | |
# noaws: Disable AWS S3 storage support | |
# nogcp: Disable GCS support. | |
# nohdfs: Disable hadoop hdfs support. | |
# nonccl: Disable nccl support. | |
# | |
# | |
# Remote build execution options (only configured to work with TF team projects for now.) | |
# rbe: General RBE options shared by all flavors. | |
# rbe_linux: General RBE options used on all linux builds. | |
# rbe_win: General RBE options used on all windows builds. | |
# | |
# rbe_cpu_linux: RBE options to build with only CPU support. | |
# rbe_linux_cuda_nvcc_py*: RBE options to build with GPU support using nvcc. | |
# | |
# rbe_linux_py3: Linux Python 3 RBE config | |
# | |
# rbe_win_py37: Windows Python 3.7 RBE config | |
# rbe_win_py38: Windows Python 3.8 RBE config | |
# rbe_win_py39: Windows Python 3.9 RBE config | |
# rbe_win_py310: Windows Python 3.10 RBE config | |
# | |
# tensorflow_testing_rbe_linux: RBE options to use RBE with tensorflow-testing project on linux | |
# tensorflow_testing_rbe_win: RBE options to use RBE with tensorflow-testing project on windows | |
# | |
# rbe_lite_linux: RBE options to build TF Lite. | |
# | |
# Embedded Linux options (experimental and only tested with TFLite build yet) | |
# elinux: General Embedded Linux options shared by all flavors. | |
# elinux_aarch64: Embedded Linux options for aarch64 (ARM64) CPU support. | |
# elinux_armhf: Embedded Linux options for armhf (ARMv7) CPU support. | |
# | |
# Release build options (for all operating systems) | |
# release_base: Common options for all builds on all operating systems. | |
# release_gpu_base: Common options for GPU builds on Linux and Windows. | |
# release_cpu_linux: Toolchain and CUDA options for Linux CPU builds. | |
# release_cpu_macos: Toolchain and CUDA options for MacOS CPU builds. | |
# release_gpu_linux: Toolchain and CUDA options for Linux GPU builds. | |
# release_cpu_windows: Toolchain and CUDA options for Windows CPU builds. | |
# release_gpu_windows: Toolchain and CUDA options for Windows GPU builds. | |
# Default build options. These are applied first and unconditionally. | |
# For projects which use TensorFlow as part of a Bazel build process, putting | |
# nothing in a bazelrc will default to a monolithic build. The following line | |
# opts in to modular op registration support by default. | |
build --define framework_shared_object=true | |
build --define tsl_protobuf_header_only=true | |
build --define=use_fast_cpp_protos=true | |
build --define=allow_oversize_protos=true | |
build --spawn_strategy=standalone | |
build -c opt | |
# Make Bazel print out all options from rc files. | |
build --announce_rc | |
# TODO(mihaimaruseac): Document this option or remove if no longer needed | |
build --define=grpc_no_ares=true | |
# See https://github.com/bazelbuild/bazel/issues/7362 for information on what | |
# --incompatible_remove_legacy_whole_archive flag does. | |
# This flag is set to true in Bazel 1.0 and newer versions. We tried to migrate | |
# Tensorflow to the default, however test coverage wasn't enough to catch the | |
# errors. | |
# There is ongoing work on Bazel team's side to provide support for transitive | |
# shared libraries. As part of migrating to transitive shared libraries, we | |
# hope to provide a better mechanism for control over symbol exporting, and | |
# then tackle this issue again. | |
# | |
# TODO: Remove this line once TF doesn't depend on Bazel wrapping all library | |
# archives in -whole_archive -no_whole_archive. | |
build --noincompatible_remove_legacy_whole_archive | |
# TODO(mihaimaruseac): Document this option or remove if no longer needed | |
build --enable_platform_specific_config | |
# Enable XLA support by default. | |
build --define=with_xla_support=true | |
# TODO(mihaimaruseac): Document this option or remove if no longer needed | |
build --config=short_logs | |
# TODO(mihaimaruseac): Document this option or remove if no longer needed | |
build --config=v2 | |
# Disable AWS/HDFS support by default | |
build --define=no_aws_support=true | |
build --define=no_hdfs_support=true | |
# TF now has `cc_shared_library` targets, so it needs the experimental flag | |
# TODO(rostam): Remove when `cc_shared_library` is enabled by default | |
build --experimental_cc_shared_library | |
# cc_shared_library ensures no library is linked statically more than once. | |
build --experimental_link_static_libraries_once=false | |
# Prevent regressions on those two incompatible changes | |
# TODO: remove those flags when they are flipped in the default Bazel version TF uses. | |
build --incompatible_enforce_config_setting_visibility | |
# TODO: also enable this flag after fixing the visbility violations | |
# build --incompatible_config_setting_private_default_visibility | |
# Default options should come above this line. | |
# Allow builds using libc++ as a linker library | |
# This is mostly for OSSFuzz, so we also pass in the flags from environment to clean build file | |
build:libc++ --action_env=CC | |
build:libc++ --action_env=CXX | |
build:libc++ --action_env=CXXFLAGS=-stdlib=libc++ | |
build:libc++ --action_env=PATH | |
build:libc++ --define force_libcpp=enabled | |
build:libc++ --linkopt -fuse-ld=lld | |
# Android configs. Bazel needs to have --cpu and --fat_apk_cpu both set to the | |
# target CPU to build transient dependencies correctly. See | |
# https://docs.bazel.build/versions/master/user-manual.html#flag--fat_apk_cpu | |
build:android --crosstool_top=//external:android/crosstool | |
build:android --host_crosstool_top=@bazel_tools//tools/cpp:toolchain | |
build:android_arm --config=android | |
build:android_arm --cpu=armeabi-v7a | |
build:android_arm --fat_apk_cpu=armeabi-v7a | |
build:android_arm64 --config=android | |
build:android_arm64 --cpu=arm64-v8a | |
build:android_arm64 --fat_apk_cpu=arm64-v8a | |
build:android_x86 --config=android | |
build:android_x86 --cpu=x86 | |
build:android_x86 --fat_apk_cpu=x86 | |
build:android_x86_64 --config=android | |
build:android_x86_64 --cpu=x86_64 | |
build:android_x86_64 --fat_apk_cpu=x86_64 | |
# Build everything statically for Android since all static libs are later | |
# bundled together into a single .so for deployment. | |
build:android --dynamic_mode=off | |
# Sets the default Apple platform to macOS. | |
build:macos --apple_platform_type=macos | |
# gRPC on MacOS requires this #define | |
build:macos --copt=-DGRPC_BAZEL_BUILD | |
# Settings for MacOS on ARM CPUs. | |
build:macos_arm64 --cpu=darwin_arm64 | |
build:macos_arm64 --macos_minimum_os=11.0 | |
# iOS configs for each architecture and the fat binary builds. | |
build:ios --apple_platform_type=ios | |
build:ios --apple_bitcode=embedded --copt=-fembed-bitcode | |
build:ios --copt=-Wno-c++11-narrowing | |
build:ios_armv7 --config=ios | |
build:ios_armv7 --cpu=ios_armv7 | |
build:ios_arm64 --config=ios | |
build:ios_arm64 --cpu=ios_arm64 | |
build:ios_arm64e --config=ios | |
build:ios_arm64e --cpu=ios_arm64e | |
build:ios_sim_arm64 --config=ios | |
build:ios_sim_arm64 --cpu=ios_sim_arm64 | |
build:ios_i386 --config=ios | |
build:ios_i386 --cpu=ios_i386 | |
build:ios_x86_64 --config=ios | |
build:ios_x86_64 --cpu=ios_x86_64 | |
build:ios_fat --config=ios | |
build:ios_fat --ios_multi_cpus=armv7,arm64,i386,x86_64 | |
# Config to use a mostly-static build and disable modular op registration | |
# support (this will revert to loading TensorFlow with RTLD_GLOBAL in Python). | |
# By default, TensorFlow will build with a dependence on | |
# //tensorflow:libtensorflow_framework.so. | |
build:monolithic --define framework_shared_object=false | |
build:monolithic --define tsl_protobuf_header_only=false | |
build:monolithic --experimental_link_static_libraries_once=false # b/229868128 | |
build:linux --define=build_with_onednn_v2=true | |
# Please note that MKL on MacOS is still not supported. | |
# If you would like to use a local MKL instead of downloading, please set the | |
# environment variable "TF_MKL_ROOT" every time before build. | |
build:mkl --define=build_with_mkl=true --define=enable_mkl=true | |
build:mkl --define=tensorflow_mkldnn_contraction_kernel=0 | |
build:mkl --define=build_with_openmp=true | |
build:mkl -c opt | |
# config to build OneDNN backend with a user specified threadpool. | |
build:mkl_threadpool --define=build_with_mkl=true --define=enable_mkl=true | |
build:mkl_threadpool --define=tensorflow_mkldnn_contraction_kernel=0 | |
build:mkl_threadpool --define=build_with_mkl_opensource=true | |
build:mkl_threadpool -c opt | |
# Config setting to build oneDNN with Compute Library for the Arm Architecture (ACL). | |
build:mkl_aarch64 --define=build_with_mkl_aarch64=true | |
build:mkl_aarch64 --define=build_with_openmp=true | |
build:mkl_aarch64 --define=build_with_acl=true | |
build:mkl_aarch64 -c opt | |
# Config setting to build oneDNN with Compute Library for the Arm Architecture (ACL). | |
# with Eigen threadpool support | |
build:mkl_aarch64_threadpool --define=build_with_mkl_aarch64=true | |
build:mkl_aarch64_threadpool -c opt | |
# This config refers to building CUDA op kernels with nvcc. | |
build:cuda --repo_env TF_NEED_CUDA=1 | |
build:cuda --crosstool_top=@local_config_cuda//crosstool:toolchain | |
build:cuda --@local_config_cuda//:enable_cuda | |
# This config refers to building CUDA op kernels with clang. | |
build:cuda_clang --config=cuda | |
build:cuda_clang --repo_env TF_CUDA_CLANG=1 | |
build:cuda_clang --@local_config_cuda//:cuda_compiler=clang | |
# Debug config | |
build:dbg -c dbg | |
# Only include debug info for files under tensorflow/, excluding kernels, to | |
# reduce the size of the debug info in the binary. This is because if the debug | |
# sections in the ELF binary are too large, errors can occur. See | |
# https://github.com/tensorflow/tensorflow/issues/48919. | |
# Users can still include debug info for a specific kernel, e.g. with: | |
# --config=dbg --per_file_copt=+tensorflow/core/kernels/identity_op.*@-g | |
build:dbg --per_file_copt=+.*,-tensorflow.*@-g0 | |
build:dbg --per_file_copt=+tensorflow/core/kernels.*@-g0 | |
# for now, disable arm_neon. see: https://github.com/tensorflow/tensorflow/issues/33360 | |
build:dbg --cxxopt -DTF_LITE_DISABLE_X86_NEON | |
# AWS SDK must be compiled in release mode. see: https://github.com/tensorflow/tensorflow/issues/37498 | |
build:dbg --copt -DDEBUG_BUILD | |
# Config to build TPU backend | |
build:tpu --define=with_tpu_support=true | |
build:tensorrt --repo_env TF_NEED_TENSORRT=1 | |
build:rocm --crosstool_top=@local_config_rocm//crosstool:toolchain | |
build:rocm --define=using_rocm_hipcc=true | |
build:rocm --define=tensorflow_mkldnn_contraction_kernel=0 | |
build:rocm --repo_env TF_NEED_ROCM=1 | |
# Options extracted from configure script | |
build:numa --define=with_numa_support=true | |
# Options to disable default on features | |
build:noaws --define=no_aws_support=true | |
build:nogcp --define=no_gcp_support=true | |
build:nohdfs --define=no_hdfs_support=true | |
build:nonccl --define=no_nccl_support=true | |
build:stackdriver_support --define=stackdriver_support=true | |
# Modular TF build options | |
build:dynamic_kernels --define=dynamic_loaded_kernels=true | |
build:dynamic_kernels --copt=-DAUTOLOAD_DYNAMIC_KERNELS | |
# Don't trigger --config=<host platform> when cross-compiling. | |
build:android --noenable_platform_specific_config | |
build:ios --noenable_platform_specific_config | |
# Suppress all C++ compiler warnings, otherwise build logs become 10s of MBs. | |
build:android --copt=-w | |
build:ios --copt=-w | |
build:linux --host_copt=-w | |
build:macos --copt=-w | |
build:windows --copt=/W0 | |
build:windows --host_copt=/W0 | |
# Suppress most C++ complier warnings to reduce log size but allow | |
# for specific warnings to still be present. | |
build:linux --copt="-Wno-all" | |
build:linux --copt="-Wno-extra" | |
build:linux --copt="-Wno-deprecated" | |
build:linux --copt="-Wno-deprecated-declarations" | |
build:linux --copt="-Wno-ignored-attributes" | |
build:linux --copt="-Wno-array-bounds" | |
# Add unused-result as an error on Linux. | |
build:linux --copt="-Wunused-result" | |
build:linux --copt="-Werror=unused-result" | |
# Add switch as an error on Linux. | |
build:linux --copt="-Wswitch" | |
build:linux --copt="-Werror=switch" | |
# Required for building with clang | |
build:linux --copt="-Wno-error=unused-but-set-variable" | |
# On Windows, `__cplusplus` is wrongly defined without this switch | |
# See https://devblogs.microsoft.com/cppblog/msvc-now-correctly-reports-__cplusplus/ | |
build:windows --copt=/Zc:__cplusplus | |
build:windows --host_copt=/Zc:__cplusplus | |
# Tensorflow uses M_* math constants that only get defined by MSVC headers if | |
# _USE_MATH_DEFINES is defined. | |
build:windows --copt=/D_USE_MATH_DEFINES | |
build:windows --host_copt=/D_USE_MATH_DEFINES | |
# Windows has a relatively short command line limit, which TF has begun to hit. | |
# See https://docs.bazel.build/versions/main/windows.html | |
build:windows --features=compiler_param_file | |
# Speed Windows compile times. Available in VS 16.4 (we are on 16.11). See | |
# https://groups.google.com/a/tensorflow.org/d/topic/build/SsW98Eo7l3o/discussion | |
build:windows --copt=/d2ReducedOptimizeHugeFunctions | |
build:windows --host_copt=/d2ReducedOptimizeHugeFunctions | |
# Default paths for TF_SYSTEM_LIBS | |
build:linux --define=PREFIX=/usr | |
build:linux --define=LIBDIR=$(PREFIX)/lib | |
build:linux --define=INCLUDEDIR=$(PREFIX)/include | |
build:linux --define=PROTOBUF_INCLUDE_PATH=$(PREFIX)/include | |
build:macos --define=PREFIX=/usr | |
build:macos --define=LIBDIR=$(PREFIX)/lib | |
build:macos --define=INCLUDEDIR=$(PREFIX)/include | |
build:macos --define=PROTOBUF_INCLUDE_PATH=$(PREFIX)/include | |
# TF_SYSTEM_LIBS do not work on windows. | |
# By default, build TF in C++ 17 mode. | |
build:android --cxxopt=-std=c++17 | |
build:android --host_cxxopt=-std=c++17 | |
build:ios --cxxopt=-std=c++17 | |
build:ios --host_cxxopt=-std=c++17 | |
build:linux --cxxopt=-std=c++17 | |
build:linux --host_cxxopt=-std=c++17 | |
build:macos --cxxopt=-std=c++17 | |
build:macos --host_cxxopt=-std=c++17 | |
build:windows --cxxopt=/std:c++17 | |
build:windows --host_cxxopt=/std:c++17 | |
# On windows, we still link everything into a single DLL. | |
build:windows --config=monolithic | |
# On linux, we dynamically link small amount of kernels | |
build:linux --config=dynamic_kernels | |
# Make sure to include as little of windows.h as possible | |
build:windows --copt=-DWIN32_LEAN_AND_MEAN | |
build:windows --host_copt=-DWIN32_LEAN_AND_MEAN | |
build:windows --copt=-DNOGDI | |
build:windows --host_copt=-DNOGDI | |
# MSVC (Windows): Standards-conformant preprocessor mode | |
# See https://docs.microsoft.com/en-us/cpp/preprocessor/preprocessor-experimental-overview | |
build:windows --copt=/Zc:preprocessor | |
build:windows --host_copt=/Zc:preprocessor | |
# Misc build options we need for windows. | |
build:windows --linkopt=/DEBUG | |
build:windows --host_linkopt=/DEBUG | |
build:windows --linkopt=/OPT:REF | |
build:windows --host_linkopt=/OPT:REF | |
build:windows --linkopt=/OPT:ICF | |
build:windows --host_linkopt=/OPT:ICF | |
# Verbose failure logs when something goes wrong | |
build:windows --verbose_failures | |
# Work around potential issues with large command lines on windows. | |
# See: https://github.com/bazelbuild/bazel/issues/5163 | |
build:windows --features=compiler_param_file | |
# Do not risk cache corruption. See: | |
# https://github.com/bazelbuild/bazel/issues/3360 | |
build:linux --experimental_guard_against_concurrent_changes | |
# Configure short or long logs | |
build:short_logs --output_filter=DONT_MATCH_ANYTHING | |
build:verbose_logs --output_filter= | |
# Instruction set optimizations | |
# TODO(gunan): Create a feature in toolchains for avx/avx2 to | |
# avoid having to define linux/win separately. | |
build:avx_linux --copt=-mavx | |
build:avx_linux --host_copt=-mavx | |
build:avx2_linux --copt=-mavx2 | |
build:native_arch_linux --copt=-march=native | |
build:avx_win --copt=/arch=AVX | |
build:avx2_win --copt=/arch=AVX2 | |
# Options to build TensorFlow 1.x or 2.x. | |
build:v1 --define=tf_api_version=1 --action_env=TF2_BEHAVIOR=0 | |
build:v2 --define=tf_api_version=2 --action_env=TF2_BEHAVIOR=1 | |
# Disable XLA on mobile. | |
build:xla --define=with_xla_support=true # TODO: remove, it's on by default. | |
build:android --define=with_xla_support=false | |
build:ios --define=with_xla_support=false | |
# BEGIN TF REMOTE BUILD EXECUTION OPTIONS | |
# Options when using remote execution | |
# WARNING: THESE OPTIONS WONT WORK IF YOU DO NOT HAVE PROPER AUTHENTICATION AND PERMISSIONS | |
# Flag to enable remote config | |
common --experimental_repo_remote_exec | |
build:rbe --repo_env=BAZEL_DO_NOT_DETECT_CPP_TOOLCHAIN=1 | |
build:rbe --google_default_credentials | |
build:rbe --bes_backend=buildeventservice.googleapis.com | |
build:rbe --bes_results_url="https://source.cloud.google.com/results/invocations" | |
build:rbe --bes_timeout=600s | |
build:rbe --define=EXECUTOR=remote | |
build:rbe --flaky_test_attempts=3 | |
build:rbe --jobs=800 | |
build:rbe --remote_executor=grpcs://remotebuildexecution.googleapis.com | |
build:rbe --remote_timeout=3600 | |
build:rbe --spawn_strategy=remote,worker,standalone,local | |
test:rbe --test_env=USER=anon | |
# Attempt to minimize the amount of data transfer between bazel and the remote | |
# workers: | |
build:rbe --remote_download_toplevel | |
build:rbe_linux_base --config=rbe | |
build:rbe_linux_base --action_env=PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/go/bin" | |
build:rbe_linux --config=rbe_linux_base | |
# Non-rbe settings we should include because we do not run configure | |
build:rbe_linux --config=avx_linux | |
# TODO(gunan): Check why we need this specified in rbe, but not in other builds. | |
build:rbe_linux --linkopt=-lrt | |
build:rbe_linux --host_linkopt=-lrt | |
build:rbe_linux --linkopt=-lm | |
build:rbe_linux --host_linkopt=-lm | |
# Use the GPU toolchain until the CPU one is ready. | |
# https://github.com/bazelbuild/bazel/issues/13623 | |
build:rbe_cpu_linux_base --host_crosstool_top="@ubuntu20.04-gcc9_manylinux2014-cuda11.2-cudnn8.1-tensorrt7.2_config_cuda//crosstool:toolchain" | |
build:rbe_cpu_linux_base --crosstool_top="@ubuntu20.04-gcc9_manylinux2014-cuda11.2-cudnn8.1-tensorrt7.2_config_cuda//crosstool:toolchain" | |
build:rbe_cpu_linux_base --extra_toolchains="@ubuntu20.04-gcc9_manylinux2014-cuda11.2-cudnn8.1-tensorrt7.2_config_cuda//crosstool:toolchain-linux-x86_64" | |
build:rbe_cpu_linux_base --extra_execution_platforms="@ubuntu20.04-gcc9_manylinux2014-cuda11.2-cudnn8.1-tensorrt7.2_config_platform//:platform" | |
build:rbe_cpu_linux_base --host_platform="@ubuntu20.04-gcc9_manylinux2014-cuda11.2-cudnn8.1-tensorrt7.2_config_platform//:platform" | |
build:rbe_cpu_linux_base --platforms="@ubuntu20.04-gcc9_manylinux2014-cuda11.2-cudnn8.1-tensorrt7.2_config_platform//:platform" | |
build:rbe_cpu_linux --config=rbe_linux | |
build:rbe_cpu_linux --config=rbe_cpu_linux_base | |
build:rbe_lite_linux --config=rbe_linux_base | |
build:rbe_lite_linux --config=rbe_cpu_linux_base | |
build:rbe_lite_linux --config=rbe_linux_py3_base | |
build:rbe_lite_linux --noexperimental_check_desugar_deps | |
build:rbe_linux_cuda_base --config=rbe_linux | |
build:rbe_linux_cuda_base --config=cuda | |
build:rbe_linux_cuda_base --config=tensorrt | |
build:rbe_linux_cuda_base --action_env=TF_CUDA_VERSION=11 | |
build:rbe_linux_cuda_base --action_env=TF_CUDNN_VERSION=8 | |
build:rbe_linux_cuda_base --repo_env=REMOTE_GPU_TESTING=1 | |
# TensorRT 7 for CUDA 11.1 is compatible with CUDA 11.2, but requires | |
# libnvrtc.so.11.1. See https://github.com/NVIDIA/TensorRT/issues/1064. | |
# TODO(b/187962120): Remove when upgrading to TensorRT 8. | |
test:rbe_linux_cuda_base --test_env=LD_LIBRARY_PATH="/usr/local/cuda/lib64:/usr/local/cuda/extras/CUPTI/lib64:/usr/local/cuda-11.1/lib64" | |
build:rbe_linux_cuda11.2_nvcc_base --config=rbe_linux_cuda_base | |
build:rbe_linux_cuda11.2_nvcc_base --host_crosstool_top="@ubuntu20.04-gcc9_manylinux2014-cuda11.2-cudnn8.1-tensorrt7.2_config_cuda//crosstool:toolchain" | |
build:rbe_linux_cuda11.2_nvcc_base --crosstool_top="@ubuntu20.04-gcc9_manylinux2014-cuda11.2-cudnn8.1-tensorrt7.2_config_cuda//crosstool:toolchain" | |
build:rbe_linux_cuda11.2_nvcc_base --extra_toolchains="@ubuntu20.04-gcc9_manylinux2014-cuda11.2-cudnn8.1-tensorrt7.2_config_cuda//crosstool:toolchain-linux-x86_64" | |
build:rbe_linux_cuda11.2_nvcc_base --extra_execution_platforms="@ubuntu20.04-gcc9_manylinux2014-cuda11.2-cudnn8.1-tensorrt7.2_config_platform//:platform" | |
build:rbe_linux_cuda11.2_nvcc_base --host_platform="@ubuntu20.04-gcc9_manylinux2014-cuda11.2-cudnn8.1-tensorrt7.2_config_platform//:platform" | |
build:rbe_linux_cuda11.2_nvcc_base --platforms="@ubuntu20.04-gcc9_manylinux2014-cuda11.2-cudnn8.1-tensorrt7.2_config_platform//:platform" | |
build:rbe_linux_cuda11.2_nvcc_base --repo_env=TF_CUDA_CONFIG_REPO="@ubuntu20.04-gcc9_manylinux2014-cuda11.2-cudnn8.1-tensorrt7.2_config_cuda" | |
build:rbe_linux_cuda11.2_nvcc_base --repo_env=TF_TENSORRT_CONFIG_REPO="@ubuntu20.04-gcc9_manylinux2014-cuda11.2-cudnn8.1-tensorrt7.2_config_tensorrt" | |
build:rbe_linux_cuda11.2_nvcc_base --repo_env=TF_NCCL_CONFIG_REPO="@ubuntu20.04-gcc9_manylinux2014-cuda11.2-cudnn8.1-tensorrt7.2_config_nccl" | |
build:rbe_linux_cuda11.2_nvcc_py3.7 --config=rbe_linux_cuda11.2_nvcc_base --repo_env=TF_PYTHON_CONFIG_REPO="@ubuntu20.04-gcc9_manylinux2014-cuda11.2-cudnn8.1-tensorrt7.2_config_python3.7" | |
build:rbe_linux_cuda11.2_nvcc_py3.8 --config=rbe_linux_cuda11.2_nvcc_base --repo_env=TF_PYTHON_CONFIG_REPO="@ubuntu20.04-gcc9_manylinux2014-cuda11.2-cudnn8.1-tensorrt7.2_config_python3.8" | |
build:rbe_linux_cuda11.2_nvcc_py3.9 --config=rbe_linux_cuda11.2_nvcc_base --repo_env=TF_PYTHON_CONFIG_REPO="@ubuntu20.04-gcc9_manylinux2014-cuda11.2-cudnn8.1-tensorrt7.2_config_python3.9" | |
build:rbe_linux_cuda11.2_nvcc_py3.10 --config=rbe_linux_cuda11.2_nvcc_base --repo_env=TF_PYTHON_CONFIG_REPO="@ubuntu20.04-gcc9_manylinux2014-cuda11.2-cudnn8.1-tensorrt7.2_config_python3.10" | |
# Map default to CUDA 11.2. | |
build:rbe_linux_cuda_nvcc_py37 --config=rbe_linux_cuda11.2_nvcc_py3.7 | |
build:rbe_linux_cuda_nvcc_py38 --config=rbe_linux_cuda11.2_nvcc_py3.8 | |
build:rbe_linux_cuda_nvcc_py39 --config=rbe_linux_cuda11.2_nvcc_py3.9 | |
build:rbe_linux_cuda_nvcc_py310 --config=rbe_linux_cuda11.2_nvcc_py3.10 | |
# Deprecated configs that people might still use. | |
build:rbe_linux_cuda_nvcc --config=rbe_linux_cuda_nvcc_py39 | |
build:rbe_gpu_linux --config=rbe_linux_cuda_nvcc | |
build:rbe_linux_cuda_clang_base --config=rbe_linux_cuda_base | |
build:rbe_linux_cuda_clang_base --repo_env TF_CUDA_CLANG=1 | |
build:rbe_linux_cuda_clang_base --@local_config_cuda//:cuda_compiler=clang | |
build:rbe_linux_cuda_clang_base --crosstool_top="@ubuntu20.04-clang_manylinux2014-cuda11.2-cudnn8.1-tensorrt7.2_config_cuda//crosstool:toolchain" | |
build:rbe_linux_cuda_clang_base --extra_toolchains="@ubuntu20.04-clang_manylinux2014-cuda11.2-cudnn8.1-tensorrt7.2_config_cuda//crosstool:toolchain-linux-x86_64" | |
build:rbe_linux_cuda_clang_base --extra_execution_platforms="@ubuntu20.04-clang_manylinux2014-cuda11.2-cudnn8.1-tensorrt7.2_config_platform//:platform" | |
build:rbe_linux_cuda_clang_base --host_platform="@ubuntu20.04-clang_manylinux2014-cuda11.2-cudnn8.1-tensorrt7.2_config_platform//:platform" | |
build:rbe_linux_cuda_clang_base --platforms="@ubuntu20.04-clang_manylinux2014-cuda11.2-cudnn8.1-tensorrt7.2_config_platform//:platform" | |
build:rbe_linux_cuda_clang_base --repo_env=TF_CUDA_CONFIG_REPO="@ubuntu20.04-clang_manylinux2014-cuda11.2-cudnn8.1-tensorrt7.2_config_cuda" | |
build:rbe_linux_cuda_clang_base --repo_env=TF_TENSORRT_CONFIG_REPO="@ubuntu20.04-clang_manylinux2014-cuda11.2-cudnn8.1-tensorrt7.2_config_tensorrt" | |
build:rbe_linux_cuda_clang_base --repo_env=TF_NCCL_CONFIG_REPO="@ubuntu20.04-clang_manylinux2014-cuda11.2-cudnn8.1-tensorrt7.2_config_nccl" | |
build:rbe_linux_cuda_clang_py37 --config=rbe_linux_cuda_clang_base --repo_env=TF_PYTHON_CONFIG_REPO="@ubuntu20.04-clang_manylinux2014-cuda11.2-cudnn8.1-tensorrt7.2_config_python3.7" | |
build:rbe_linux_cuda_clang_py38 --config=rbe_linux_cuda_clang_base --repo_env=TF_PYTHON_CONFIG_REPO="@ubuntu20.04-clang_manylinux2014-cuda11.2-cudnn8.1-tensorrt7.2_config_python3.8" | |
build:rbe_linux_cuda_clang_py39 --config=rbe_linux_cuda_clang_base --repo_env=TF_PYTHON_CONFIG_REPO="@ubuntu20.04-clang_manylinux2014-cuda11.2-cudnn8.1-tensorrt7.2_config_python3.9" | |
build:rbe_linux_cuda_clang_py310 --config=rbe_linux_cuda_clang_base --repo_env=TF_PYTHON_CONFIG_REPO="@ubuntu20.04-clang_manylinux2014-cuda11.2-cudnn8.1-tensorrt7.2_config_python3.10" | |
# ROCm | |
build:rbe_linux_rocm_base --config=rocm | |
build:rbe_linux_rocm_base --config=rbe_linux | |
build:rbe_linux_rocm_base --crosstool_top="@ubuntu20.04-gcc9_manylinux2014-rocm_config_rocm//crosstool:toolchain" | |
build:rbe_linux_rocm_base --extra_toolchains="@ubuntu20.04-gcc9_manylinux2014-rocm_config_rocm//crosstool:toolchain-linux-x86_64" | |
build:rbe_linux_rocm_base --extra_execution_platforms="@ubuntu20.04-gcc9_manylinux2014-rocm_config_platform//:platform" | |
build:rbe_linux_rocm_base --host_platform="@ubuntu20.04-gcc9_manylinux2014-rocm_config_platform//:platform" | |
build:rbe_linux_rocm_base --platforms="@ubuntu20.04-gcc9_manylinux2014-rocm_config_platform//:platform" | |
build:rbe_linux_rocm_base --action_env=TF_ROCM_CONFIG_REPO="@ubuntu20.04-gcc9_manylinux2014-rocm_config_rocm" | |
build:rbe_linux_rocm_py3.7 --config=rbe_linux_rocm_base --repo_env=TF_PYTHON_CONFIG_REPO="@ubuntu20.04-gcc9_manylinux2014-rocm_config_python3.7" | |
build:rbe_linux_rocm_py3.8 --config=rbe_linux_rocm_base --repo_env=TF_PYTHON_CONFIG_REPO="@ubuntu20.04-gcc9_manylinux2014-rocm_config_python3.8" | |
build:rbe_linux_rocm_py3.9 --config=rbe_linux_rocm_base --repo_env=TF_PYTHON_CONFIG_REPO="@ubuntu20.04-gcc9_manylinux2014-rocm_config_python3.9" | |
build:rbe_linux_rocm_py3.10 --config=rbe_linux_rocm_base --repo_env=TF_PYTHON_CONFIG_REPO="@ubuntu20.04-gcc9_manylinux2014-rocm_config_python3.10" | |
# Linux CPU | |
build:rbe_linux_py3 --config=rbe_linux | |
build:rbe_linux_py3 --config=rbe_linux_py3_base | |
build:rbe_linux_py3_base --python_path="/usr/local/bin/python3.9" | |
build:rbe_linux_py3_base --repo_env=TF_PYTHON_CONFIG_REPO="@ubuntu20.04-gcc9_manylinux2014-cuda11.2-cudnn8.1-tensorrt7.2_config_python3.9" | |
build:rbe_win --config=rbe | |
build:rbe_win --crosstool_top="//tensorflow/tools/toolchains/win/tf_win_04192023:toolchain" | |
build:rbe_win --extra_toolchains="//tensorflow/tools/toolchains/win/tf_win_04192023:cc-toolchain-x64_windows" | |
build:rbe_win --extra_execution_platforms="//tensorflow/tools/toolchains/win:rbe_windows_ltsc2019" | |
build:rbe_win --host_platform="//tensorflow/tools/toolchains/win:rbe_windows_ltsc2019" | |
build:rbe_win --platforms="//tensorflow/tools/toolchains/win:rbe_windows_ltsc2019" | |
build:rbe_win --shell_executable=C:\\tools\\msys64\\usr\\bin\\bash.exe | |
build:rbe_win --experimental_strict_action_env=true | |
# TODO(gunan): Remove once we use MSVC 2019 with latest patches. | |
build:rbe_win --define=override_eigen_strong_inline=true | |
# Don't build the python zip archive in the RBE build. | |
build:rbe_win --remote_download_minimal | |
build:rbe_win --enable_runfiles | |
build:rbe_win --nobuild_python_zip | |
build:rbe_win_py37 --config=rbe | |
build:rbe_win_py37 --repo_env=TF_PYTHON_CONFIG_REPO="@windows_py37_config_python" | |
build:rbe_win_py37 --python_path=C:\\Python37\\python.exe | |
build:rbe_win_py38 --config=rbe | |
build:rbe_win_py38 --repo_env=PYTHON_BIN_PATH=C:\\Python38\\python.exe | |
build:rbe_win_py38 --repo_env=PYTHON_LIB_PATH=C:\\Python38\\lib\\site-packages | |
build:rbe_win_py38 --repo_env=TF_PYTHON_CONFIG_REPO=//tensorflow/tools/toolchains/win_1803/py38 | |
build:rbe_win_py38 --python_path=C:\\Python38\\python.exe | |
build:rbe_win_py39 --config=rbe | |
build:rbe_win_py39 --repo_env=PYTHON_BIN_PATH=C:\\Python39\\python.exe | |
build:rbe_win_py39 --repo_env=PYTHON_LIB_PATH=C:\\Python39\\lib\\site-packages | |
build:rbe_win_py39 --repo_env=TF_PYTHON_CONFIG_REPO=//tensorflow/tools/toolchains/win_1803/py39 | |
build:rbe_win_py39 --python_path=C:\\Python39\\python.exe | |
build:rbe_win_py310 --config=rbe | |
build:rbe_win_py310 --repo_env=PYTHON_BIN_PATH=C:\\Python310\\python.exe | |
build:rbe_win_py310 --repo_env=PYTHON_LIB_PATH=C:\\Python310\\lib\\site-packages | |
build:rbe_win_py310 --repo_env=TF_PYTHON_CONFIG_REPO=//tensorflow/tools/toolchains/win_1803/py310 | |
build:rbe_win_py310 --python_path=C:\\Python310\\python.exe | |
# These you may need to change for your own GCP project. | |
build:tensorflow_testing_rbe --project_id=tensorflow-testing | |
common:tensorflow_testing_rbe_linux --remote_instance_name=projects/tensorflow-testing/instances/default_instance | |
build:tensorflow_testing_rbe_linux --config=tensorflow_testing_rbe | |
# Build GPU binaries for the RBE test machines (Tesla T4s). | |
build:tensorflow_testing_rbe_linux --repo_env=TF_CUDA_COMPUTE_CAPABILITIES=sm_75 | |
common:tensorflow_testing_rbe_win --remote_instance_name=projects/tensorflow-testing/instances/windows | |
build:tensorflow_testing_rbe_win --config=tensorflow_testing_rbe | |
# TFLite build configs for generic embedded Linux | |
build:elinux --crosstool_top=@local_config_embedded_arm//:toolchain | |
build:elinux --host_crosstool_top=@bazel_tools//tools/cpp:toolchain | |
build:elinux_aarch64 --config=elinux | |
build:elinux_aarch64 --cpu=aarch64 | |
build:elinux_armhf --config=elinux | |
build:elinux_armhf --cpu=armhf | |
build:elinux_armhf --copt -mfp16-format=ieee | |
# END TF REMOTE BUILD EXECUTION OPTIONS | |
# Config-specific options should come above this line. | |
# Load rc file written by ./configure. | |
try-import %workspace%/.tf_configure.bazelrc | |
# Load rc file with user-specific options. | |
try-import %workspace%/.bazelrc.user | |
# Here are bazelrc configs for release builds | |
build:release_base --config=v2 | |
test:release_base --flaky_test_attempts=3 | |
test:release_base --test_size_filters=small,medium | |
build:release_cpu_linux --config=release_base | |
build:release_cpu_linux --config=avx_linux | |
build:release_cpu_linux --crosstool_top="@ubuntu20.04-gcc9_manylinux2014-cuda11.2-cudnn8.1-tensorrt7.2_config_cuda//crosstool:toolchain" | |
test:release_cpu_linux --test_env=LD_LIBRARY_PATH | |
build:release_cpu_macos --config=release_base | |
build:release_cpu_macos --config=avx_linux | |
build:release_gpu_base --config=cuda | |
build:release_gpu_base --action_env=TF_CUDA_VERSION="11" | |
build:release_gpu_base --action_env=TF_CUDNN_VERSION="8" | |
build:release_gpu_base --repo_env=TF_CUDA_COMPUTE_CAPABILITIES="sm_35,sm_50,sm_60,sm_70,sm_75,compute_80" | |
build:release_gpu_linux --config=release_cpu_linux | |
build:release_gpu_linux --config=release_gpu_base | |
build:release_gpu_linux --config=tensorrt | |
build:release_gpu_linux --action_env=CUDA_TOOLKIT_PATH="/usr/local/cuda-11.2" | |
build:release_gpu_linux --action_env=LD_LIBRARY_PATH="/usr/local/cuda:/usr/local/cuda/lib64:/usr/local/cuda/extras/CUPTI/lib64:/usr/local/cuda-11.1/lib64:/usr/local/tensorrt/lib" | |
build:release_gpu_linux --action_env=GCC_HOST_COMPILER_PATH="/dt9/usr/bin/gcc" | |
build:release_gpu_linux --crosstool_top=@ubuntu20.04-gcc9_manylinux2014-cuda11.2-cudnn8.1-tensorrt7.2_config_cuda//crosstool:toolchain | |
build:release_cpu_windows --config=release_base | |
build:release_cpu_windows --config=avx_win | |
build:release_cpu_windows --define=no_tensorflow_py_deps=true | |
build:release_gpu_windows --config=release_cpu_windows | |
build:release_gpu_windows --config=release_gpu_base | |
# Address sanitizer | |
# CC=clang bazel build --config asan | |
build:asan --strip=never | |
build:asan --copt -fsanitize=address | |
build:asan --copt -DADDRESS_SANITIZER | |
build:asan --copt -g | |
build:asan --copt -O3 | |
build:asan --copt -fno-omit-frame-pointer | |
build:asan --linkopt -fsanitize=address | |
build:asan --@libjpeg_turbo//:noasm=yes | |
# Memory sanitizer | |
# CC=clang bazel build --config msan | |
build:msan --strip=never | |
build:msan --copt -fsanitize=memory | |
build:msan --copt -DMEMORY_SANITIZER | |
build:msan --copt -g | |
build:msan --copt -O3 | |
build:msan --copt -fno-omit-frame-pointer | |
build:msan --linkopt -fsanitize=memory | |
# Undefined Behavior Sanitizer | |
# CC=clang bazel build --config ubsan | |
build:ubsan --strip=never | |
build:ubsan --copt -fsanitize=undefined | |
build:ubsan --copt -DUNDEFINED_BEHAVIOR_SANITIZER | |
build:ubsan --copt -g | |
build:ubsan --copt -O3 | |
build:ubsan --copt -fno-omit-frame-pointer | |
build:ubsan --linkopt -fsanitize=undefined | |
build:ubsan --linkopt -lubsan | |
# Disable TFRT integration for now unless --config=tfrt is specified. | |
build --deleted_packages=tensorflow/compiler/mlir/tfrt,tensorflow/compiler/mlir/tfrt/benchmarks,tensorflow/compiler/mlir/tfrt/jit/python_binding,tensorflow/compiler/mlir/tfrt/jit/transforms,tensorflow/compiler/mlir/tfrt/python_tests,tensorflow/compiler/mlir/tfrt/tests,tensorflow/compiler/mlir/tfrt/tests/ir,tensorflow/compiler/mlir/tfrt/tests/analysis,tensorflow/compiler/mlir/tfrt/tests/jit,tensorflow/compiler/mlir/tfrt/tests/lhlo_to_tfrt,tensorflow/compiler/mlir/tfrt/tests/lhlo_to_jitrt,tensorflow/compiler/mlir/tfrt/tests/tf_to_corert,tensorflow/compiler/mlir/tfrt/tests/tf_to_tfrt_data,tensorflow/compiler/mlir/tfrt/tests/saved_model,tensorflow/compiler/mlir/tfrt/transforms/lhlo_gpu_to_tfrt_gpu,tensorflow/core/runtime_fallback,tensorflow/core/runtime_fallback/conversion,tensorflow/core/runtime_fallback/kernel,tensorflow/core/runtime_fallback/opdefs,tensorflow/core/runtime_fallback/runtime,tensorflow/core/runtime_fallback/util,tensorflow/core/tfrt/eager,tensorflow/core/tfrt/eager/backends/cpu,tensorflow/core/tfrt/eager/backends/gpu,tensorflow/core/tfrt/eager/core_runtime,tensorflow/core/tfrt/eager/cpp_tests/core_runtime,tensorflow/core/tfrt/gpu,tensorflow/core/tfrt/run_handler_thread_pool,tensorflow/core/tfrt/runtime,tensorflow/core/tfrt/saved_model,tensorflow/core/tfrt/graph_executor,tensorflow/core/tfrt/saved_model/tests,tensorflow/core/tfrt/tpu,tensorflow/core/tfrt/utils,tensorflow/core/tfrt/utils/debug | |
# TODO(b/240450920): We are in the process of migrating JitRt backend to XLA | |
# and while we are doing this we can't keep it buildable/testable in OSS. | |
build:tfrt --deleted_packages=tensorflow/compiler/mlir/tfrt,tensorflow/compiler/mlir/tfrt/benchmarks,tensorflow/compiler/mlir/tfrt/jit/python_binding,tensorflow/compiler/mlir/tfrt/jit/transforms,tensorflow/compiler/mlir/tfrt/python_tests,tensorflow/compiler/mlir/tfrt/tests,tensorflow/compiler/mlir/tfrt/tests/ir,tensorflow/compiler/mlir/tfrt/tests/analysis,tensorflow/compiler/mlir/tfrt/tests/jit,tensorflow/compiler/mlir/tfrt/tests/lhlo_to_tfrt,tensorflow/compiler/mlir/tfrt/tests/lhlo_to_jitrt,tensorflow/compiler/mlir/tfrt/tests/tf_to_corert,tensorflow/compiler/mlir/tfrt/tests/tf_to_tfrt_data,tensorflow/compiler/mlir/tfrt/tests/saved_model,tensorflow/compiler/mlir/tfrt/transforms/lhlo_gpu_to_tfrt_gpu,tensorflow/core/runtime_fallback,tensorflow/core/runtime_fallback/conversion,tensorflow/core/runtime_fallback/kernel,tensorflow/core/runtime_fallback/opdefs,tensorflow/core/runtime_fallback/runtime,tensorflow/core/runtime_fallback/util,tensorflow/core/tfrt/eager,tensorflow/core/tfrt/eager/backends/cpu,tensorflow/core/tfrt/eager/backends/gpu,tensorflow/core/tfrt/eager/core_runtime,tensorflow/core/tfrt/eager/cpp_tests/core_runtime,tensorflow/core/tfrt/gpu,tensorflow/core/tfrt/run_handler_thread_pool,tensorflow/core/tfrt/runtime,tensorflow/core/tfrt/saved_model,tensorflow/core/tfrt/graph_executor,tensorflow/core/tfrt/saved_model/tests,tensorflow/core/tfrt/tpu,tensorflow/core/tfrt/utils,tensorflow/core/tfrt/utils/debug | |
# TF Fuzztest config | |
try-import fuzztest.bazelrc | |
run:tf_fuzztest --config=fuzztest | |
# Should aim to remove these | |
build:tf_fuzztest --action_env=CC=clang | |
build:tf_fuzztest --action_env=CXX=clang++ | |
build:tf_fuzztest --spawn_strategy=sandboxed | |
build:tf_fuzztest --config=monolithic | |
build:tf_fuzztest --@libjpeg_turbo//:noasm=yes |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment