ó
    Eñiìˆ ã                   ó %  • % S SK r S SKrS SKJr  S SKJrJrJrJrJ	r	J
r
  S SKrS SKrS SKJr  S SKJrJrJrJr  \	(       a  S SKJr  \ R,                  R/                  SS5      S:H  rS	rS
\\   4S jrS
\\   4S jrS
\\   4S jrS
\\   4S jrS
\\   4S jrS
\4S jr S
\4S jr!\ R,                  R/                  SS5      S:H  r"S	r#Sr$S	r%\" 5       (       a  SOSr&\'" \ R,                  R/                  SS5      5      r(\'\)S'   \" SSSSS9r*\\)S'   S	r+\\)S'   \" 5       r,\\   \)S'   \" 5       r-\\   \)S'   \" S S!SS"9r.\\)S#'   Sr/\\)S$'   \" 5       r0\\   \)S%'   \" 5       r1\\   \)S&'   \" S'S(9r2\\)S)'   S	r3\\)S*'   0 r4\5\6\64   \)S+'   Sr7\\'   \)S,'   S-r8\S.   \)S/'   \ R,                  R/                  S0S15      S:H  r9\\)S2'   \ R,                  R/                  S3S15      S:H  r:\\)S4'   \ R,                  R/                  S5S15      S:H  r;\\)S6'   \" 5       (       + r<\\)S7'   \ R,                  R/                  S8S5      S:H  r=\ R,                  R/                  S9S5      S:H  r>S	r?Sr@\ R,                  R/                  S:S5      S:H  rA\ R,                  R/                  S;5      S:H  rB\ R,                  R/                  S<5      S:H  rC\ R,                  R/                  S=S5      S:H  rD\ R,                  R/                  S>\" 5       (       a  S1OS5      S:H  rESrFSrGSrH\ R,                  R/                  S?S15      S:H  rI\ R,                  R/                  S@5      S:H  rJ\ R,                  R/                  SASB5      rK\SC   \)SD'   SrLSrM\!" 5       rNS	rOSrPS	rQSrR\R¦                  R¨                  Rª                  \)SE'   SrV\R¦                  R¨                  Rª                  \)SF'   SrW\R¦                  R¨                  R°                  \)SG'   SrY\R¦                  R¨                  Rª                  \)SH'   SrZ\R¦                  R¨                  Rª                  \)SI'   Sr[\\\R¸                  Rº                  R¼                  /S4      \)SJ'   Sr_\\\`SK   /\`SK   4      \)SL'   Sra\\\`SK   /\`SK   4      \)SM'   SrbS	rcS	rdS	reSrf0 rg\5\6\5\6\4   4   \)SN'   0 rh\5\6\5\6\4   4   \)SO'   Sri\ R,                  R/                  SPS5      S:H  rjS	rkSrlS	SQSRSSS.rm\5\6\4   \)ST'   SUrn\SV   \)SW'   S	ro/ rp\`\
\6\\`SK   /\`SK   4   4      \)SX'   Srq\\'   \)SY'   SrrS	rsS rt\'\)SZ'   S[ru\S\   \)S]'   Srv\\\'/\'4      \)S^'   S[rw\S_   \)S`'   Srx\\\'/\'4      \)Sa'   S[ry\S_   \)Sb'   Srz\\\'/\'4      \)Sc'   Sdr{S	r|\\)Se'   Sr}Sfr~Sgr\" SShSiSj9r€\\)Sk'   \ R,                  R/                  Sl5      S:H  r�\ R,                  R/                  Sm5      S:H  r‚\ R,                  R/                  Sn5      S:H  rƒ\ R,                  R/                  So5      S:H  r„\ R,                  R/                  Sp5      S:H  r…\'" \ GR                  " SqSf5      5      r‡\'" \ GR                  " SrSs5      5      rˆS
\\'   4St jr‰\‰" 5       rŠ\\'   \)Su'   \ R,                  R/                  SvS5      S:H  r‹\ R,                  R/                  SwS15      S:H  rŒ\ R,                  R/                  SxS15      S:H  r�\ R,                  R/                  Sy\" 5       (       d  SOS15      S:H  rŽ\\)Sz'   / r�\`\6   \)S{'   / r�\`\6   \)S|'   S	r‘\\)S}'   \" S~SS	S"9r’\\)S€'   / r“\`\'   \)S�'   \ R,                  R/                  S‚Sƒ5      GR)                  5       r•S
\\'   4S„ jr–\–" 5       r—\\'   \)S…'   \ R,                  R/                  S†S‡5      GR)                  5       r˜\ R,                  R/                  SˆS‰5      GR)                  5       r™\SŠ   \)S‹'   \ R,                  R/                  SŒS‰5      GR)                  5       rš\SŠ   \)S�'   S	r›\\)SŽ'   S	rœ\\)S�'   Sr�\\)S�'   Srž\\)S‘'   SrŸ\\)S’'   Sr \\)S“'   \ R,                  R/                  S”S15      S:H  r¡\\)S•'   S	r¢S–r£S	r¤\ R,                  R/                  S—5      S:H  r¥\ R,                  R/                  S˜5      S:H  r¦S™r§Sšr¨Sšr©\ R,                  R/                  S›5      S:H  rª\'" \ R,                  R/                  SœS�5      5      r«\¬" \ R,                  R/                  SžSŸ5      5      r­\ R,                  R/                  S 5      S:H  r®\ R,                  R/                  S¡5      S:H  r¯\'" \ R,                  R/                  S¢S5      5      r°\ R,                  R/                  S£S¤5      r±\ R,                  R/                  S¥S¦5      r²\ R,                  R/                  S§S15      S:H  r³S¨\6S
\4S© jr´S¨\6S
\4Sª jrµS¨\6S
\4S« jr¶\ R,                  R/                  S¬S‰5      r·\GRp                  GRr                  (       d  SOS1rº\ R,                  R/                  S­\º5      S:H  r»\ R,                  R/                  S®S15      S:H  r¼\ R,                  R/                  S¯S5      S:H  r½\ R,                  R/                  S°5      S:H  r¾S±r¿S²rÀS³rÁSrÂ\\'   \)S´'   S	rÃS	rÄSrÅ\ R,                  R/                  Sµ5      S:H  rÆSrÇ\\/ S¶4      \)S·'   S	rÈ\ R,                  R/                  S¸5      S:H  rÉ\\)S¹'   \ R,                  R/                  Sº5      S:H  rÊ\\)S»'   \ R,                  R/                  S¼S¤5      rË\ R,                  R/                  S½\" 5       (       a  S1OS5      S:H  rÌ\\)S¾'   SrÍ\\)S¿'   SÀrÎ\ R,                  R/                  SÁS5      S:H  rÏSRrÐSÂrÑSÂrÒSrÓ\\'   \)SÃ'   S³rÔS	rÕS³rÖS	r×S	rØ\ GR                  " SÄS5      S:H  rÙ\ GR                  " SÅ5      S:H  rÚ\'" \ R,                  R/                  SÆS 5      5      rÛ\ R,                  R/                  SÇS15      S:H  rÜSrÝS	rÞSrßS	ràS	ráS	râSRrãSRräSråSÈræS	rçS	rèSréS	rêSÉ\GRÖ                  ;   =(       d    SÊ\GRÖ                  ;   rì\" 5       =(       d    \ìrí\ R,                  R/                  SËS5      S:H  rîSrï\\6   \)SÌ'   Srð\\6   \)SÍ'   \" SÎS¤SÏ9rñ\6\)SÐ'   S
\64SÑ jrò\ò" 5       ró\6\)SÒ'   SÓrô\'\)SÔ'   \" SÕSÖSS"9rõ\\)S×'   \" SØS	SÏ9rö\\)SÙ'   S	r÷SfrøSÚSÛ/rù\`\
\SÜ   \64      \)SÝ'   S	rú\\)SÞ'   \ R,                  R/                  SßS15      S:H  rûSàrü\'\)Sá'   Sârý\'\)Sã'   Särþ\¬\)Så'    " Sæ Sç5      rÿ " Sè Sé5      Gr S
\4Sê jGrS
\'4Së jGr\" 5       (       a  SOG\" 5       Gr\\'   \)Sì'   \" SíSîSS"9Gr\\)Sï'   \" SðSñ9Gr\'\)Sò'   \ " 5       Gr\\)Só'   \" SôS(9Gr\\)Sõ'   \" SöS÷S	S"9Gr\\)Sø'   \ R,                  R/                  SùS15      S:H  Gr	\\)Sú'   \" SûS(9Gr
\\)Sü'   \\6   \)Sý'   \" 5       (       ay   S SþGKGJGr  G\(       aP  G\GR                  " \ GR                  GR!                  G\GR#                  Sÿ\ GR$                  5      GS 5      5      GrOG\GR                  " GS 5      GrOSGrSÀGr\ R,                  R/                  GSS5      S:H  Gr\ R,                  R/                  GSS5      S:H  GrS	GrS	GrSGrS	GrSâGrGSGrS	GrSGr S	Gr!\\)GS'   \ R,                  R/                  GSS15      S:H  Gr"S	Gr#S	Gr$S	Gr%S	Gr&\" 5       (       + Gr'\\)GS'   \ R,                  R/                  GSS¤5      Gr(G\(S¤:g  Gr)G\(S:X  a  S¤OG\(Gr*\ R,                  R/                  GSS5      Gr+\\6   \)GS	'   \ R,                  R/                  GS
5      S:H  Gr,S	Gr-\ R,                  R/                  GSS15      S:H  Gr.\\)GS'   S	Gr/\\)GS'   S	Gr0\\)GS'   S	Gr1\\)GS'   S	Gr2\\)GS'   S	Gr3\\)GS'   S	Gr4\\)GS'   S	Gr5\\)GS'   S	Gr6\\)GS'   \ R,                  R/                  GSS15      S:H  Gr7\ R,                  R/                  GSS15      S:H  Gr8\\)GS'   SGr9\\)GS'   0 Gr:\5\6\5\6\4   4   \)GS'   \'" \ R,                  R/                  GSGS5      5      Gr;\'\)GS'   S	Gr<\\)GS'   S
\\6   4GS jGr=\" GSS¤SÏ9Gr>\6\)GS '    " GS! GS"5      Gr? " GS# GS$5      Gr@ " GS% GS&5      GrA " GS' GS(5      GrB " GS) GS*5      GrC " GS+ GS,5      GrD\" G\D5       " GS- GS.G\D5      5       GrE\" G\D5       " GS/ GS0G\D5      5       GrF " GS1 GS25      GrGGS$GrH\GS3   \)GS4'   GS&GrI\GS5   \)GS6'   GS7GrJ\GS7   \)GS8'   GS&GrK\GS&   \)GS9'    " GS: GS;5      GrL " GS< GS=5      GrM/ GS>QGrN\`\6   \)GS?'   / GS@QGrO\`\6   \)GSA'   / GrP\`\\GR¢                  \GR¢                  \GR¢                  /S4      \)GSB'   \ GR                  " GSCS5      S:H  GrR " GSD GSE5      GrS " GSF GSG5      GrT\	(       a  S GSHGKU7   " GSI GSJ5      GrV\ R,                  R/                  GSKS15      S:H  GrW\\)GSL'   \" \GR°                  G\Y   5        g! G\G\4 a    SGr GNf = f(M  é    N)ÚCallable)ÚAnyÚcastÚLiteralÚOptionalÚTYPE_CHECKINGÚUnion)Ú	is_fbcode)ÚConfigÚget_tristate_envÚinherit_fields_fromÚinstall_config_module)ÚInductorChoicesÚTORCHINDUCTOR_INPLACE_PADDINGÚ1FÚreturnc                  ó   • [        S5      $ )NÚ#TORCHINDUCTOR_FX_GRAPH_REMOTE_CACHE©r   © ó    ÚS/home/mande/repo/quber/.venv/lib/python3.13/site-packages/torch/_inductor/config.pyÚfx_graph_remote_cache_defaultr      ó   € ÜÐAÓBÐBr   c                  ó”   • [         R                  R                  S5      S:X  a  g[         R                  R                  S5      S:X  a  gg )NÚTORCHINDUCTOR_VEC_ISA_OKr   TÚ0F)ÚosÚenvironÚgetr   r   r   Úvec_isa_ok_defaultr!      s7   € Ü	‡z�z‡~�~Ð0Ó1°SÓ8ØÜ	‡z�z‡~�~Ð0Ó1°SÓ8ØØr   c                  ó   • [        S5      $ )NÚ#TORCHINDUCTOR_AUTOTUNE_REMOTE_CACHEr   r   r   r   Úautotune_remote_cache_defaultr$   $   r   r   c                  ó   • [        S5      $ )NÚ+TORCHINDUCTOR_BUNDLED_AUTOTUNE_REMOTE_CACHEr   r   r   r   Ú%bundled_autotune_remote_cache_defaultr'   (   s   € ÜÐIÓJÐJr   c                  óD   • [        S[        5       (       d  S5      $ S 5      $ )NÚ/TORCHINDUCTOR_BUNDLE_TRITON_INTO_FX_GRAPH_CACHET)r   r
   r   r   r   Ú)bundle_triton_into_fx_graph_cache_defaultr*   ,   s(   € ÜØ9Ü—K‘Kˆóð à%)óð r   c                  óØ   • Sn S[         R                  ;   a"  [         R                  R                  S5      S:H  $ [        5       (       a#  [        R
                  R                  S5      nX:*  $ g)Né   Ú&TORCHINDUCTOR_USE_STATIC_CUDA_LAUNCHERr   z-pytorch/inductor:static_cuda_launcher_versionT©r   r   r    r
   ÚtorchÚ_utils_internalÚjustknobs_getval_int)ÚSTATIC_CUDA_LAUNCHER_VERSIONÚversions     r   Ústatic_cuda_launcher_defaultr4   3   s]   € Ø#$Ð à/´2·:±:Ó=Ü�z‰z�~‰~ÐFÓGÈ3ÑNÐNÜ	�‰Ü×'Ñ'×<Ñ<Ø;ó
ˆð Ñ6Ð6ð r   c                  óÜ   • Sn S[         R                  ;   a"  [         R                  R                  S5      S:H  $ [        5       (       a%  Sn[        R
                  R                  U5      nX :*  $ g)Nr   ÚTORCHINDUCTOR_PROLOGUE_FUSIONr   z(pytorch/inductor:prologue_fusion_versionTr.   )ÚENABLE_PROLOGUE_FUSION_VERSIONÚjk_namer3   s      r   Úprologue_fusion_enabledr9   B   s[   € Ø%&Ð"à&¬"¯*©*Ó4Ü�z‰z�~‰~Ð=Ó>À#ÑEÐEÜ	�‰Ø<ˆÜ×'Ñ'×<Ñ<¸WÓEˆØÑ8Ð8àr   Ú"TORCHDYNAMO_AUTO_FUNCTIONALIZED_V2Tú-/logs/dedicated_log_torch_compile_worker_rankÚ,TORCHINDUCTOR_PRECOMPILATION_TIMEOUT_SECONDSi,  Úprecompilation_timeout_secondsz0pytorch/remote_cache:enable_local_fx_graph_cacheÚ$TORCHINDUCTOR_FX_GRAPH_CACHE_DEFAULTÚTORCHINDUCTOR_FX_GRAPH_CACHE)ÚjustknobÚenv_name_defaultÚenv_name_forceÚdefaultÚfx_graph_cacheÚremote_gemm_autotune_cacheÚfx_graph_remote_cacheÚ!bundle_triton_into_fx_graph_cachez>pytorch/remote_cache:enable_non_blocking_remote_cache_write_v2Ú-TORCHINDUCTOR_NON_BLOCKING_REMOTE_CACHE_WRITE)r@   rB   rC   Únon_blocking_remote_cache_writeÚautotune_local_cacheÚautotune_remote_cacheÚbundled_autotune_remote_cachez*torch.compiler.config.force_disable_caches)ÚaliasÚforce_disable_cachesÚ&unsafe_skip_cache_dynamic_shape_guardsÚ!unsafe_marked_cacheable_functionsÚsleep_sec_TESTING_ONLYÚneeds_fixed_stride_order)rR   Úflexible_layoutÚ'triton_kernel_default_layout_constraintÚTORCHINDUCTOR_CPP_WRAPPERr   Úcpp_wrapperÚ(TORCHINDUCTOR_CPP_WRAPPER_BUILD_SEPARATEÚcpp_wrapper_build_separateÚTORCHINDUCTOR_FX_WRAPPERÚ
fx_wrapperÚcpp_cache_precompile_headersÚTORCHINDUCTOR_ONLINE_SOFTMAXÚ$TORCHINDUCTOR_APPLY_GUMBEL_MAX_TRICKÚTORCHINDUCTOR_SIZE_ASSERTSÚTORCHINDUCTOR_NAN_ASSERTSÚ(TORCHINDUCTOR_RUNTIME_TRITON_NAN_ASSERTSÚTORCHINDUCTOR_SCALAR_ASSERTSÚTORCHINDUCTOR_ALIGNMENT_ASSERTSÚTORCHINDUCTOR_MEMORY_PLANNINGÚTORCHINDUCTOR_USE_FAST_MATHÚTORCHINDUCTOR_MEMORY_POOLÚintermediates)Únonerf   ÚoutputsÚcombinedÚmemory_poolÚpost_grad_custom_pre_passÚpost_grad_custom_post_passÚcustom_partitioner_fnÚjoint_custom_pre_passÚjoint_custom_post_passÚpre_grad_custom_passz+torch._inductor.scheduler.BaseSchedulerNodeÚ_pre_fusion_custom_passÚ_post_fusion_custom_passÚpre_grad_fusion_optionsÚpost_grad_fusion_optionsÚ"TORCHINDUCTOR_DYNAMIC_SCALE_RBLOCKg-Cëâ6?é   )Úpre_gradÚ	precisionÚnum_iterationsÚrequires_optimizerÚfx_passes_numeric_checkÚ	heuristic)rC   ÚtritonÚatenr|   Úmixed_mm_choiceÚ'reorder_for_compute_comm_overlap_passesÚreorder_prefetch_limitÚ&size_threshold_for_succ_based_strategyrg   )rg   ÚallÚ	only_fsdpÚbucket_all_gathers_fxÚ.bucket_all_gathers_fx_bucket_size_determinator©rg   rƒ   Úbucket_reduce_scatters_fxÚ2bucket_reduce_scatters_fx_bucket_size_determinatorÚbucket_all_reduces_fxÚ.bucket_all_reduces_fx_bucket_size_determinatorrC   Ú!runtime_estimations_mms_benchmarké   g      I@Ú*TORCHINDUCTOR_USE_EXPERIMENTAL_BENCHMARKERz-pytorch/inductor:use_experimental_benchmarker)rC   rB   r@   Úuse_experimental_benchmarkerÚ+TORCHINDUCTOR_DISTRIBUTED_MAX_AUTOTUNE_GEMMÚ&TORCHINDUCTOR_PIPELINE_GEMM_AUTOTUNINGÚTORCHINDUCTOR_MAX_AUTOTUNEÚ$TORCHINDUCTOR_MAX_AUTOTUNE_POINTWISEÚTORCHINDUCTOR_MAX_AUTOTUNE_GEMMÚ%TORCHINDUCTOR_DEFAULT_AUTOTUNE_WARMUPÚ"TORCHINDUCTOR_DEFAULT_AUTOTUNE_REPéd   c                  óˆ   • [         R                  R                  S5      n U c  gU R                  5       S;   a  g [	        U 5      $ )NÚ,TORCHINDUCTOR_AUTOTUNE_NUM_CHOICES_DISPLAYEDé
   r‡   ©r   r   r    ÚlowerÚint©Úenv_vals    r   Ú'_autotune_num_choices_displayed_defaultr    ó  s8   € Ü�j‰j�n‰nÐKÓL€GØ�ØØ‡}�}ƒ˜/Ó)ØÜˆw‹<Ðr   Úautotune_num_choices_displayedÚ/TORCHINDUCTOR_MAX_AUTOTUNE_REPORT_CHOICES_STATSÚ<TORCHINDUCTOR_MAX_AUTOTUNE_PRUNE_CHOICES_BASED_ON_SHARED_MEMÚ-TORCHINDUCTOR_TRITON_DISABLE_DEVICE_DETECTIONÚTORCHINDUCTOR_GRAPH_PARTITIONÚgraph_partitionÚcustom_should_partition_opsÚcudagraph_unsafe_unbacked_opsÚ#max_autotune_allow_flexible_layoutsz%pytorch/compiler:force_same_precisionÚ"TORCHINDUCTOR_FORCE_SAME_PRECISIONÚforce_same_precisionÚmulti_kernel_hintsÚ(TORCHINDUCTOR_MAX_AUTOTUNE_GEMM_BACKENDSzATEN,TRITON,CPPc                  ó‚   • [         R                  R                  SS5      n U R                  5       S;   a  g [	        U 5      $ )NÚ*TORCHINDUCTOR_NVGEMM_MAX_PROFILING_CONFIGSÚ5r‡   r›   rž   s    r   Ú%_nvgemm_max_profiling_configs_defaultr±   K  s2   € Ü�j‰j�n‰nÐIÈ3ÓO€GØ‡}�}ƒ˜/Ó)ØÜˆw‹<Ðr   Únvgemm_max_profiling_configsÚ(TORCHINDUCTOR_MAX_AUTOTUNE_CONV_BACKENDSzATEN,TRITONÚ,TORCHINDUCTOR_MAX_AUTOTUNE_GEMM_SEARCH_SPACEÚDEFAULT)rµ   Ú
EXHAUSTIVEÚmax_autotune_gemm_search_spaceÚ,TORCHINDUCTOR_MAX_AUTOTUNE_FLEX_SEARCH_SPACEÚmax_autotune_flex_search_spaceÚfallback_by_defaultÚselective_decomposeÚuse_dceÚuse_pre_grad_passesÚuse_joint_graph_passesÚuse_post_grad_passesÚCUTEDSL_ENABLE_AUTOTUNINGÚcutedsl_enable_autotuningi    ÚTORCHINDUCTOR_SAVE_ARGSÚ!TORCHINDUCTOR_AUTOTUNE_IN_SUBPROCg      N@g        Ú#TORCHINDUCTOR_AUTOTUNE_MULTI_DEVICEÚ(TORCHINDUCTOR_COLLECTIVE_BENCHMARK_NRUNSÚ50Ú*TORCHINDUCTOR_COLLECTIVE_BENCHMARK_TIMEOUTÚ30Ú'TORCHINDUCTOR_COORDINATE_DESCENT_TUNINGÚ5TORCHINDUCTOR_COORDINATE_DESCENT_CHECK_ALL_DIRECTIONSÚ'TORCHINDUCTOR_COORDINATE_DESCENT_RADIUSÚ#TORCHINDUCTOR_AUTOHEURISTIC_COLLECTÚ ÚTORCHINDUCTOR_AUTOHEURISTIC_USEÚmixed_mmÚ'TORCHINDUCTOR_RUN_JIT_POST_COMPILE_HOOKÚnamec                 ó<   • [        U 5      =(       d    [        U 5      $ ©N)Úcollect_autoheuristicÚuse_autoheuristic©rÑ   s    r   Úrun_autoheuristicr×   Ç  s   € Ü  Ó&×AÔ*;¸DÓ*AÐAr   c                 ón   • U [         R                  R                  R                  R	                  S5      ;   $ ©NÚ,)r/   Ú	_inductorÚconfigÚautoheuristic_collectÚsplitrÖ   s    r   rÔ   rÔ   Ë  s(   € Ø”5—?‘?×)Ñ)×?Ñ?×EÑEÀcÓJÑJÐJr   c                 ón   • U [         R                  R                  R                  R	                  S5      ;   $ rÙ   )r/   rÛ   rÜ   Úautoheuristic_userÞ   rÖ   s    r   rÕ   rÕ   Ï  s(   € Ø”5—?‘?×)Ñ)×;Ñ;×AÑAÀ#ÓFÑFÐFr   Ú$TORCHINDUCTOR_AUTOHEURISTIC_LOG_PATHÚ!TORCHINDUCTOR_LAYOUT_OPTIMIZATIONÚTORCHINDUCTOR_FORCE_LAYOUT_OPTÚ TORCHINDUCTOR_KEEP_OUTPUT_STRIDEÚTORCHINDUCTOR_WARN_MIX_LAYOUTé   é   é   Ú realize_acc_reads_size_thresholdÚ.TORCHINDUCTOR_ASSUME_UNALIGNED_FALLBACK_OUTPUTr   Úinductor_choices_classÚTORCHINDUCTOR_DEBUG_FUSIONÚdebug_fusionÚTORCHINDUCTOR_BENCHMARK_FUSIONÚbenchmark_fusionÚ#TORCHINDUCTOR_ENABLED_METRIC_TABLESÚ(TORCHINDUCTOR_LOOP_ORDERING_AFTER_FUSIONÚloop_ordering_after_fusionÚloop_index_inversion_in_fusionrš   Ú'TORCHINDUCTOR_BENCHMARK_EPILOGUE_FUSIONé@   Úmax_fusion_unique_io_buffersÚTORCHINDUCTOR_SPLIT_REDUCTIONSÚTORCHINDUCTOR_DETERMINISTICÚTORCHINDUCTOR_MIN_NUM_SPLITÚTORCHINDUCTOR_BENCHMARK_KERNELéú   ÚdevÚgitÚ0TORCHINDUCTOR_OPTIMIZE_SCATTER_UPON_CONST_TENSORÚadd_pre_grad_passesÚremove_pre_grad_passesÚTORCHINDUCTOR_DISABLED_PASSES©rB   rC   Údisabled_passesc                  óz   • S[         R                  ;   a  [         R                  S   n OSn U S;   d
   SU  35       eU $ )NÚTORCHINDUCTOR_WORKER_STARTÚ
subprocess)r  ÚforkÚspawnzInvalid start method: )r   r   )Ústart_methods    r   Údecide_worker_start_methodr
  ¦  sR   € Ø#¤r§z¡zÓ1Ü—z‘zÐ">Ñ?‰à#ˆØð ó ð /ð 
  ˜~Ð.ó	/ð ð
 Ðr   Úworker_start_methodi   Úsmall_memory_access_thresholdz(pytorch/compiler:worker_suppress_loggingÚ%TORCHINDUCTOR_WORKER_SUPPRESS_LOGGINGÚworker_suppress_loggingÚLOG_TLPARSEÚlog_tlparseÚfuse_ddp_with_concat_opÚschedule_comm_wait).NÚ_fuse_ddp_communication_passesÚ_micro_pipeline_tpÚ)TORCHINDUCTOR_PARTITIONED_SCATTER_ENABLEDr,   Ú"partitioned_scatter_min_partitionsé€   Ú"partitioned_scatter_max_partitionsgš™™™™™¹?Ú!partitioned_scatter_memory_budgetc                   ó2   • \ rS rSr% Sr\\S'   Sr\\S'   Sr	g)Ú_collectiveið  FÚauto_selecti   Ú#one_shot_all_reduce_threshold_bytesr   N)
Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r  ÚboolÚ__annotations__r  r�   Ú__static_attributes__r   r   r   r  r  ð  s   ‡ Ø€K�ÓØ/9Ð'¨Ö9r   r  c                   óh  • \ rS rSr% SrSr\\S'   Sr\	\   \S'   Sr
\	\   \S'   Sr\	\   \S'   Sr\	\   \S	'   Sr\	\\R$                  R&                  /\	\   4      \S
'   Sr\S   \S'   Sr\	\   \S'   Sr\	\   \S'   Sr\	\   \S'   Sr\	\   \S'   Sr\\S'   Sr\\S'   Sr\	\   \S'   Sr\\S'   Srg)Úaten_distributed_optimizationsiõ  zDConfiguration for distributed optimization passes on ATen FX graphs.FÚenable_overlap_schedulingNÚcollective_bucketingÚinsert_overlap_depsÚmax_compute_pre_fetchÚcompute_overlap_multiplerÚcustom_runtime_estimationÚ
analytical)r-  Ú	benchmarkÚcollective_estimatorÚmax_memory_increase_gbÚmax_memory_increase_ratioÚmax_in_flight_gbÚmax_coll_distanceÚ!log_final_collectives_estimationsTÚbucket_exposed_firstÚenable_fusion_regionsÚ&prioritize_bucketing_during_schedulingr   )r  r  r   r!  Ú__doc__r'  r"  r#  r(  r   r)  r*  r�   r+  Úfloatr,  r   r/   ÚfxÚNoder/  r   r0  r1  r2  r3  r4  r5  r6  r7  r$  r   r   r   r&  r&  õ  s  ‡ ÙNð ',Ð˜tÓ+ð ,0Ð˜( 4™.Ó/ð +/Ð˜ $™Ó.ð ,0Ð˜8 C™=Ó/à15Ð˜x¨™Ó5ð 	ð ˜x¨°%·(±(·-±-°À(È5Á/Ð1QÑ(RÑSó ð @LÐ˜'Ð";Ñ<ÓKð /3Ð˜H U™OÓ2Ø15Ð˜x¨™Ó5ð )-Ð�h˜u‘oÓ,ð (,Ð�x ‘}Ó+Ø.3Ð% tÓ3ð "&Ð˜$Ó%ð
 -1Ð˜8 D™>Ó0ð 48Ð*¨DÖ7r   r&  c                  óP   • Sn Sn[         R                  R                  U5      nX:¬  $ )a  
TODO: Remove when parallel compiled is fully enabled internally. For rollout, use a
knob to enable / disable. The justknob should not be performed at import, however.
So for fbcode, we assign compile_threads to 'None' below and initialize lazily in
async_compile.py.
rv   z0pytorch/inductor:enable_parallel_compile_version)r/   r0   r1   )ÚENABLE_PARALLEL_COMPILE_VERSIONr8   r3   s      r   Ú#parallel_compile_enabled_internallyr>  -  s.   € ð '(Ð#à@€GÜ×#Ñ#×8Ñ8¸ÓA€GØ*Ñ5Ð5r   c                  óX  • SSK n U R                  [        5      nS[        R                  ;   a0  [        [        R                  S   5      nUR                  SU5        U$ [        R                  S:X  a  SnUR                  S5        U$ [        5       (       a$  [        5       (       d  SnUR                  S5        U$ [        [        S	5      (       a  [        [        R                  " S5      5      O[        R                  " 5       nU(       d   e[        S
U5      nUR                  SU5        U$ )a	  
Here are the precedence to decide compile_threads
1. User can override it by TORCHINDUCTOR_COMPILE_THREADS.  One may want to disable async compiling by
   setting this to 1 to make pdb happy.
2. Set to 1 if it's win32 platform
3. decide by the number of CPU cores
r   NÚTORCHINDUCTOR_COMPILE_THREADSz!compile_threads set to %d via envÚwin32rv   z"compile_threads set to 1 for win32z"compile_threads set to 1 in fbcodeÚsched_getaffinityé    zcompile_threads set to %d)ÚloggingÚ	getLoggerr  r   r   r�   ÚinfoÚsysÚplatformr
   r>  ÚhasattrÚlenrB  Ú	cpu_countÚmin)rD  ÚlogÚcompile_threadsrK  s       r   Údecide_compile_threadsrO  ;  s  € ó ð ×
Ñ
œHÓ
%€Cà&¬"¯*©*Ó4ÜœbŸj™jÐ)HÑIÓJˆØ�‰Ð4°oÔFð" Ðô! 
�‰˜Ó	 ØˆØ�‰Ð5Ô6ð Ðô 
�‰Ô@×BÑBØˆØ�‰Ð5Ô6ð Ðô ”rÐ.×/Ñ/ô ”×$Ò$ QÓ'Ô(ä—’“ð 	ö
 ÐˆyÜ˜b )Ó,ˆØ�‰Ð,¨oÔ>àÐr   rN  z+pytorch/inductor:quiesce_async_compile_poolÚ(TORCHINDUCTOR_QUIESCE_ASYNC_COMPILE_POOLÚquiesce_async_compile_poolé<   )rC   Úquiesce_async_compile_timeÚuse_static_cuda_launcherz/torch._inductor.config.use_static_cuda_launcherÚuse_static_triton_launcherz:pytorch/inductor:static_launch_user_defined_triton_kernelsÚ7TORCHINDUCTOR_STATIC_LAUNCH_USER_DEFINED_TRITON_KERNELSÚ)static_launch_user_defined_triton_kernelsÚ)TORCHINDUCTOR_STRICT_STATIC_CUDA_LAUNCHERÚstrict_static_cuda_launcherz2torch._inductor.config.strict_static_cuda_launcherÚstrict_static_triton_launcherÚglobal_cache_dir)ÚparutilÚ.zfb/cacheÚTORCHINDUCTOR_SHAPE_PADDINGÚ#TORCHINDUCTOR_COMPREHENSIVE_PADDINGi   Úforce_shape_padÚTORCHINDUCTOR_PERMUTE_FUSIONÚ_use_fp64_for_unbacked_floatsÚTORCHINDUCTOR_PROFILEÚTORCHINDUCTOR_PROFILE_OUTPUTÚprofile_bandwidth_outputÚ3TORCHINDUCTOR_PROFILE_WITH_DO_BENCH_USING_PROFILINGÚTORCHINDUCTOR_FREEZINGÚfreezingÚfreezing_discard_parametersÚdecompose_mem_bound_mmÚwrap_inductor_compiled_regionsÚassume_aligned_inputsÚassume_32bit_indexingÚ.unsafe_ignore_unsupported_triton_autotune_argsÚ"check_stack_no_cycles_TESTING_ONLYÚ*always_complex_memory_overlap_TESTING_ONLYÚ*TORCHINDUCTOR_ENABLE_LINEAR_BINARY_FOLDINGÚTORCHINDUCTOR_ANNOTATE_TRAININGÚannotate_trainingÚ)enable_caching_generated_triton_templatesÚautotune_lookup_tableÚTORCHINDUCTOR_FILE_LOCK_TIMEOUTÚ600Úfile_lock_timeoutÚenable_autograd_for_aotc                  ó¸   • S n [        5       (       aH  [        R                  R                  SS 5      n[        R                  R                  SS5      nUb  SU 3n U $ )NÚMAST_HPC_JOB_NAMEÚ	ROLE_RANKr   r;   )r
   r   r   r    )Úlog_locÚmast_job_nameÚglobal_ranks      r   Úget_worker_log_pathr€  ;  sN   € Ø€GÜ‡{�{ÜŸ
™
Ÿ™Ð':¸DÓAˆÜ—j‘j—n‘n [°#Ó6ˆàÑ$ØEÀkÀ]ÐSˆGà€Nr   ÚTORCHINDUCTOR_WORKER_LOGPATHÚtorchinductor_worker_logpathc                   ó  • \ rS rSr% \R
                  R                  S5      S:H  r\\	S'   Sr
\\	S'   Sr\\	S'   \R
                  R                  S	5      b!  \" \R
                  R                  S	5      5      OS
r\S
-  \	S'   Srg
)Úauto_chunkeriM  ÚTORCHINDUCTOR_AUTO_CHUNKERr   Úenablei   Úoutput_size_thresholdrè   Úamplify_ratio_thresholdÚ TORCHINDUCTOR_CHUNKER_NUM_CHUNKSNÚ	num_chunkr   )r  r  r   r!  r   r   r    r†  r"  r#  r‡  r�   rˆ  rŠ  r$  r   r   r   r„  r„  M  sz   ‡ Ø—:‘:—>‘>Ð">Ó?À3ÑF€FˆDÓFð "-Ð˜3Ó,ð $%Ð˜SÓ$ð �:‰:�>‰>Ð<Ó=ÑIñ 	ˆB�J‰J�N‰NÐ=Ó>Ô?àð ˆs�T‰zö r   r„  c                   óò  • \ rS rSr% SrSr\R                  R                  SS5      S:H  r	\R                  R                  SS5      S:H  r
Sr\\   \S	'   \" \R                  R                  S
S5      5      rS\R                  R                  S\R"                  S:X  a  SOS5      4r\S\4   \S'   \R                  R                  SS5      S:H  r\R                  R                  SS5      S:H  rSr\\   \S'   Sr\\   \S'   \" S5      r\\   \S'   Sr\S   \S'   \" \R                  R                  SS5      5      r\R                  R                  SS5      S:H  r\R                  R                  SS5      S:H  r \R                  R                  SS5      r!\R                  R                  S S5      S:H  r"S!r#\" \R                  R                  S"S5      5      r$\R                  R                  S#S5      r%\R                  R                  S$S5      r&S%r'S!r(\R                  R                  S&S5      S:H  r)S!r*\R                  R                  S'S5      S:H  r+\R                  R                  S(S5      S:H  r,S)r-g)*Úcppi^  zi
Settings for cpp backend.
This class provides a centralized location for managing cpp backend settings.
éÿÿÿÿÚ$TORCHINDUCTOR_CPP_NO_REDUNDANT_LOOPSr   Ú!TORCHINDUCTOR_CPP_DYNAMIC_THREADSr   NÚsimdlenÚ TORCHINDUCTOR_CPP_MIN_CHUNK_SIZEÚ512ÚCXXÚdarwinzclang++zg++ÚcxxÚ'TORCHINDUCTOR_CPP_ENABLE_KERNEL_PROFILEÚ TORCHINDUCTOR_CPP_WEIGHT_PREPACKÚinject_relu_bug_TESTING_ONLYÚinject_log1p_bug_TESTING_ONLYr   Ú
vec_isa_okÚoriginal_aten©r/   r›  Úinductor_nodeÚdescriptive_namesÚ,TORCHINDUCTOR_CPP_MAX_HORIZONTAL_FUSION_SIZEÚ16Ú-TORCHINDUCTOR_CPP_FALLBACK_SCATTER_REDUCE_SUMÚ-TORCHINDUCTOR_CPP_ENABLE_UNSAFE_MATH_OPT_FLAGÚ5TORCHINDUCTOR_CPP_ENABLE_FLOATING_POINT_CONTRACT_FLAGÚoffÚ)TORCHINDUCTOR_CPP_ENABLE_TILING_HEURISTICFÚ#TORCHINDUCTOR_CPP_GEMM_MAX_K_SLICESÚ%TORCHINDUCTOR_CPP_GEMM_CACHE_BLOCKINGÚ%TORCHINDUCTOR_CPP_GEMM_THREAD_FACTORSTÚ$TORCHINDUCTOR_CPP_USE_DECOMPOSE_TANHÚ%TORCHINDUCTOR_CPP_FORCE_INLINE_KERNELÚ-TORCHINDUCTOR_CPP_USE_CONSTEXPR_FOR_INT_ARRAYr   ).r  r  r   r!  r8  Úthreadsr   r   r    Úno_redundant_loopsÚdynamic_threadsr�  r   r�   r#  Úmin_chunk_sizerG  rH  r•  ÚtupleÚstrÚenable_kernel_profileÚweight_prepackr˜  r™  r   rš  r"  rž  r   Úmax_horizontal_fusion_sizeÚfallback_scatter_reduce_sumÚenable_unsafe_math_opt_flagÚ#enable_floating_point_contract_flagÚenable_tiling_heuristicsÚenable_grouped_gemm_templateÚgemm_max_k_slicesÚgemm_cache_blockingÚgemm_thread_factorsÚenable_loop_tail_vecÚenable_concat_linearÚuse_decompose_tanhÚuse_small_dequant_bufferÚforce_inline_kernelÚuse_constexpr_for_int_arrayr$  r   r   r   rŒ  rŒ  ^  s�  ‡ ñð €Gð
 	�
‰
�‰Ð=¸sÓCÀsÑJð ð —j‘j—n‘nÐ%HÈ#ÓNÐRUÑU€Oà!€GˆX�c‰]Ó!Ù˜Ÿ™Ÿ™Ð(JÈEÓRÓS€Nð 	Ø
�
‰
�‰�u¨3¯<©<¸8Ó+C™iÈÓOð€Cˆˆt�SˆyÑ	ó ð 	�
‰
�‰Ð@À#ÓFÈ#ÑMð ð
 —Z‘Z—^‘^Ð$FÈÓLÐPSÑS€Nð
 37Ð  (¨3¡-Ó6Ø37Ð! 8¨C¡=Ó7ñ "2Ð2LÓ!M€J�˜‘ÓMð 	ð �wÐHÑIó ñ
 "%Ø
�
‰
�‰ÐEÀtÓLó"Ðð 	�
‰
�‰ÐFÈÓLÐPSÑSð  ð 	�
‰
�‰ÐFÈÓLÐPSÑSð  ð +-¯*©*¯.©.Ø?Àó+Ð'ð 	�
‰
�‰ÐBÀCÓHÈCÑOð ð
 $)Ð ñ ˜BŸJ™JŸN™NÐ+PÐRUÓVÓWÐð Ÿ*™*Ÿ.™.Ð)PÐRVÓWÐð Ÿ*™*Ÿ.™.Ð)PÐRVÓWÐð  Ðð !Ðð
 	�
‰
�‰Ð=¸sÓCÀsÑJð ð
  %Ðð 	�
‰
�‰Ð>ÀÓDÈÑKð ð 	�
‰
�‰ÐFÈÓLÐPSÑSó  r   rŒ  c                   ó”  • \ rS rSr% Sr\R                  R                  S5      S:H  rSr	Sr
Sr\\\\\\S4   4         \S	'   SrSrSr\" 5       (       + rS
rSr\\   \S'   SrSr\" SSS9r\\S'   Sr\\S'   SrSrSr Sr!Sr"\R                  R                  S\" 5       (       d  SOS5      S:H  r#\\S'   Sr$\\   \S'   Sr%\\S'   Sr&Sr'Sr(\\   \S'   Sr)\\S'   Sr*\\S'   \RV                  " SS5      S:H  r,\\S'   Sr-Sr.\R                  R                  SS5      S:H  r/\R                  R                  SS5      S:H  r0Sr1\2S   \S'   \R                  R                  S S5      S:H  r3\R                  R                  S!S5      S:H  r4Sr5\" \R                  R                  S"S5      5      r6\2S#   \S$'   \R                  R                  S%S5      S:H  r7S&r8Sr9\:Rv                  Rx                  (       a  S'OS(r=\\S)'   Sr>Sr?Sr@SrA\\B   \S*'   SrC\R                  R                  S+S5      S:H  rD\R                  R                  S,S5      S:H  rE\R                  R                  S-S5      S:H  rFSrG\" \R                  R                  S.\:Rv                  Rx                  (       a  SOS/5      5      rH\" \R                  R                  S0S15      5      rI\R                  R                  S2S5      S:H  rJ\R                  R                  S3\" 5       (       a  SOS5      S:H  rKS4rLSrM\\   \S5'   \R                  R                  S6S5      S:H  rNSrO\R                  R                  S75      S:H  rP\R                  R                  S8S5      S:H  rQ\\S9'   0 rR\S\B\4   \S:'   S;rT\R                  R                  S<S5      S:H  rU\\S='   \R                  R                  S>5      rV\\B   \S?'   \R                  R                  S@S5      S:H  rW\\SA'   \R                  R                  SBS5      S:H  rX\\SC'   \R                  R                  SDS5      S:H  rY\\SE'   SFrZg)Gr}   iá  z&
Config specific to codegen/triton.py
ÚTORCHINDUCTOR_CUDAGRAPHSr   TFN.Úcudagraph_capture_sizesr  rè   Ú"cudagraph_dynamic_shape_warn_limitÚ TORCHINDUCTOR_CUDAGRAPH_OR_ERRORr  Úcudagraph_or_errorÚ%reorder_for_reducing_graph_partitionsÚ&TORCHINDUCTOR_COALESCE_TILING_ANALYSISr   Úcoalesce_tiling_analysisÚ	max_tilesÚprefer_nd_tilingÚautotune_at_compile_timeÚautotune_with_sample_inputsÚtile_reductionsÚTORCHINDUCTOR_NATIVE_MATMULÚnative_matmulÚ!TORCHINDUCTOR_UNIQUE_KERNEL_NAMESÚ&TORCHINDUCTOR_UNIQUE_USER_KERNEL_NAMESr›  rœ  rž  Ú#TORCHINDUCTOR_PERSISTENT_REDUCTIONSÚ$TORCHINDUCTOR_COOPERATIVE_REDUCTIONSÚTORCHINDUCTOR_MULTI_KERNEL)r   rv   r,   é   Úmulti_kernelÚTORCHINDUCTOR_DIVISIBLE_BY_16é   rC  é   Úspill_thresholdr˜  ÚENABLE_PERSISTENT_TMA_MATMULÚENABLE_TEMPLATE_TMA_STOREÚTORCHINDUCTOR_SKIP_L1Ú$TORCHINDUCTOR_NUM_DECOMPOSE_K_SPLITSÚ10Ú#TORCHINDUCTOR_DECOMPOSE_K_THRESHOLDÚ32ÚTORCHINDUCTOR_ENABLE_PDLÚ!TORCHINDUCTOR_MIX_ORDER_REDUCTIONrv   Úmix_order_reduction_split_sizeÚ5TORCHINDUCTOR_MIX_ORDER_REDUCTION_AUTOTUNE_SPLIT_SIZEÚ4TORCHINDUCTOR_MIX_ORDER_REDUCTION_ALLOW_MULTI_STAGESÚ"TORCHINDUCTOR_ENABLE_TLX_TEMPLATESÚenable_tlx_templatesÚdebug_dump_kernel_inputsrØ  Ú%TORCHINDUCTOR_TRITON_PROTON_PROFILINGÚproton_profilingÚ&TORCHINDUCTOR_TRITON_PROTON_OUTPUT_DIRÚproton_output_dirÚ'TORCHINDUCTOR_TRITON_PROTON_GROUP_BY_SMÚproton_group_by_smÚ-TORCHINDUCTOR_TRITON_PROTON_SPLIT_INVOCATIONSÚproton_split_invocationsÚ-TORCHINDUCTOR_TRITON_PROTON_PER_CTA_OCCUPANCYÚproton_per_cta_occupancyr   )[r  r  r   r!  r8  r   r   r    Ú
cudagraphsÚcudagraph_treesÚcudagraph_skip_dynamic_graphsrÅ  r   r°  r	   r�   r#  Úslow_path_cudagraph_assertsÚ!cudagraph_trees_history_recordingÚcudagraph_trees_objgraphr
   Ú cudagraph_support_input_mutationÚ#cudagraph_unexpected_rerecord_limitrÆ  Úforce_cudagraph_syncÚforce_cudagraphs_warmupr   rÈ  r"  rÉ  Úfast_path_cudagraph_assertsÚskip_cudagraph_warmupÚdebug_sync_graphÚdebug_sync_kernelÚdense_indexingrË  rÌ  rÍ  Úautotune_pointwiseÚautotune_cublasLtrÎ  rÏ  rÐ  ÚgetenvrÒ  Ú tiling_prevents_pointwise_fusionÚ tiling_prevents_reduction_fusionÚunique_kernel_namesÚunique_user_kernel_namesrž  r   Úpersistent_reductionsÚcooperative_reductionsÚforce_cooperative_reductionsrÙ  Údivisible_by_16Úmin_split_scan_rblockÚstore_cubinr/   r3   ÚhiprÝ  Úuse_block_ptrÚuse_tensor_descriptorÚ)transpose_discontiguous_tensor_descriptorr˜  r±  Úcodegen_upcast_to_fp32Úenable_persistent_tma_matmulÚenable_template_tma_storeÚskip_l1_cacheÚ.disallow_failing_autotune_kernels_TESTING_ONLYÚnum_decompose_k_splitsÚdecompose_k_thresholdÚ
enable_pdlÚmix_order_reductionÚ"mix_order_reduction_initial_xblockrç  Ú'mix_order_reduction_autotune_split_sizeÚ#mix_order_reduction_non_strict_modeÚ&mix_order_reduction_allow_multi_stagesrë  rì  ÚdictÚmax_kernel_dump_occurrencesrî  rð  rò  rô  rö  r$  r   r   r   r}   r}   á  s>  ‡ ñð
 —‘—‘Ð :Ó;¸sÑB€Jð €Oð %*Ð!ð MQÐ˜X e¨E°#°u¸SÀ#¸X±Ð2FÑ,GÑ&HÑIÓPð #'Ðð ).Ð%ð  %Ðñ ,5«;¤Ð$ð +.Ð'ð 9:Ð&¨°©Ó9ð !Ðð $Ðñ  &Ø9Øñ Ð˜ó ð 37Ð)¨4Ó6ð #(Ðð "Ðð Ðð Ðð €Nð 	�
‰
�‰Ø4ÁÇÁ±cÐRUó	
ð ñ	ð ˜dó ð  $€Iˆx˜‰}Ó#ð #Ð�dÓ"ð Ðð Ðð 04Ð˜h t™nÓ3ð
 ).Ð Ó-ð "€O�TÓ!ð$ Ÿ)š)Ð$AÀ3ÓGÈ3ÑN€M�4ÓNð (,Ð$Ø'+Ð$ð 	�
‰
�‰Ð:¸CÓ@ÀCÑGð ð 	�
‰
�‰Ð?ÀÓEÈÑLð ð 	ð �wÐHÑIó ð 	�
‰
�‰Ð<¸cÓBÀcÑIð ð 	�
‰
�‰Ð=¸sÓCÀsÑJð ð
 $)Ð ñ ),Ø
�
‰
�‰Ð3°SÓ9ó)€L�'˜*Ñ%ó ð
 —j‘j—n‘nÐ%DÀcÓJÈcÑQ€Oð  Ðð €Kð "'§¡×!2×!2™2¸€O�SÓ:ð €Mð "Ðð
 15Ð-ð
 37Ð  (¨3¡-Ó6ð "Ðð
 	�
‰
�‰Ð5°sÓ;¸sÑBð !ð
 !#§
¡
§¡Ð/JÈCÓ PÐTWÑ WÐà—J‘J—N‘NÐ#:¸CÓ@ÀCÑG€Mð 6;Ð2ñ !Ø
�
‰
�‰Ø2¸5¿=¹=×;L×;L±CÐRVó	
óÐñ  Ø
�
‰
�‰Ð<¸dÓCóÐð —‘—‘Ð :¸CÓ@ÀCÑG€Jð 	�
‰
�‰Ð:Á9Ç;Á;¹CÐTWÓXØñ	ð ð *+Ð&à48Ð" H¨S¡MÓ8à
�
‰
�‰ÐNÐPSÓTØñ	ð ,ð +0Ð'ð 	�
‰
�‰ÐMÓNÐRUÑUð +ð
 	�
‰
�‰Ð;¸SÓAÀSÑHð ˜$ó ð 02Ð˜d 3¨ 8™nÓ1ð
 #$Ðð 	�
‰
�‰Ð>ÀÓDÈÑKð �dó ð (*§z¡z§~¡~Ø0ó(Ð�x ‘}ó ð
 	�
‰
�‰Ð@À#ÓFÈ#ÑMð ˜ó ð
 	�
‰
�‰ÐFÈÓLÐPSÑSð ˜dó ð 	�
‰
�‰ÐFÈÓLÐPSÑSð ˜dö r   r}   c                   óž  • \ rS rSr% SrSr\R                  R                  SS5      S:H  r	\R                  R                  SS5      S:H  r
\R                  R                  SS	5      r\R                  R                  S
S5      r\S   \S'   \R                  R                  SS5      rSrSrSr\\S'   Sr\\S'   SrSr\\S'   Sr\\   \S'   Sr\\S'   0 r\\\4   \S'   \R                  R                  SS5      S:H  r\\S'   Sr\\S'   \R                  R                  SS5      S:H  r\\S'   \ " \R                  R                  SS5      5      r!\ \S'   0 r"\\\#4   \S'   Sr$\\S '   Sr%\\S!'   \R                  R                  S"S5      S:H  r&\\S#'   Sr'\\S$'   Sr(\\   \S%'   \)" 5       (       + r*\\S&'   Sr+\\   \S''   Sr,\\   \S('   Sr-\\   \S)'   0 r.\\/R`                  Rb                  \2\   4   \S*'   Sr3\\2\      \S+'   \R                  R                  S,S5      S:H  r4Sr5\\S-'   Sr6\\   \S.'   Sr7\\\2\   -     \S/'   Sr8\\   \S0'   S1r9g)2Úaot_inductori,  z1
Settings for Ahead-Of-Time Inductor Compilation
rÍ   ÚAOT_INDUCTOR_DEBUG_COMPILEr   r   ÚAOT_INDUCTOR_DEBUG_SYMBOLSÚ&AOT_INDUCTOR_COMPILE_WRAPPER_OPT_LEVELÚO1Ú-AOT_INDUCTOR_DEBUG_INTERMEDIATE_VALUE_PRINTER)r   r   Ú2Ú3Ú debug_intermediate_value_printerÚ&AOT_INDUCTOR_FILTERED_KERNELS_TO_PRINTNFÚuse_runtime_constant_foldingÚforce_mmap_weightsTÚpackageÚpackage_cpp_onlyÚdynamic_linkageÚmetadataÚ/AOTINDUCTOR_RAISE_ERROR_ON_IGNORED_OPTIMIZATIONÚ#raise_error_on_ignored_optimizationÚcheck_lowerboundÚDUMP_AOTI_MINIFIERÚdump_aoti_minifierÚAOTINDUCTOR_REPRO_LEVELr,   Úrepro_levelÚpresetsÚallow_stack_allocationÚuse_minimal_arrayref_interfaceÚ)AOT_INDUCTOR_WEIGHT_USE_CACHING_ALLOCATORÚweight_use_caching_allocatorÚpackage_constants_in_soÚ package_constants_on_disk_formatÚprecompile_headersÚembed_kernel_binaryÚemit_multi_arch_kernelÚmodel_name_for_generated_filesÚcustom_ops_to_c_shimsÚcustom_op_libsÚAOT_INDUCTOR_ENABLE_LTOÚlink_libtorchÚcross_target_platformÚaoti_shim_libraryÚaoti_shim_library_pathr   ):r  r  r   r!  r8  Úoutput_pathr   r   r    Údebug_compileÚdebug_symbolsÚcompile_wrapper_opt_levelr/  r   r#  Úfiltered_kernel_namesÚserialized_in_specÚserialized_out_specr1  r"  r2  Úuse_consts_asm_buildr3  r4  r   r5  r6  r$  r±  r8  r9  r;  r�   r=  r>  r   r?  r@  rB  rC  rD  r
   rE  rF  rG  rH  rI  r/   Ú_opsÚ
