| build --cxxopt=--std=c++14 |
| build --copt=-I. |
| # Bazel does not support including its cc_library targets as system |
| # headers. We work around this for generated code |
| # (e.g. c10/macros/cmake_macros.h) by making the generated directory a |
| # system include path. |
| build --copt=-isystem --copt bazel-out/k8-fastbuild/bin |
| build --copt=-isystem --copt bazel-out/darwin-fastbuild/bin |
| build --experimental_ui_max_stdouterr_bytes=2048576 |
| |
| # Configuration to disable tty features for environments like CI |
| build:no-tty --curses no |
| build:no-tty --progress_report_interval 10 |
| build:no-tty --show_progress_rate_limit 10 |
| |
| # Build with GPU support by default. |
| build --define=cuda=true |
| # rules_cuda configuration |
| build --@rules_cuda//cuda:enable_cuda |
| build --@rules_cuda//cuda:cuda_targets=sm_52 |
| build --@rules_cuda//cuda:compiler=nvcc |
| build --repo_env=CUDA_PATH=/usr/local/cuda |
| |
| # Configuration to build without GPU support |
| build:cpu-only --define=cuda=false |
| # define a separate build folder for faster switching between configs |
| build:cpu-only --platform_suffix=-cpu-only |
| # See the note on the config-less build for details about why we are |
| # doing this. We must also do it for the "-cpu-only" platform suffix. |
| build --copt=-isystem --copt=bazel-out/k8-fastbuild-cpu-only/bin |
| # rules_cuda configuration |
| build:cpu-only --@rules_cuda//cuda:enable_cuda=False |
| |
| # Definition of --config=shell |
| # interactive shell immediately before execution |
| build:shell --run_under="//tools/bazel_tools:shellwrap" |
| |
| # Disable all warnings for external repositories. We don't care about |
| # their warnings. |
| build --per_file_copt=^external/@-w |
| |
| # Set additional warnings to error level. |
| # |
| # Implementation notes: |
| # * we use file extensions to determine if we are using the C++ |
| # compiler or the cuda compiler |
| # * we use ^// at the start of the regex to only permit matching |
| # PyTorch files. This excludes external repos. |
| # |
| # Note that because this is logically a command-line flag, it is |
| # considered the word on what warnings are enabled. This has the |
| # unfortunate consequence of preventing us from disabling an error at |
| # the target level because those flags will come before these flags in |
| # the action invocation. Instead we provide per-file exceptions after |
| # this. |
| # |
| # On the bright side, this means we don't have to more broadly apply |
| # the exceptions to an entire target. |
| # |
| # Looking for CUDA flags? We have a cu_library macro that we can edit |
| # directly. Look in //tools/rules:cu.bzl for details. Editing the |
| # macro over this has the following advantages: |
| # * making changes does not require discarding the Bazel analysis |
| # cache |
| # * it allows for selective overrides on individual targets since the |
| # macro-level opts will come earlier than target level overrides |
| |
| build --per_file_copt='^//.*\.(cpp|cc)$'@-Werror=all |
| # The following warnings come from -Wall. We downgrade them from error |
| # to warnings here. |
| # |
| # sign-compare has a tremendous amount of violations in the |
| # codebase. It will be a lot of work to fix them, just disable it for |
| # now. |
| build --per_file_copt='^//.*\.(cpp|cc)$'@-Wno-sign-compare |
| # We intentionally use #pragma unroll, which is compiler specific. |
| build --per_file_copt='^//.*\.(cpp|cc)$'@-Wno-error=unknown-pragmas |
| |
| build --per_file_copt='^//.*\.(cpp|cc)$'@-Werror=extra |
| # The following warnings come from -Wextra. We downgrade them from error |
| # to warnings here. |
| # |
| # unused-parameter-compare has a tremendous amount of violations in the |
| # codebase. It will be a lot of work to fix them, just disable it for |
| # now. |
| build --per_file_copt='^//.*\.(cpp|cc)$'@-Wno-unused-parameter |
| # missing-field-parameters has both a large number of violations in |
| # the codebase, but it also is used pervasively in the Python C |
| # API. There are a couple of catches though: |
| # * we use multiple versions of the Python API and hence have |
| # potentially multiple different versions of each relevant |
| # struct. They may have different numbers of fields. It will be |
| # unwieldy to support multiple versions in the same source file. |
| # * Python itself for many of these structs recommends only |
| # initializing a subset of the fields. We should respect the API |
| # usage conventions of our dependencies. |
| # |
| # Hence, we just disable this warning altogether. We may want to clean |
| # up some of the clear-cut cases that could be risky, but we still |
| # likely want to have this disabled for the most part. |
| build --per_file_copt='^//.*\.(cpp|cc)$'@-Wno-missing-field-initializers |
| |
| build --per_file_copt='//:aten/src/ATen/RegisterCompositeExplicitAutograd\.cpp$'@-Wno-error=unused-function |
| build --per_file_copt='//:aten/src/ATen/RegisterCompositeImplicitAutograd\.cpp$'@-Wno-error=unused-function |
| build --per_file_copt='//:aten/src/ATen/RegisterMkldnnCPU\.cpp$'@-Wno-error=unused-function |
| build --per_file_copt='//:aten/src/ATen/RegisterNestedTensorCPU\.cpp$'@-Wno-error=unused-function |
| build --per_file_copt='//:aten/src/ATen/RegisterQuantizedCPU\.cpp$'@-Wno-error=unused-function |
| build --per_file_copt='//:aten/src/ATen/RegisterSparseCPU\.cpp$'@-Wno-error=unused-function |
| build --per_file_copt='//:aten/src/ATen/RegisterSparseCsrCPU\.cpp$'@-Wno-error=unused-function |
| build --per_file_copt='//:aten/src/ATen/RegisterNestedTensorMeta\.cpp$'@-Wno-error=unused-function |
| build --per_file_copt='//:aten/src/ATen/RegisterSparseMeta\.cpp$'@-Wno-error=unused-function |
| build --per_file_copt='//:aten/src/ATen/RegisterQuantizedMeta\.cpp$'@-Wno-error=unused-function |
| build --per_file_copt='//:aten/src/ATen/RegisterZeroTensor\.cpp$'@-Wno-error=unused-function |
| build --per_file_copt='//:torch/csrc/lazy/generated/RegisterAutogradLazy\.cpp$'@-Wno-error=unused-function |
| build --per_file_copt='//:torch/csrc/lazy/generated/RegisterLazy\.cpp$'@-Wno-error=unused-function |