############################################################################ # All default build options below. # Required by OpenXLA # https://github.com/openxla/xla/issues/1323 build --nocheck_visibility # Sets the default Apple platform to macOS. build --apple_platform_type=macos build --macos_minimum_os=10.14 # Make Bazel print out all options from rc files. build --announce_rc build --define open_source_build=true build --spawn_strategy=standalone build --enable_platform_specific_config build --experimental_cc_shared_library # Disable enabled-by-default TensorFlow features that we don't care about. build --define=no_aws_support=true build --define=no_gcp_support=true build --define=no_hdfs_support=true build --define=no_kafka_support=true build --define=no_ignite_support=true build --define=grpc_no_ares=true build --define=tsl_link_protobuf=true build -c opt build --config=short_logs build --copt=-DMLIR_PYTHON_PACKAGE_PREFIX=jaxlib.mlir. # Later Bazel flag values override earlier values; if CUDA/ROCM/TPU are enabled, # these values are overridden. build --@xla//xla/python:enable_gpu=false build --@xla//xla/python:enable_tpu=false ########################################################################### build:posix --copt=-fvisibility=hidden build:posix --copt=-Wno-sign-compare build:posix --cxxopt=-std=c++17 build:posix --host_cxxopt=-std=c++17 build:avx_posix --copt=-mavx build:avx_posix --host_copt=-mavx build:avx_windows --copt=/arch=AVX build:avx_linux --copt=-mavx build:avx_linux --host_copt=-mavx build:native_arch_posix --copt=-march=native build:native_arch_posix --host_copt=-march=native build:mkl_open_source_only --define=tensorflow_mkldnn_contraction_kernel=1 build:cuda --repo_env TF_NEED_CUDA=1 # "sm" means we emit only cubin, which is forward compatible within a GPU generation. # "compute" means we emit both cubin and PTX, which is larger but also forward compatible to future GPU generations. build:cuda --action_env TF_CUDA_COMPUTE_CAPABILITIES="sm_52,sm_60,sm_70,sm_80,compute_90" build:cuda --crosstool_top=@local_config_cuda//crosstool:toolchain build:cuda --@local_config_cuda//:enable_cuda build:cuda --@xla//xla/python:enable_gpu=true build:cuda --@xla//xla/python:jax_cuda_pip_rpaths=true build:cuda --define=xla_python_enable_gpu=true build:rocm --crosstool_top=@local_config_rocm//crosstool:toolchain build:rocm --define=using_rocm=true --define=using_rocm_hipcc=true build:rocm --@xla//xla/python:enable_gpu=true build:rocm --define=xla_python_enable_gpu=true build:rocm --repo_env TF_NEED_ROCM=1 build:rocm --action_env TF_ROCM_AMDGPU_TARGETS="gfx900,gfx906,gfx908,gfx90a,gfx1030" build:nonccl --define=no_nccl_support=true # 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 # 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 # https://devblogs.microsoft.com/cppblog/announcing-full-support-for-a-c-c-conformant-preprocessor-in-msvc/ # otherwise, there will be some compiling error due to preprocessing. build:windows --copt=/Zc:preprocessor build:windows --cxxopt=/std:c++17 build:windows --host_cxxopt=/std:c++17 # Generate PDB files, to generate useful PDBs, in opt compilation_mode # --copt /Z7 is needed. 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 build:windows --incompatible_strict_action_env=true build:linux --config=posix build:linux --copt=-Wno-unknown-warning-option # Workaround for gcc 10+ warnings related to upb. # See https://github.com/tensorflow/tensorflow/issues/39467 build:linux --copt=-Wno-stringop-truncation build:linux --copt=-Wno-array-parameter build:macos --config=posix # Suppress all warning messages. build:short_logs --output_filter=DONT_MATCH_ANYTHING build:tpu --@xla//xla/python:enable_tpu=true build:tpu --define=with_tpu_support=true ######################################################################### # RBE config options below. # 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=200 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 --config=rbe build:rbe_linux --action_env=PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/go/bin" build:rbe_linux --host_javabase=@bazel_toolchains//configs/ubuntu16_04_clang/1.1:jdk8 build:rbe_linux --javabase=@bazel_toolchains//configs/ubuntu16_04_clang/1.1:jdk8 build:rbe_linux --host_java_toolchain=@bazel_tools//tools/jdk:toolchain_hostjdk8 build:rbe_linux --java_toolchain=@bazel_tools//tools/jdk:toolchain_hostjdk8 # Non-rbe settings we should include because we do not run configure build:rbe_linux --config=avx_linux 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 --config=rbe_linux build:rbe_cpu_linux_base --host_crosstool_top="@ubuntu20.04-gcc9_manylinux2014-cuda11.8-cudnn8.6-tensorrt8.4_config_cuda//crosstool:toolchain" build:rbe_cpu_linux_base --crosstool_top="@ubuntu20.04-gcc9_manylinux2014-cuda11.8-cudnn8.6-tensorrt8.4_config_cuda//crosstool:toolchain" build:rbe_cpu_linux_base --extra_toolchains="@ubuntu20.04-gcc9_manylinux2014-cuda11.8-cudnn8.6-tensorrt8.4_config_cuda//crosstool:toolchain-linux-x86_64" build:rbe_cpu_linux_base --extra_execution_platforms="@ubuntu20.04-gcc9_manylinux2014-cuda11.8-cudnn8.6-tensorrt8.4_config_platform//:platform" build:rbe_cpu_linux_base --host_platform="@ubuntu20.04-gcc9_manylinux2014-cuda11.8-cudnn8.6-tensorrt8.4_config_platform//:platform" build:rbe_cpu_linux_base --platforms="@ubuntu20.04-gcc9_manylinux2014-cuda11.8-cudnn8.6-tensorrt8.4_config_platform//:platform" build:rbe_cpu_linux_py38 --config=rbe_cpu_linux_base --repo_env=TF_PYTHON_CONFIG_REPO="@ubuntu20.04-gcc9_manylinux2014-cuda11.8-cudnn8.6-tensorrt8.4_config_python3.8" build:rbe_cpu_linux_py38 --python_path="/usr/local/bin/python3.8" build:rbe_cpu_linux_py39 --config=rbe_cpu_linux_base --repo_env=TF_PYTHON_CONFIG_REPO="@ubuntu20.04-gcc9_manylinux2014-cuda11.8-cudnn8.6-tensorrt8.4_config_python3.9" build:rbe_cpu_linux_py39 --python_path="/usr/local/bin/python3.9" build:rbe_cpu_linux_py310 --config=rbe_cpu_linux_base --repo_env=TF_PYTHON_CONFIG_REPO="@ubuntu20.04-gcc9_manylinux2014-cuda11.8-cudnn8.6-tensorrt8.4_config_python3.10" build:rbe_cpu_linux_py310 --python_path="/usr/local/bin/python3.10" build:rbe_cpu_linux_py311 --config=rbe_cpu_linux_base --repo_env=TF_PYTHON_CONFIG_REPO="@ubuntu20.04-gcc9_manylinux2014-cuda11.8-cudnn8.6-tensorrt8.4_config_python3.11" build:rbe_cpu_linux_py311 --python_path="/usr/local/bin/python3.11" build:rbe_linux_cuda_base --config=rbe_linux build:rbe_linux_cuda_base --config=cuda build:rbe_linux_cuda_base --repo_env=REMOTE_GPU_TESTING=1 build:rbe_linux_cuda11.8_nvcc_base --config=rbe_linux_cuda_base build:rbe_linux_cuda11.8_nvcc_base --action_env=TF_CUDA_VERSION=11 build:rbe_linux_cuda11.8_nvcc_base --action_env=TF_CUDNN_VERSION=8 build:rbe_linux_cuda11.8_nvcc_base --action_env=CUDA_TOOLKIT_PATH="/usr/local/cuda-11.8" build:rbe_linux_cuda11.8_nvcc_base --action_env=LD_LIBRARY_PATH="/usr/local/cuda:/usr/local/cuda/lib64:/usr/local/cuda/extras/CUPTI/lib64:/usr/local/tensorrt/lib" build:rbe_linux_cuda11.8_nvcc_base --action_env=GCC_HOST_COMPILER_PATH="/dt9/usr/bin/gcc" build:rbe_linux_cuda11.8_nvcc_base --host_crosstool_top="@ubuntu20.04-gcc9_manylinux2014-cuda11.8-cudnn8.6-tensorrt8.4_config_cuda//crosstool:toolchain" build:rbe_linux_cuda11.8_nvcc_base --crosstool_top="@ubuntu20.04-gcc9_manylinux2014-cuda11.8-cudnn8.6-tensorrt8.4_config_cuda//crosstool:toolchain" build:rbe_linux_cuda11.8_nvcc_base --extra_toolchains="@ubuntu20.04-gcc9_manylinux2014-cuda11.8-cudnn8.6-tensorrt8.4_config_cuda//crosstool:toolchain-linux-x86_64" build:rbe_linux_cuda11.8_nvcc_base --extra_execution_platforms="@ubuntu20.04-gcc9_manylinux2014-cuda11.8-cudnn8.6-tensorrt8.4_config_platform//:platform" build:rbe_linux_cuda11.8_nvcc_base --host_platform="@ubuntu20.04-gcc9_manylinux2014-cuda11.8-cudnn8.6-tensorrt8.4_config_platform//:platform" build:rbe_linux_cuda11.8_nvcc_base --platforms="@ubuntu20.04-gcc9_manylinux2014-cuda11.8-cudnn8.6-tensorrt8.4_config_platform//:platform" build:rbe_linux_cuda11.8_nvcc_base --repo_env=TF_CUDA_CONFIG_REPO="@ubuntu20.04-gcc9_manylinux2014-cuda11.8-cudnn8.6-tensorrt8.4_config_cuda" build:rbe_linux_cuda11.8_nvcc_base --repo_env=TF_TENSORRT_CONFIG_REPO="@ubuntu20.04-gcc9_manylinux2014-cuda11.8-cudnn8.6-tensorrt8.4_config_tensorrt" build:rbe_linux_cuda11.8_nvcc_base --repo_env=TF_NCCL_CONFIG_REPO="@ubuntu20.04-gcc9_manylinux2014-cuda11.8-cudnn8.6-tensorrt8.4_config_nccl" build:rbe_linux_cuda11.8_nvcc_py3.9 --config=rbe_linux_cuda11.8_nvcc_base --repo_env=TF_PYTHON_CONFIG_REPO="@ubuntu20.04-gcc9_manylinux2014-cuda11.8-cudnn8.6-tensorrt8.4_config_python3.9" build:rbe_linux_cuda11.8_nvcc_py3.9 --python_path="/usr/local/bin/python3.9" build:rbe_linux_cuda11.8_nvcc_py3.10 --config=rbe_linux_cuda11.8_nvcc_base --repo_env=TF_PYTHON_CONFIG_REPO="@ubuntu20.04-gcc9_manylinux2014-cuda11.8-cudnn8.6-tensorrt8.4_config_python3.10" build:rbe_linux_cuda11.8_nvcc_py3.10 --python_path="/usr/local/bin/python3.10" build:rbe_linux_cuda11.8_nvcc_py3.11 --config=rbe_linux_cuda11.8_nvcc_base --repo_env=TF_PYTHON_CONFIG_REPO="@ubuntu20.04-gcc9_manylinux2014-cuda11.8-cudnn8.6-tensorrt8.4_config_python3.11" build:rbe_linux_cuda11.8_nvcc_py3.11 --python_path="/usr/local/bin/python3.11" build:rbe_linux_cuda12.0.1_nvcc_base --config=rbe_linux_cuda_base build:rbe_linux_cuda12.0.1_nvcc_base --action_env=TF_CUDA_VERSION=12 build:rbe_linux_cuda12.0.1_nvcc_base --action_env=TF_CUDNN_VERSION=8 build:rbe_linux_cuda12.0.1_nvcc_base --action_env=CUDA_TOOLKIT_PATH="/usr/local/cuda-12" build:rbe_linux_cuda12.0.1_nvcc_base --action_env=LD_LIBRARY_PATH="/usr/local/cuda:/usr/local/cuda/lib64:/usr/local/cuda/extras/CUPTI/lib64:/usr/local/tensorrt/lib" build:rbe_linux_cuda12.0.1_nvcc_base --action_env=GCC_HOST_COMPILER_PATH="/dt9/usr/bin/gcc" build:rbe_linux_cuda12.0.1_nvcc_base --host_crosstool_top="@ubuntu20.04-gcc9_manylinux2014-cuda12.0.1-cudnn8.8_config_cuda//crosstool:toolchain" build:rbe_linux_cuda12.0.1_nvcc_base --crosstool_top="@ubuntu20.04-gcc9_manylinux2014-cuda12.0.1-cudnn8.8_config_cuda//crosstool:toolchain" build:rbe_linux_cuda12.0.1_nvcc_base --extra_toolchains="@ubuntu20.04-gcc9_manylinux2014-cuda12.0.1-cudnn8.8_config_cuda//crosstool:toolchain-linux-x86_64" build:rbe_linux_cuda12.0.1_nvcc_base --extra_execution_platforms="@ubuntu20.04-gcc9_manylinux2014-cuda12.0.1-cudnn8.8_config_platform//:platform" build:rbe_linux_cuda12.0.1_nvcc_base --host_platform="@ubuntu20.04-gcc9_manylinux2014-cuda12.0.1-cudnn8.8_config_platform//:platform" build:rbe_linux_cuda12.0.1_nvcc_base --platforms="@ubuntu20.04-gcc9_manylinux2014-cuda12.0.1-cudnn8.8_config_platform//:platform" build:rbe_linux_cuda12.0.1_nvcc_base --repo_env=TF_CUDA_CONFIG_REPO="@ubuntu20.04-gcc9_manylinux2014-cuda12.0.1-cudnn8.8_config_cuda" build:rbe_linux_cuda12.0.1_nvcc_base --repo_env=TF_NCCL_CONFIG_REPO="@ubuntu20.04-gcc9_manylinux2014-cuda12.0.1-cudnn8.8_config_nccl" build:rbe_linux_cuda12.0.1_nvcc_py3.9 --config=rbe_linux_cuda12.0.1_nvcc_base --repo_env=TF_PYTHON_CONFIG_REPO="@ubuntu20.04-gcc9_manylinux2014-cuda12.0.1-cudnn8.8_config_python3.9" build:rbe_linux_cuda12.0.1_nvcc_py3.9 --python_path="/usr/local/bin/python3.9" build:rbe_linux_cuda12.0.1_nvcc_py3.10 --config=rbe_linux_cuda12.0.1_nvcc_base --repo_env=TF_PYTHON_CONFIG_REPO="@ubuntu20.04-gcc9_manylinux2014-cuda12.0.1-cudnn8.8_config_python3.10" build:rbe_linux_cuda12.0.1_nvcc_py3.10 --python_path="/usr/local/bin/python3.10" build:rbe_linux_cuda12.0.1_nvcc_py3.11 --config=rbe_linux_cuda12.0.1_nvcc_base --repo_env=TF_PYTHON_CONFIG_REPO="@ubuntu20.04-gcc9_manylinux2014-cuda12.0.1-cudnn8.8_config_python3.11" build:rbe_linux_cuda12.0.1_nvcc_py3.11 --python_path="/usr/local/bin/python3.11" # 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 ############################################################################# ############################################################################# # Some configs to make getting some forms of debug builds. In general, the # codebase is only regularly built with optimizations. Use 'debug_symbols' to # just get symbols for the parts of XLA/PJRT that jaxlib uses. # Or try 'debug' to get a build with assertions enabled and minimal # optimizations. # Include these in a local .bazelrc.user file as: # build --config=debug_symbols # Or: # build --config=debug # # Additional files can be opted in for debug symbols by adding patterns # to a per_file_copt similar to below. ############################################################################# build:debug_symbols --strip=never --per_file_copt="xla/pjrt|xla/python@-g3" build:debug --config debug_symbols -c fastbuild # Load `.jax_configure.bazelrc` file written by build.py try-import %workspace%/.jax_configure.bazelrc # Load rc file with user-specific options. try-import %workspace%/.bazelrc.user