OpOverloadÚlistrJ  Ú
enable_ltorL  rM  rN  rO  r$  r   r   r   r'  r'  ,  sÔ  ‡ ñð €Kà—J‘J—N‘NÐ#?ÀÓEÈÑL€MØ—J‘J—N‘NÐ#?ÀÓEÈÑL€Mð !#§
¡
§¡Ø0°$ó!Ðð EGÇJÁJÇNÁNØ7¸óEÐ$ gÐ.@Ñ&Aó ð
 ŸJ™JŸN™NØ0°$óÐð Ðð Ðð */Ð  $Ó.ð  %Ð˜Ó$ð  Ðà€GˆTÓØ'+Ð�h˜t‘nÓ+ð !€O�TÓ ð  "€Hˆd�3˜�8‰nÓ!ð 	�
‰
�‰ÐHÈ#ÓNÐRUÑUð (¨ó ð "Ð�dÓ!ð  "Ÿz™zŸ~™~Ð.BÀCÓHÈCÑOÐ˜ÓOñ ˜2Ÿ:™:Ÿ>™>Ð*CÀQÓGÓH€K�ÓHð !€GˆT�#�s�(‰^Ó ð $)Ð˜DÓ(ð ,1Ð" DÓ0ð 	�
‰
�‰ÐBÀCÓHÈCÑOð ! $ó ð %)Ð˜TÓ(ð 7;Ð$ h¨s¡mÓ:ñ $-£;œÐ˜Ó.ð +/Ð˜ $™Ó.ð .2Ð˜H T™NÓ1ð 59Ð" H¨S¡MÓ8ð EGÐ˜4 §
¡
× 5Ñ 5°t¸C±yÐ @ÑAÓFà*.€N�H˜T #™YÑ'Ó.ð —‘—‘Ð 9¸3Ó?À3ÑF€Jð €M�4Óð ,0Ð˜8 C™=Ó/ð 48Ð�x  d¨3¡i¡Ñ0Ó7Ø,0Ð˜H S™MÖ0r   r'  c                   ó$   • \ rS rSr% Sr\\S'   Srg)Úaot_inductor_modeiá  FÚcompile_standaloner   N)r  r  r   r!  r^  r"  r#  r$  r   r   r   r]  r]  á  s   ‡ ð  %Ð˜Ö$r   r]  c                   ó"  • \ rS rSr% SrSr\S   \S'   SrSr	\
R                  R                  \
R                  R                  S\
R                  R                  \
R                  R!                  \R$                  5      S5      5      5      rS	r\\   \S
'   / SQr\\   \S'   \" \\\\4   \" S \
R                  R                  SS5      R7                  S5       5       5      5      r\\\\4   \S'   \" \\\\4   \" S \
R                  R                  SSR                  S \ 5       5      5      R7                  S5       5       5      5      r\\\\4   \S'   \
R                  R                  SS5      S:H  rSrSr \\S'   \
R                  R                  SS5      S:H  r!\"\S'   \
R                  R                  S5      r#\\$   \S'   \
R                  R                  S5      r%\\$   \S '   \
R                  R                  S!S5      r&\$\S"'   \
R                  R                  S#S5      S:H  r'\"\S$'   \
R                  R                  S%S5      S:H  r(\"\S&'   \
R                  R                  S'S(5      r)\$\S)'   S*r*\"\S+'   Sr+\"\S,'   Sr,\"\S-'   S*r-\"\S.'   S/r.g	)0Úcutlassiê  z%
Config specific to cutlass backend.
ú-O1)ú-O0ra  ú-O2ú-O3z-OSÚcompile_opt_levelFÚTORCHINDUCTOR_CUTLASS_DIRz../third_party/cutlass/NÚcutlass_max_profiling_configs)rv   r,   ræ   rè   Ú%cutlass_max_profiling_swizzle_optionsc              #   ó8   #   • U  H  n[        U5      v •  M     g 7frÓ   ©r�   ©Ú.0Úxs     r   Ú	<genexpr>Úcutlass.<genexpr>  s!   é € ð 
ò�ô ��FˆFòùó   ‚Ú+TORCHINDUCTOR_CUTLASS_DYNAMIC_CLUSTER_SHAPEz2,1,1rÚ   Úcutlass_dynamic_cluster_shapec              #   ó8   #   • U  H  n[        U5      v •  M     g 7frÓ   rj  rk  s     r   rn  ro    s!   é € ð 
ò�ô ��FˆFòùrp  Ú.TORCHINDUCTOR_CUTLASS_DYNAMIC_CLUSTER_FALLBACKc              #   ó8   #   • U  H  n[        U5      v •  M     g 7frÓ   )r±  )rl  Úvs     r   rn  ro    s   é € ÐGÒ)F Aœ˜QŸ˜Ò)Fùrp  Ú cutlass_dynamic_cluster_fallbackÚCUTLASS_EPILOGUE_FUSIONr   r   rv   Úcutlass_backend_min_gemm_sizeÚ/INDUCTOR_CUDA_BACKEND_GENERATE_TEST_RUNNER_CODEÚgenerate_test_runnerÚTORCHINDUCTOR_CUTLASS_ALLOWLISTÚcutlass_op_allowlist_regexÚTORCHINDUCTOR_CUTLASS_DENYLISTÚcutlass_op_denylist_regexÚ)TORCHINDUCTOR_CUTLASS_INSTANTIATION_LEVELÚcutlass_instantiation_levelÚ+TORCHINDUCTOR_CUTLASS_HASH_WITH_COMPILE_CMDÚcutlass_hash_with_compile_cmdÚ"TORCHINDUCTOR_CUTLASS_PRESCREENINGÚcutlass_prescreeningÚ!TORCHINDUCTOR_CUTLASS_ENABLED_OPSrƒ   Úcutlass_enabled_opsTÚuse_binary_remote_cacheÚupload_to_binary_remote_cacheÚbinary_remote_cache_force_writeÚenable_caching_codegenr   )/r  r  r   r!  r8  re  r   r#  Úenable_debug_infoÚuse_fast_mathr   ÚpathÚrealpathr   r    ÚjoinÚdirnamer/   Ú__file__Úcutlass_dirrg  r   r�   rh  rZ  r   r°  rÞ   rr  rw  Úcutlass_epilogue_fusion_enabledÚcutlass_tma_onlyry  r{  r"  r}  r±  r  r�  rƒ  r…  r‡  rˆ  r‰  rŠ  r‹  r$  r   r   r   r`  r`  ê  s×  ‡ ñð EJÐ�wÐ@ÑAÓIð Ðð €Mð —'‘'×"Ñ"Ø
�
‰
�‰Ø'Ø�G‰G�L‰LØ—‘—‘ §¡Ó/Ø)óó	
ó€Kð 48Ð! 8¨C¡=Ó7ò 8DÐ)¨4°©9ÓCá:>Øˆc�3˜ˆmÑÙñ 
à—Z‘Z—^‘^Ø=¸wóç‰e�C‹jðó
ó 	
ó;Ð! 5¨¨c°3¨Ñ#7ó ñ >BØˆc�3˜ˆmÑÙñ 
à—Z‘Z—^‘^Ø@Ø—‘ÑGÑ)FÓGÓGó÷ ‰e�C‹jðó
ó 	
ó	>Ð$ e¨C°°c¨MÑ&:ó 	ð 	�
‰
�‰Ð0°#Ó6¸#Ñ=ð $ð
 Ðð *+Ð! 3Ó*ð
 	�
