Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion .bazelrc
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,8 @@ build:cuda_clang --host_copt=-Wno-error=unused-command-line-argument
build:cuda_clang --repo_env TF_NEED_TENSORRT=0
build:cuda_clang --action_env=TF_CUDA_CLANG="1"
build:cuda_clang --@local_config_cuda//:cuda_compiler=clang
build:cuda_clang --repo_env=TF_CUDA_COMPUTE_CAPABILITIES="sm_60,sm_70,sm_80,sm_89,compute_90"
build:cuda_clang --repo_env=TF_CUDA_COMPUTE_CAPABILITIES="sm_80,sm_89,compute_90"
build:cuda_clang --copt=-Dtypeof=__typeof__

common:cuda_clang --repo_env=HERMETIC_CUDA_VERSION="12.5.1"
common:cuda_clang --repo_env=HERMETIC_CUDNN_VERSION="9.3.0"
Expand Down
7 changes: 5 additions & 2 deletions WORKSPACE
Original file line number Diff line number Diff line change
Expand Up @@ -24,8 +24,8 @@ local_repository(
load("//tensorflow_serving:repo.bzl", "tensorflow_http_archive")
tensorflow_http_archive(
name = "org_tensorflow",
sha256 = "54bfd56d61dfced2b82bdeee3262a24fb3d59bed4dbb292d19834af002d85b3b",
git_commit = "c1be979f3130b85f14e8890c05cbca147784f474",
sha256 = "582f5dc1c0887ca5b2eb364dc39e0c15fd31ee138b250e24163b6eca340f701f",
git_commit = "d875953b4fd431c15fedb1d408d5396e7f9d4d23",
patch = "//third_party/tensorflow:tensorflow.patch",
patch_cmds = [
"sed -i '/cc_library = _cc_library/d' tensorflow/core/platform/rules_cc.bzl",
Expand Down Expand Up @@ -120,6 +120,9 @@ http_archive(
"https://storage.googleapis.com/mirror.tensorflow.org/github.com/google-ml-infra/rules_ml_toolchain/archive/398d613aea7a4c294da49b79a6d6f3f8732bd84c.tar.gz",
"https://github.com/google-ml-infra/rules_ml_toolchain/archive/398d613aea7a4c294da49b79a6d6f3f8732bd84c.tar.gz",
],
patch_cmds = [
"cat << 'EOF' >> cc/cuda/clang/clang_cuda_runtime_wrapper.h\n#if defined(__clang__) && defined(__CUDA__)\n#include <vector_types.h>\n#ifndef typeof\n#define typeof __typeof__\n#endif\n__device__ inline void __stwt(uint4* ptr, uint4 value) {\n asm volatile(\"st.global.wt.v4.u32 [%0], {%1, %2, %3, %4};\" : : \"l\"(ptr), \"r\"(value.x), \"r\"(value.y), \"r\"(value.z), \"r\"(value.w) : \"memory\");\n}\n#endif\nEOF",
],
)

load(
Expand Down
128 changes: 128 additions & 0 deletions tensorflow_serving/opensource_only/.bazelrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,128 @@
# Optimizations used for TF Serving release builds.
build:release --copt=-mavx
build:release --copt=-msse4.2

# Options used to build with CUDA.
build:cuda --repo_env TF_NEED_CUDA=1
build:cuda --crosstool_top=@local_config_cuda//crosstool:toolchain
build:cuda --@local_config_cuda//:enable_cuda

# Options used to build with CUDA clang
build:cuda_clang --config=cuda
build:cuda_clang --copt=-Wno-gnu-offsetof-extensions
build:cuda_clang --copt=-Wno-error=unused-command-line-argument
build --linkopt=-Wno-unused-command-line-argument
build --host_linkopt=-Wno-unused-command-line-argument
build:cuda_clang --host_copt=-Wno-error=unused-command-line-argument
build:cuda_clang --repo_env TF_NEED_TENSORRT=0
build:cuda_clang --action_env=TF_CUDA_CLANG="1"
build:cuda_clang --@local_config_cuda//:cuda_compiler=clang
build:cuda_clang --repo_env=TF_CUDA_COMPUTE_CAPABILITIES="sm_80,sm_89,compute_90"
build:cuda_clang --copt=-Dtypeof=__typeof__

common:cuda_clang --repo_env=HERMETIC_CUDA_VERSION="12.5.1"
common:cuda_clang --repo_env=HERMETIC_CUDNN_VERSION="9.3.0"
common:cuda_clang --repo_env=HERMETIC_NVSHMEM_VERSION="3.2.5"
common:cuda_clang --repo_env=HERMETIC_NCCL_VERSION="2.29.7"
build:cuda_clang --action_env=GCC_HOST_COMPILER_PATH="/usr/bin/gcc-10"
build:cuda_clang --action_env=CLANG_CUDA_COMPILER_PATH="/usr/lib/llvm-17/bin/clang"

# Options used to build with TPU support.
build:tpu --define=with_tpu_support=true --define=framework_shared_object=false
build:tpu --copt=-DLIBTPU_ON_GCE

# Please note that MKL on MacOS or windows 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 --define=build_with_openmp=false
build:mkl --define=tensorflow_mkldnn_contraction_kernel=0

# This config option is used to enable MKL-DNN open source library only,
# without depending on MKL binary version.
build:mkl_open_source_only --define=build_with_mkl_dnn_only=true
build:mkl_open_source_only --define=build_with_mkl=true --define=enable_mkl=true
build:mkl_open_source_only --define=tensorflow_mkldnn_contraction_kernel=0

# Config setting to build oneDNN with Compute Library for the Arm Architecture (ACL).
# This build is for the inference regime only.
build:mkl_aarch64 --define=build_with_mkl_aarch64=true --define=enable_mkl=true
build:mkl_aarch64 --define=tensorflow_mkldnn_contraction_kernel=0
build:mkl_aarch64 --define=build_with_mkl_opensource=true
build:mkl_aarch64 --define=build_with_openmp=true
build:mkl_aarch64 --copt=-march=armv8.2-a
build:mkl_aarch64 --copt=-O3

build --define=build_with_onednn_v2=true
build --define=xnn_enable_avxvnni=false
build --define=xnn_enable_avxvnniint8=false
build --define=xnn_enable_avx256vnnigfni=false
build --define=xnn_enable_avx512amx=false
build --define=xnn_enable_avx512fp16=false

# Processor native optimizations (depends on build host capabilities).
build:nativeopt --copt=-march=native
build:nativeopt --host_copt=-march=native
build:nativeopt --copt=-O3

build --keep_going
build --verbose_failures=true
build --spawn_strategy=standalone
build --genrule_strategy=standalone

build --define=grpc_no_ares=true

# Sets the default Apple platform to macOS.
build --apple_platform_type=macos

build -c opt

# LLVM, MLIR and TF requires C++17.
build --cxxopt=-std=c++17
build --host_cxxopt=-std=c++17

# Adding "--cxxopt=-D_GLIBCXX_USE_CXX11_ABI=0" creates parity with TF
# compilation options. It also addresses memory use due to
# copy-on-write semantics of std::strings of the older ABI.
build --cxxopt=-D_GLIBCXX_USE_CXX11_ABI=0

build --workspace_status_command=/proc/self/cwd/tools/gen_status_stamp.sh

build --experimental_repo_remote_exec

# TF now has `cc_shared_library` targets, so it needs the experimental flag
build --experimental_cc_shared_library

# Yggdrasil Decision Forests (internal library of TensorFlow Decision Forests)
# uses TensorFlow for all IO operations.
build --define=use_tensorflow_io=1

# TensorFlow Decision Forests does not use Absl concurrency primitives on MacOs.
# Reason: TensorFlow/ABSL ODR violation (b/214189609) # copybara:strip
build:macos --define std_synchronization_primitives=1

# Taken from https://github.com/openxla/xla/blob/99559d7a4f7c55490f46385ad29a3cbf9c3911af/warnings.bazelrc#L6
# We silence warnings for code in `external`.
build --per_file_copt=external/.*@-w
build --host_per_file_copt=external/.*@-w
build --copt=-Wno-macro-redefined # absl vs tsl logging clash
build --copt=-Wno-sign-compare # int as loop variable
build --copt=-Wno-deprecated-declarations
build --copt=-Wno-unused-but-set-variable # due to `ifdefs` in ml_dtypes

# Revert to the legacy WORKSPACE dependency resolution system
# and disable Bzlmod.
common --enable_bzlmod=false
common --incompatible_enable_cc_toolchain_resolution
common --repo_env USE_HERMETIC_CC_TOOLCHAIN=1
common --repo_env=HERMETIC_PYTHON_VERSION="3.10"
common --repo_env=USE_PYWRAP_RULES=1
build --features=-layering_check
build --define=framework_shared_object=false
build --dynamic_mode=off


common:clang_local --noincompatible_enable_cc_toolchain_resolution
common:clang_local --noincompatible_enable_android_toolchain_resolution
common:clang_local --@rules_ml_toolchain//cc_toolchain/config:enable_hermetic_cc=False
common:clang_local --repo_env USE_HERMETIC_CC_TOOLCHAIN=0

Loading