# 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. # For now, to more easily identify bugs, this is turned on by default. debug_assert = True 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) use_dynamic_shapes = os.getenv("AOT_DYNAMIC_SHAPES", 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__])