‰
�‰ÐHÈ#ÓNÐRUÑUð ˜$ó ð 13·
±
·±Ø)ó1Ð ¨¡ó ð 02¯z©z¯~©~Ø(ó0Ð˜x¨™}ó ð (*§z¡z§~¡~Ø3°Só(Ð ó ð 	�
‰
�‰ÐDÀcÓJÈcÑQð " 4ó ð 	�
‰
�‰Ð;¸SÓAÀSÑHð ˜$ó ð  "Ÿz™zŸ~™~Ø+¨Uó Ð˜ó ð
 %)Ð˜TÓ(ð +0Ð! 4Ó/ð -2Ð# TÓ1ð $(Ð˜DÖ'r   r`  c                   ón   • \ rS rSr% Sr\\   \S'   Sr\\   \S'   Sr	\\   \S'   Sr
SrSr\\   \S'   S	rg)
Úcudail  NÚarchr3   Úcuda_cxxFé   r²   r   )r  r  r   r!  r˜  r   r±  r#  r3   r™  Úenable_cuda_ltoÚenable_ptxas_infor²   r�   r$  r   r   r   r—  r—  l  sR   ‡ ð
 €Dˆ(�3‰-Óð
 "€GˆX�c‰]Ó!ð #€Hˆh�s‰mÓ"ð €Oð Ðð 34Ð  (¨3¡-Ö3r   r—  c                   ó>   • \ rS rSr% Sr\\   \S'   Sr\\   \S'   Sr	g)Úxpui‹  Nr˜  r3   r   )
r  r  r   r!  r˜  r   r±  r#  r3   r$  r   r   r   rž  rž  ‹  s"   ‡ ð €Dˆ(�3‰-Óð "€GˆX�c‰]Ö!r   rž  c                   ó‚  • \ rS rSr% / r\\   \S'   / SQr\\	S      \S'   Sr
\	S   \S'   SrSrS	rS	rSrS
r\\   \S'   \R&                  R)                  S5      r\R&                  R)                  SS5      S:H  r\\S'   S
r\\   \S'   S
r\\   \S'   S
r\\   \S'   Sr\\S'   S
r\\\      \S'   Sr\\S'   Sr\\S'   Sr g
)Úrocmi•  r˜  )Úgfx90aÚgfx942Úgfx950Úck_supported_archrc  )	rb  ra  rc  rd  z-Osz-Ozz-Ominz-Ofastz-Omaxre  FTNÚ	rocm_homeÚTORCHINDUCTOR_CK_DIRÚ-INDUCTOR_CK_BACKEND_GENERATE_TEST_RUNNER_CODEr   r   r{  Ún_max_profiling_configsÚck_max_profiling_configsÚck_tile_max_profiling_configsÚuse_preselected_instancesÚkBatch_sweeprÜ  Úsplit_k_thresholdÚcontiguous_thresholdr   )!r  r  r   r!  r˜  rZ  r±  r#  r¤  r   re  Úis_debugÚ
save_tempsr�  Úflush_denormalsÚprint_kernel_resource_usager¥  r   r   r   r    Úck_dirr{  r"  r¨  r�   r©  rª  r«  r¬  r­  r®  r$  r   r   r   r   r   •  s%  ‡ ð €Dˆ$ˆs‰)ÓòFÐ�t˜GÐ$@ÑAÑBó ð 	ð �wØLñó ð
 €Hð €Jð €Mð €Oð #(Ðð  $€Iˆx˜‰}Ó#ð �Z‰Z�^‰^Ð2Ó3€Fð 	�
‰
�‰ÐFÈÓLÐPSÑSð ˜$ó ð
 .2Ð˜X c™]Ó1ð /3Ð˜h s™mÓ2ð 48Ð! 8¨C¡=Ó7ð ',Ð˜tÓ+ð )-€L�(˜4 ™9Ñ%Ó,ð  Ð�sÓð !#Ð˜#Ö"r   r   )rŒ  r}   ÚhalideÚpallasÚcpu_backend)r}   r´  rµ  Úcuda_backendrµ  Útpu_backendÚxpu_backendc                   óR   • \ rS rSr% SrSrSr\S   \S'   Sr	\S   \S'   S	r
