U
    zh\N                     @   s  U d dl Z d dlZd dlZd dlZd dlZd dlZd dlmZmZ d dl	m
Z
mZmZmZmZmZmZmZ d dlZdd ZdZee ed< ejddd	kZd
ZdZdZdZdZd
ZdZ dZ!ejdd	d	kZ"dZ#dZ$dZ%dZ&d
Z'e rd
ndZ(dZ)e* Z+eee
  ed< e,ejdd
Z-ejddd	kZ.dZ/ejdd
Z0ejdd
Z1i Z2ee
e
f ed< dddddhZ3ejddZ4e5ejddZ6ejdd	kZ7dZ8ejd d	kZ9dZ:ejd!d	kZ;ejd"dd	kZ<d
Z=d
Z>d
Z?dZ@dZAee,ef ed#< ejd$dd	kZBe,ed%< d&d'd(d)gZCd*d+ ZDd
ZEdZFd
ZGdZHdZId
ZJdZKdZLd
ZMd
ZNdZOeeeeePZQdZRd
ZSd,ZTd-ZUd.ZVd
ZWejd/d	d	kZXejd0dd	kZYd1d2 ZZeZ Z[d3d4d5dhZ\d
Z]d
Z^d
Z_dZ`dZadZbe* Zceee
gdf  ed6< d
Zdd7d8d9d:d;gZeeefd<d= egejhD  ejd>d	d	kZiejd?dd	kZjd
Zkd
Zlerfd d@lmT dAdB Znd dClompZp epejqer  dS )D    N)abspathdirname)AnyCallableDictOptionalSetTypeTYPE_CHECKINGUnionc                   C   s   t tjd S )NZgit_version)hasattrtorchversion r   r   F/var/www/html/venv/lib/python3.8/site-packages/torch/_dynamo/config.py	is_fbcode   s    r   log_file_nameZTORCHDYNAMO_VERBOSE01F   T      Z#TORCH_COMPILE_USE_LAZY_GRAPH_MODULEtraceable_tensor_subclassesZTORCHDYNAMO_SUPPRESS_ERRORSZTORCH_COMPILE_REPLAY_RECORDZTORCH_COMPILE_DISABLEZTORCH_COMPILE_CPROFILE!skipfiles_inline_module_allowlistztorch.distributionsztorch.testingztorch._refsztorch._primsztorch._decompZTORCHDYNAMO_REPRO_AFTERZTORCHDYNAMO_REPRO_LEVEL   ZTORCHDYNAMO_REPRO_FORWARD_ONLYgMbP?ZTORCHDYNAMO_REPRO_IGNORE_NON_FPZ"TORCHDYNAMO_CAPTURE_SCALAR_OUTPUTSZ,TORCHDYNAMO_CAPTURE_DYNAMIC_OUTPUT_SHAPE_OPSoptimize_ddpZ(TORCH_DYNAMO_DO_NOT_EMIT_RUNTIME_ASSERTSdo_not_emit_runtime_assertsddp_optimizerZpython_reducerZ'python_reducer_without_compiled_forwardno_optimizationc                  C   sj   t jt } t| jtr(| jr"d}qNd}n&t| jtr<| j}ntdtt|| j	ksft
d||S )Nr   r   z!Invalid type, type(optimize_ddp)=zInvalid mode mode=)sysmodules__name__
isinstancer   boolstr
ValueErrortype_ddp_optimization_modeAssertionError)mmoder   r   r   _get_optimize_ddp_mode#  s    
r+   Zfloat64Z
complex128Zint64ZTORCHDYNAMO_CPP_GUARD_MANAGERZ%TORCHDYNAMO_INLINE_INBUILT_NN_MODULESc                  C   sV   d} | t jkr"t jt j|  dS t r@t jt t dS t jt 	 dS d S )NZTORCH_COMPILE_DEBUG_DIRZtorch_compile_debug)
osenvironpathjoinr   tempfile
gettempdirgetpassgetusergetcwd)ZDEBUG_DIR_VAR_NAMEr   r   r   default_debug_dir_rootw  s    
  r5   repro_afterrepro_levelZconstant_functionsreorderable_logging_functionsZstrideZrequires_gradZstorage_offsetZlayoutdatac                 C   s    g | ]\}}t d |r|qS )z^is_.*)rematch).0name_r   r   r   
<listcomp>  s      r?   Z TORCH_FAKE_TENSOR_DISPATCH_CACHEZ+TORCH_FAKE_TENSOR_DISPATCH_CACHE_CROSSCHECK)*c                  K   s   d S )Nr   )changesr   r   r   _make_closure_patcher  s    rB   )install_config_module)sr2   inspectr,   r:   r   r0   os.pathr   r   typingr   r   r   r   r   r	   r
   r   r   r   r   r$   __annotations__r-   getverboseZverify_correctnessZminimum_call_countZdead_code_eliminationZcache_size_limitZaccumulated_cache_size_limitZspecialize_intZspecialize_floatZdynamic_shapesZuse_lazy_graph_moduleZassume_static_by_defaultZautomatic_dynamic_shapesZforce_parameter_static_shapesZ&force_nn_module_property_static_shapesZallow_ignore_mark_dynamicZguard_nn_modulesZ guard_nn_modules_using_dict_tagssetr   r#   Zsuppress_errorsZreplay_record_enabledZ rewrite_assert_with_torch_assertdisableZcprofiler   Z*allowed_functions_module_string_ignorelistr6   intr7   Zrepro_forward_onlyZrepro_toleranceZrepro_ignore_non_fpZsame_two_models_use_fp64Zcapture_scalar_outputsZ capture_dynamic_output_shape_opsZ+prefer_deferred_runtime_asserts_over_guardsZ(_allow_complex_guards_as_runtime_assertsZ3force_unspec_int_unbacked_size_like_on_torchrec_kjtZenforce_cond_guards_matchr   r   r'   r+   Zoptimize_ddp_lazy_compileZskip_fsdp_guardsZskip_fsdp_hooksZskip_nnmodule_hook_guardsZraise_on_ctx_manager_usageZraise_on_unsafe_aot_autogradZerror_on_nested_jit_traceZerror_on_nested_fx_traceZ	allow_rnnZerror_on_recompileZreport_guard_failures__file__base_dirZtrace_numpyZtrace_distributedZnumpy_default_floatZnumpy_default_complexZnumpy_default_intZuse_numpy_random_streamZenable_cpp_guard_managerZinline_inbuilt_nn_modulesr5   Zdebug_dir_rootZ_save_config_ignoreZ%cudagraph_backend_keep_input_mutationZ(cudagraph_backend_support_input_mutationZonly_allow_pt2_compliant_opsZcapture_autograd_functionZcapture_func_transformsZlog_compilation_metricsr8   Z+inject_BUILD_SET_unimplemented_TESTING_ONLYZ)_autograd_backward_strict_mode_banned_opsextend
getmembersZTensorZfake_tensor_cache_enabledZ$fake_tensor_cache_crosscheck_enabledZ:_experimental_support_context_fn_in_torch_utils_checkpointZcompiled_autogradZtorch.utils._config_typingrB   Ztorch.utils._config_modulerC   r    r!   r   r   r   r   <module>   s    (

