| # Copyright (c) Facebook, Inc. and its affiliates. |
| # All rights reserved. |
| # |
| # This source code is licensed under the BSD-style license found in the |
| # LICENSE file in the root directory of this source tree. |
| |
| """ |
| Global flags for aot autograd |
| """ |
| import os |
| import sys |
| import logging |
| |
| use_functionalize = True |
| |
| use_fake_tensor = True |
| |
| # can be useful for debugging if we are incorrectly creating meta fake tensors |
| fake_tensor_allow_meta = os.environ.get("FAKE_ALLOW_META", True) |
| |
| # Enables optional asserts in hotpath code to check for errors. If |
| # you are seeing weird accuracy problems, try turning this on. |
| # This is currently off by default as it will harm tracing time, |
| # but it is on by default for aot_eager. |
| debug_assert = False |
| |
| debug_fake_cross_ref = os.environ.get("AOT_FAKE_CROSSREF", False) |
| |
| debug_partitioner = os.environ.get("AOT_PARTITIONER_DEBUG", False) |
| # Prints out forward + backwards FX graphs |
| debug_graphs = os.environ.get("AOT_FX_GRAPHS", False) |
| # Prints out joint graph traced, before partitioning |
| debug_joint = os.environ.get("AOT_FX_GRAPHS_JOINT", False) |
| |
| static_weight_shapes = True |
| |
| # Applies CSE to the graph before partitioning |
| cse = True |
| |
| # Restricts the amount of computation AOTAutograd can do. |
| max_dist_from_bw = 3 |
| |
| log_level = ( |
| logging.DEBUG if debug_partitioner or debug_graphs or debug_joint else logging.INFO |
| ) |
| |
| from .._dynamo.config_utils import install_config_module |
| |
| # adds patch, save_config, invalid config checks, etc |
| install_config_module(sys.modules[__name__]) |