S	rS	rS
rg)r´  iì  Úhostz	host-cudaÚAnderson2021)r¼  ÚLi2018Ú	Adams2019ÚMullapudi2016Úscheduler_cudar¾  Úscheduler_cpuFr   N)r  r  r   r!  Ú
cpu_targetÚ
gpu_targetrÀ  r   r#  rÁ  ÚassertsÚdebugÚscan_kernelsr$  r   r   r   r´  r´  ì  sQ   ‡ à€Jð €Jð
 	ð �GÐRÑSó ð 	ð �7ÐQÑRó ð
 €Gð €Eð ƒLr   r´  c            	       ó’  • \ rS rSr% \R
                  R                  SS5      S:H  r\R
                  R                  SS5      S:H  rSr	\
\   \S'   SrSrS	rS	rS	rS	rS	r\R
                  R                  S
S5      S:H  r\R
                  R                  SS5      S:H  r\R
                  R                  SS5      r\R
                  R                  SS5      rSrSr\
\\/S4      \S'   \R
                  R                  SS5      S:H  r\" \R
                  R                  S\R
                  R                  SS5      5      5      r\\S'   Srg)Útracei	  ÚTORCH_COMPILE_DEBUGr   r   ÚTORCH_COMPILE_DEBUG_SAVE_REALNÚ	debug_dirFTÚINDUCTOR_POST_FUSION_SVGÚINDUCTOR_ORIG_FX_SVGÚINDUCTOR_DOT_GRAPH_SHAPE_SVGÚ INDUCTOR_LOG_URL_FOR_GRAPH_XFORMÚ
upload_tarÚLOG_AUTOTUNE_RESULTSÚINDUCTOR_PROVENANCEÚprovenance_tracking_levelr   )r  r  r   r!  r   r   r    ÚenabledÚsave_real_tensorsrË  r   r±  r#  Ú	debug_logÚinfo_logÚfx_graphÚfx_graph_transformedÚir_pre_fusionÚir_post_fusionÚoutput_codeÚgraph_diagramÚdraw_orig_fx_graphÚdot_graph_shapeÚlog_url_for_graph_xformÚcompile_profilerÐ  r   Úlog_autotuning_resultsr�   rÓ  r$  r   r   r   rÈ  rÈ  	  s\  ‡ à�j‰j�n‰nÐ2°CÓ8¸CÑ?€Gð Ÿ
™
Ÿ™Ð'FÈÓLÐPSÑSÐð  $€Iˆx˜‰}Ó#ð €Ið €Hð €Hð  Ðð €Mð €Nð €Kð —J‘J—N‘NÐ#=¸sÓCÀsÑJ€Mð Ÿ™Ÿ™Ð(>ÀÓDÈÑKÐð —j‘j—n‘nÐ%CÀTÓJ€Oð !Ÿj™jŸn™nÐ-OÐQUÓVÐð €Oð 37€J�˜ 3 %¨ +Ñ.Ñ/Ó6àŸZ™ZŸ^™^Ð,BÀCÓHÈCÑOÐñ &)Ø
�
‰
�‰Ø! 2§:¡:§>¡>Ð2GÈÓ#Mó	
ó&Ð˜sö r   rÈ  )
ztrace.upload_tarrn   ro   rp   zaot_inductor.repro_levelzaot_inductor.dump_aoti_minifierrk   rl   r  rq   Ú_save_config_ignore)rÈ  zcuda.cutlass_dirzcutlass.cutlass_dirzxpu.cutlass_dirr  rN  rl   rk   rn   ro   r  rq   rp  rD   rF   rJ   rK   Ú_cache_config_ignore_prefixÚexternal_matmulÚ8TORCHINDUCTOR_WRITE_ARE_DETERMINISTIC_ALGORITHMS_ENABLEDc                   óR   • \ rS rSr% Sr\\\\\\\	4      4      \
S'   Sr\\
S'   Srg)Úlookup_tablei†	  NÚtableTÚcheck_src_hashr   )r  r  r   r!  ré  r   r$  r±  rZ  r   r#  rê  r"  r$  r   r   r   rè  rè  †	  s4   ‡ à7;€Eˆ8�D˜˜d 4¨¨S¨¡>Ñ2Ð2Ñ3Ñ4Ó;ð  €N�DÖr   rè  c                   óX  • \ rS rSr% Sr\\S'   Sr\\	   \S'   Sr
SrSr\R                  R                  S5      r\\   \S'   \R                  R                  S5      r\\   \S	'   SrSr\\S
      \S'   SrSr\\S'   \R0                  " S5      S:H  r\R0                  " SS5      rSrSrSrg)Útest_configsi‘	  FÚ%force_extern_kernel_in_multi_templateNÚmax_mm_configsÚ(TORCHINDUCTOR_AUTOTUNE_CHOICE_NAME_REGEXÚautotune_choice_name_regexÚ(TORCHINDUCTOR_AUTOTUNE_CHOICE_DESC_REGEXÚautotune_choice_desc_regex)ÚassertrM  Útrack_memory_lifecycleTÚ assume_bucketing_reduces_latencyÚ,TORCHINDUCTOR_FORCE_FILTER_REDUCTION_CONFIGSr   Ú)TORCHINDUCTOR_DISTORT_BENCHMARKING_RESULTrÍ   r   )r  r  r   r!  rí  r"  r#  rî  r   r�   Úruntime_triton_dtype_assertÚruntime_triton_shape_assertÚstatic_cpp_dtype_assertr   r   r    rð  r±  rò  Ú*graphsafe_rng_func_ignores_fallback_randomrô  r   Úuse_libtorchrõ  r  Úforce_filter_reduction_configsÚdistort_benchmarking_resultÚbisect_pre_grad_graphÚ'bisect_keep_custom_backend_for_inductorr$  r   r   r   rì  rì  ‘	  sá   ‡ Ø27Ð)¨4Ó7à$(€N�H˜S‘MÓ(à"'ÐØ"'ÐØ#Ðð 13·
±
·±Ø2ó1Ð ¨¡ó ð 13·
±
·±Ø2ó1Ð ¨¡ó ð 27Ð.àAEÐ˜H W¨_Ñ%=Ñ>ÓEð €Lð .2Ð$ dÓ1ð 	�	Š	Ð@ÓAÀSÑHð #ð #%§)¢)Ø3°Ró#Ðð "ÐØ.3Ó+r   rì  )Ú*c                   ól   • \ rS rSr% \R
                  R                  SS5      S:H  r\\	S'   Sr
\\	S'   Srg	)
Úeager_numericsiÆ	  Ú'TORCHINDUCTOR_EMULATE_DIVISION_ROUNDINGr   r   Údivision_roundingFÚdisable_ftzr   N)r  r  r   r!  r   r   r    r  r"  r#  r  r$  r   r   r   r  r  Æ	  s4   ‡ ð
 	�
‰
�‰Ð@À#ÓFÈ#ÑMð �tó ð €K�Ör   r  Ú%TORCHINDUCTOR_EMULATE_PRECISION_CASTSÚemulate_precision_casts(Z  r   rG  Úcollections.abcr   Útypingr   r   r   r   r   r	   r/   Ú!torch._inductor.custom_graph_passÚtorch._environmentr
   Útorch.utils._config_moduler   r   r   r   Útorch._inductor.choicesr   r   r    Úinplace_paddingÚcan_inplace_pad_graph_inputr"  r   r!   r$   r'   r*   r4   r9   Úenable_auto_functionalized_v2rÅ  Údisable_progressÚverbose_progressÚworker_log_pathr�   r=   r#  rD   rE   rF   rG   rI   rJ   rK   rL   rN   rO   rP   r$  r±  rQ   rT   rV   rX   rZ   r[   Úonline_softmaxÚapply_gumbel_max_trickÚdceÚstatic_weight_shapesÚsize_assertsÚnan_assertsÚruntime_triton_nan_assertsÚscalar_assertsÚalignment_assertsÚpick_loop_ordersÚinplace_buffersÚallow_buffer_reuseÚmemory_planningr�  rj   Úbenchmark_harnessÚepilogue_fusionÚprologue_fusionÚepilogue_fusion_firstÚpattern_matcherÚb2b_gemm_passrk   rÛ   Úcustom_graph_passÚCustomGraphPassTyperl   rm   ÚCustomPartitionerFnTypern   ro   rp   r:  ÚgraphÚGraphrq   rZ  rr   Úsplit_cat_fx_passesÚ efficient_conv_bn_eval_fx_passesÚis_predispatchÚgroup_fusionÚbatch_fusionrs   rt   Úreorder_for_localityÚdynamic_scale_rblockÚforce_fuse_int_mm_with_mulÚuse_mixed_mmr{   r   Ú reorder_for_compute_comm_overlapr€   r�   Úreorder_for_peak_memoryÚreorder_for_peak_memory_debugr‚   r…   r†   rˆ   r‰   rŠ   r‹   Úestimate_op_runtimerŒ   Úintra_node_bwÚinter_node_bwÚ
cpu_gpu_bwr�   Údistributed_max_autotune_gemmÚpipeline_max_autotune_gemmÚmax_autotuneÚmax_autotune_pointwiseÚmax_autotune_gemmr  Ú inductor_default_autotune_warmupÚinductor_default_autotune_repr    r¡   Ú!max_autotune_report_choices_statsÚ.max_autotune_prune_choices_based_on_shared_memÚtriton_disable_device_detectionr¦   r§   r¨   r©   r«   r¬   ÚupperÚmax_autotune_gemm_backendsr±   r²   Úmax_autotune_conv_backendsr·   r¹   rº   r»   r¼   r½   r¾   r¿   rÁ   Úautotune_fallback_to_atenÚunbacked_symint_fallbackÚsearch_autotune_cacheÚ	save_argsÚautotune_in_subprocÚ+max_autotune_subproc_result_timeout_secondsÚ-max_autotune_subproc_graceful_timeout_secondsÚ.max_autotune_subproc_terminate_timeout_secondsÚautotune_multi_deviceÚcollective_benchmark_nrunsr9  Úcollective_benchmark_timeoutÚcoordinate_descent_tuningÚ'coordinate_descent_check_all_directionsÚ coordinate_descent_search_radiusrÝ   rà   Úrun_jit_post_compile_hookr×   rÔ   rÕ   Úautoheuristic_log_pathr3   r  Úlayout_opt_defaultÚlayout_optimizationÚforce_layout_optimizationÚkeep_output_strideÚwarn_mix_layoutÚrealize_reads_thresholdÚrealize_opcount_thresholdÚrealize_acc_reads_thresholdré   Úfallback_randomÚ"fallback_embedding_bag_byte_unpackÚimplicit_fallbacksÚ assume_unaligned_fallback_outputrë   Úaggressive_fusionrí   rï   Úenabled_metric_tablesrò   ró   Úscore_fusion_memory_thresholdÚbenchmark_epilogue_fusionÚ max_epilogue_benchmarked_choicesÚmax_fusion_sizeÚ)max_fusion_buffer_group_pairwise_attemptsrö   Úmax_pointwise_cat_inputsÚforce_pointwise_catÚunroll_reductions_thresholdÚcomment_originÚconv_1x1_as_mmÚsplit_reductionsÚdeterministicÚmin_num_splitÚbenchmark_kernelÚconstant_and_index_propagationÚalways_keep_tensor_constantsÚassert_indirect_indexingÚcompute_all_boundsÚcombo_kernelsÚbenchmark_combo_kernelÚcombo_kernels_autotuneÚcombo_kernel_allow_mixed_sizesÚ#combo_kernel_foreach_dynamic_shapesÚcombo_kernel_max_num_argsÚ!combo_kernel_per_subkernel_blocksÚcombo_kernels_pointwise_onlyÚjoint_graph_constant_foldingÚdebug_index_assertsÚ__version__Úis_nightly_or_sourceÚdeveloper_warningsÚ"optimize_scatter_upon_const_tensorrÿ   r   r  r
  r  r  r  r  Ú_fuse_ddp_communicationÚ_fuse_ddp_bucket_sizer  r  Úpartitioned_scatter_enabledr  r  r  r  r&  r>  rO  rN  rQ  rS  rT  rU  rW  rY  rZ  Úlibfb.pyr\  Ú__package__Úget_dir_pathrŽ  r�  ÚreplaceÚsepr[  Ú
ValueErrorÚImportErrorÚkernel_name_max_opsÚshape_paddingÚcomprehensive_paddingÚpad_channels_lastÚpad_dynamic_shapesÚdisable_padding_cpuÚ$expand_dimension_for_pointwise_nodesÚpadding_alignment_bytesÚpadding_stride_thresholdÚpad_outputsÚbw_outputs_user_visibler`  Úpermute_fusionÚprofiler_mark_wrapper_callÚgenerate_intermediate_hooksÚdebug_ir_tracebackÚ_raise_error_for_testingrb  Ú_profile_varÚprofile_bandwidthÚprofile_bandwidth_regexre  Ú/profile_bandwidth_with_do_bench_using_profilingÚdisable_cpp_codegenrh  ri  rj  rk  rl  rm  rn  ro  rp  Úenable_linear_binary_foldingrs  rt  ru  rx  ry  r€  r‚  r„  rŒ  r}   r'  r]  r`  r—  rž  r   r¶  r·  r¸  r¹  r´  rÈ  rã  rä  rå  ÚTensorÚ*write_are_deterministic_algorithms_enabledrè  rì  Útorch.utils._config_typingr  r  Úmodulesr  r   r   r   Ú<module>r¬     s©  ðÜ 	Û 
Ý $ß E× Eã Û (Ý (÷ó ö Ý7à—*‘*—.‘.Ð!@À#ÓFÈ#ÑM€Ø#Ð ðC x°¡~ô Cð˜H T™Nô ðC x°¡~ô CðK¨x¸©~ô Kð°8¸D±>ô ð dô ð
 ô 
ð ‡J�J‡N�NÐ7¸Ó=ÀÑDð ð
 	€ð Ð ð Ð ñ 8A·{±{Ñ3Èð ñ
 '*Ø‡J�J‡N�NÐAÀ6ÓJó'Ð  ó ñ
 Ø?Ø;Ø1Øñ	€�ó ð $)Ð ˜DÓ (ñ )FÓ(GÐ �x ‘~Ó Gñ .Ó/ð " 8¨D¡>ó ñ )/ØMØBØñ)Ð  ó ð "Ð �dÓ !ñ )FÓ(GÐ �x ‘~Ó Gñ 1VÓ0WÐ ˜x¨™~Ó Wñ $Ð*VÑWÐ �dÓ Wð 05Ð &¨Ó 4ð 57Ð ! 4¨¨S¨¡>Ó 6ð )-Ð ˜ ™Ó ,ð ð (¨Ø1ñ*ó ð —J‘J—N‘NÐ#>ÀÓDÈÑK€ˆTÓ Kð ‡J�J‡N�NÐ=¸sÓCÀsÑJð ˜Dó ð —:‘:—>‘>Ð"<¸cÓBÀcÑI€
ˆDÓ Iñ
 *3«¤_Ð ˜dÓ 4à—‘—‘Ð >ÀÓDÈÑK€ð ‡J�J‡N�NÐ9¸3Ó?À3ÑFð ð
 €ð Ð ð �z‰z�~‰~Ð:¸CÓ@ÀCÑG€Ø�j‰j�n‰nÐ8Ó9¸SÑ@€à‡J�J‡N�NÐ=Ó>À#ÑEð ð —‘—‘Ð >ÀÓDÈÑK€ð ‡J�J‡N�NÐ4¹Y¿[¹[±cÈcÓRØ
ñð ð Ð ð €ð Ð ð —*‘*—.‘.Ð!@À#ÓFÈ#ÑM€ð —
‘
—‘Ð<Ó=ÀÑD€ð HJÇzÁzÇ~Á~Ø óH€ˆWÐCÑDó ð
 Ð ð €ñ *Ó+€ð Ð ð €ð €ð TXÐ ˜5Ÿ?™?×<Ñ<×PÑPÓ WØTXÐ ˜EŸO™O×=Ñ=×QÑQÓ Xð TXÐ �u—‘×8Ñ8×PÑPÓ Wð PTÐ �u—‘×8Ñ8×LÑLÓ SØPTÐ ˜Ÿ™×9Ñ9×MÑMÓ Tð
 JNÐ �h˜x¨¯©¯©×)=Ñ)=Ð(>ÀÐ(DÑEÑFÓ Mð 	ð ˜ØØ	Ð;Ñ	<Ð=ØÐ:Ñ;ð	=ññó 	ð 	ð ˜(ØØ	Ð;Ñ	<Ð=ØÐ:Ñ;ð	=ññó 	ð Ð ð $)Ð  ð €ð €ð €ð( 68Ð ˜˜c 4¨¨S¨¡>Ð1Ñ2Ó 7ð 79Ð ˜$˜s D¨¨c¨¡NÐ2Ñ3Ó 8ð Ð ð —z‘z—~‘~Ð&JÈCÓPÐTWÑWÐ ð #Ð ð €ð ØØØñ	+Ð ˜˜c 3˜h™ó ð FQ€�ÐAÑBÓ Pð $)Ð  ð. ð (¨Ø	ØØØÐ?Ñ@ÐAØÐ>Ñ?ðAñ	
ð	ññ*ó ð )-Ð ˜ ™Ó ,ð Ð Ø %Ð ð /0Ð &¨Ó /ð >DÐ �wÐ9Ñ:Ó CàQUÐ .°¸À3À%ÈÀ*Ñ9MÑ0NÓ Uà4:Ð ˜7 =Ñ1Ó :ð 	ð 3°H¸XÀsÀeÈSÀjÑ=QÑ4Ró ð 17Ð �w˜}Ñ-Ó 6àQUÐ .°¸À3À%ÈÀ*Ñ9MÑ0NÓ Uð  Ð à*/Ð ! 4Ó /ð €ð €ð €
ñ &,ØØ?Ø<ñ&Ð ˜dó ð ‡J�J‡N�NÐ@ÓAÀSÑHð ð ‡J�J‡N�NÐ;Ó<ÀÑCð ð
 �z‰z�~‰~Ð:Ó;¸sÑB€ð Ÿ™Ÿ™Ð(NÓOÐSVÑVÐ ð —J‘J—N‘NÐ#DÓEÈÑLÐ á#&Ø‡IƒIÐ5°rÓ:ó$Ð  ñ !$Ø‡IƒIÐ2°CÓ8ó!Ð ð°¸#±ô ñ ,Ó-ð  ¨¡ó ð ‡J�J‡N�NÐDÀcÓJÈcÑQð "ð ‡J�J‡N�NÐQÐSVÓWØ
ñð /ð ‡J�J‡N�NÐBÀCÓHÈCÑOð  ð ‡J�J‡N�NÐ2¹y¿{¹{±CÐPSÓTØ
ñð �ó ð *,Ð ˜T #™YÓ +ð ,.Ð ˜t C™yÓ -ð -2Ð # TÓ 1ñ $Ø4Ø7ØñÐ �dó ð !#Ð �D˜‘IÓ "ð  ŸZ™ZŸ^™^Ø.Ð0Aóç‚%ƒ'ð ð¨x¸©}ô ñ /TÓ.UÐ ˜h s™mÓ Uð  ŸZ™ZŸ^™^Ø.°óç‚%ƒ'ð ð DFÇ:Á:Ç>Á>Ø2°IóDç‚%ƒ'ð  Ð(?Ñ @ó 
ð DFÇ:Á:Ç>Á>Ø2°IóDç‚%ƒ'ð  Ð(?Ñ @ó 
ð "Ð �TÓ !ð "Ð �TÓ !ð €ˆÓ ð !Ð �TÓ  Ø#Ð ˜Ó #Ø!Ð �dÓ !ð ‡J�J‡N�NÐ.°Ó4¸Ñ;ð ˜4ó ð
 "Ð ð  Ð ð Ð à�J‰J�N‰NÐ4Ó5¸Ñ<€	ð —j‘j—n‘nÐ%HÓIÈSÑPÐ ð
 /3Ð +à03Ð -à14Ð .ð Ÿ
™
Ÿ™Ð'LÓMÐQTÑTÐ ñ !Ø‡J�J‡N�NÐ=¸tÓDóÐ ñ
  %Ø‡J�J‡N�NÐ?ÀÓFó Ð ð
 ‡J�J‡N�NÐ<Ó=ÀÑDð ð ‡J�J‡N�NÐJÓKÈsÑRð (ñ $'Ø‡J�J‡N�NÐ<¸cÓBó$Ð  ð Ÿ
™
Ÿ™Ð'LÈbÓQÐ à—J‘J—N‘NÐ#DÀjÓQÐ ð ‡J�J‡N�NÐ<¸cÓBÀcÑIð ð
B˜Cð B Dô BðK ð K¨ô KðG˜Cð G Dô Gð Ÿ™Ÿ™Ø*¨IóÐ ð
 !&§¢× 1× 1Ð 1‘S°sÐ à‡J�J‡N�NÐ6Ð8JÓKÈsÑRð ð ŸJ™JŸN™NÐ+KÈSÓQÐUXÑXÐ ð —Z‘Z—^‘^Ð$FÈÓLÐPSÑSÐ ð —*‘*—.‘.Ð!@ÓAÀSÑH€ð
 Ð ØÐ ð  Ð àð ! (¨3¡-ó ð
 €ð &+Ð "ð Ð à‡J�J‡N�NÐCÓDÈÑKð !ð
 EIÐ ˜ ¨"Ð.?Ð*?Ñ!@ÑAÓ Hð Ð ð —Z‘Z—^‘^Ð$@ÓAÀSÑH€ˆdÓ HØŸ™Ÿ™Ð(HÓIÈSÑPÐ �$Ó PØŸ
™
Ÿ™Ð'LÈbÓQÐ à‡J�J‡N�NØ2¹9¿;¹;±CÈCóð ñð ˜Dó ð  (,Ð  Ó +ð !#Ð ð ‡J�J‡N�NÐ<¸cÓBÀcÑIð ð
 $%Ð  ð €ð -/Ð )ð /3Ð ˜h s™mÓ 2ð Ð ð Ð ð  Ð ð €ð €ð —9“9Ð=¸sÓCÀsÑJÐ ð —	“	Ð7Ó8¸CÑ?€ñ �B—J‘J—N‘NÐ#@À!ÓDÓE€à—:‘:—>‘>Ð"BÀCÓHÈCÑOÐ ð "&Ð ð  %Ð ð  Ð ð Ð ð €àÐ ð Ð ð "#Ð à&*Ð #àÐ ð %*Ð !à$Ð ð  $Ð ð Ð ð  × 1Ò 1Ñ1×O°U¸e×>OÒ>OÑ5OÐ Ù“[×8Ð$8Ð ð ‡J�J‡N�NÐEÀsÓKÈsÑRð #ð
 &*Ð �X˜c‘]Ó )Ø(,Ð ˜ ™Ó ,ñ Ø2Øñ€�ó ð
 Cô 
ñ 6Ó7Ð �SÓ 7ð &.Ð ˜sÓ -ñ !'Ø7Ø:Øñ!Ð ˜ó ñ Ø Øñ€ˆTó ð  Ð ØÐ ð  ØðIÐ   U¨8°IÑ+>ÀÐ+CÑ%DÑ Eó ð
 !Ð �DÓ  ð ‡J�J‡N�NÐ>ÀÓDÈÑKð ð
 +,Ð " CÓ +ð +.Ð " CÓ -ð ,0Ð ! 5Ó /÷:ñ :÷
58ò 58ðp6¨Tõ 6ð! õ !ñJ *3¯©¡Ò:PÓ:R��˜#‘Ó Rñ $*Ø:Ø=Øñ$Ñ ˜Dó ñ #)Øñ#Ñ ˜Có ñ ">Ó!?Ñ ˜$Ó ?ñ $*Ø
;ñ$Ñ ˜Dó ñ 39ØIØLØñ3Ñ )¨4ó ð ‡J�J‡N�NÐ>ÀÓDÈÑKñ ˜Tó ñ
 '-Ø
>ñ'Ñ ˜tó ð
 ˜3‘-Ó Ù‡;�;ð
 ß$Ð$çÙ&×3Ó3Ø—’—’™[×0Ò0°°b·f²fÓ=¹zÓJó Òñ  '×3Ó3±JÓ?Òð
 Ñð Ñ ð —
‘
—‘Ñ<¸cÓBÀcÑI�ð ‡J�J‡N�NÑ8¸#Ó>À#ÑEñ ð Ñ ð Ñ ð Ñ ð (-Ñ $ð Ñ ñ(  Ñ ð �ð Ñ ð ��Ô ð —‘—‘Ñ >ÀÓDÈÑK�ð #Ñ ð
 $Ñ ð Ñ ð !Ñ ñ +4«+¤oÑ ˜tÔ 5à�z‰z�~‰~Ñ5°rÓ:�Ù  BÑ&Ñ Ù ,°Ó 3™"¹Ñ ð +-¯*©*¯.©.Ù" Dó+Ñ ˜( 3™-ô ð
 ‡J�J‡N�NÑHÓIÈSÑPñ 0ð Ñ ð —‘—‘Ñ 8¸#Ó>À#ÑE�ˆ$Ô Eð %*Ñ ˜TÔ )ð  %Ñ ˜Ô $ð (-Ñ  Ô ,ð
 $Ñ �tÔ #ð $Ñ �tÔ #ð 8=Ñ .°Ô <ð ,1Ñ " DÔ 0ð 49Ñ *¨DÔ 8ð ‡J�J‡N�NÑ?ÀÓEÈÑLñ ð Ÿ*™*Ÿ.™.Ñ)JÈCÓPÐTWÑWÑ �4Ô Wð 37Ñ )¨4Ô 6ð 46Ñ �t˜C  c¨3 h¡Ð/Ñ0Ô 5á˜RŸZ™ZŸ^™^Ñ,MÉuÓUÓVÑ �3Ô Và %Ñ ˜Ô %ð	˜X c™]ö 	ñ %+Ù1Øñ%Ñ ˜cô ÷ô ÷"@ô @÷FHô H÷V
o1ô o1÷j%ô %÷(ô (ñD ‘WÓö4‰7ó 4ó ñ4ñ< ‘WÓö"‰'ó "ó ñ"÷F#ô F#ñT =B�ˆWÑ8Ñ9Ô Añ 7?�ˆgÑ2Ñ3Ô >ñ "*�ˆW‘XÑÔ )ñ "*�ˆW‘XÑÔ )÷ô ÷8Kô Kó\"Ñ �T˜#‘Yô ó*Ñ ˜T #™Yô ð6 UW���h §¢¨e¯lªl¸E¿LºLÐIÈ4ÐOÑPÑQÔ Vð ‡IƒIÑHÈ#ÓNÐRUÑUñ +÷
 ô  ÷.4ô .4öb Þ,÷ô ð( ‡J�J‡N�NÑ:¸CÓ@ÀCÑGñ ˜ô ñ
 �c—k’k¡(Ñ+Õ ,øñS* ™Ð$ó  ØÔð ús   ÷9A AI< ùAI< ÁI<AJÁJAJ