+
    –°³j„/ ã                  ó¾  € ^ RI Ht ^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RI	t	^ RI
t
^ RIt^ RIt^ RIt^ RIt^ RIHtHt ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ R	IHt ^ R
IHtHtHtH t  ^ RI!H"t"H#t#H$t$H%t%H&t&H't' ^ RI(H)t) ^ RI*t+^ RI,t+^ RI-H.u H/t0 ^ RI1H2t2 ^ RI+H3t3 ^ RI4H5t5 ^ RI6H7t7H8t9H	t:H.t; ^ RI<H=t> ^ RI?H@t@ ^ RIAHBtB ^ RICHDtDHEtEHFtFHGtGHHtHHItIHJtJHKtKHLtLHMtMHNtN ^ RIOHPtPH8tQ ^ RIRHStS ^ RITHUtUHVtVHWtWHXtX ^ RIYHZtZH[t[H\t\ ^ RI]H^t^H_t_H`t`HataHbtbHctc ^ RIdHete ^ RIfHgtgHhthHitiHjtj ^ RIkHltlHmtmHntnHotoHptpHqtqHrtr ^ RIsHttt ^ RIuHvtvHwtwHxtxHytyHztzH{t{H|t|H}t}H~t~Ht ^ RI€H�t� ^ R I‚Hƒtƒ ^ R!I„H…t… ^ R"I†H‡t‡ ^ R#I,Hˆtˆ ^ R$I‰HŠtŠH‹t‹ ^ R%IŒH�t� ^ R&IŽH�t� ^ R'I�H‘t‘ ^R(I’H“t“H”t” ^R)I•H–t– ^R*I—H˜t˜ ^R+I™Hštš ^R,I›H8t8HœtœH�t� ^R-IžHŸtŸH t  ^R.I¡H¢t¢ ^R/I£H¤t¤ ^R0I¥H¦t¦ ^R1I§H¨t¨ ^R2I©HªtªH«t« ^R3I¬H­t­ ^R4I®H¯t¯ ^R5I°H±t±H²t² ^R6I³H´t´ ^R7I.HµtµH¶t¶H·t·H¸t¸H¹t¹HºtºH»t»H¼t¼H½t½ ^R8I¾H¿t¿ ]'       d+   ^ R9IÀHÁtÁHÂtÂHÃtÃ ^ R:IkHÄtÄHÅtÅ ^ R;IÆHÇtÇ ^ R<IÈHÉtÉ ^R=IÊHËtË ^R>I°HÌtÌ ]$! R?4      tÍ] ! R@4      tÎ]'       g   ]8EPž                  ! 4       '       g   RA RB ltÐRC RD ltÑM^ REIÒHÑtÑHÐtÐ ]'       dL   ^ RFIÓHÔtÔHÕtÕHÖtÖ ]Á]×]Ø,          .]Ã]+EP²                  ,          3,          ]Ú,          ]×]Ú,          ,          ]É,          tÛ ! RG RH]EP¸                  4      tÝ] ! RI RJ4      4       tÞRK RL ltßRM RN ltà]ß! 4       tá]áEPÄ                  tã]áEPÈ                  tå]áEPÌ                  tç]	EPÐ                  ! ]é4      tê]+EPÖ                  EPÙ                  ]éRO4      tí]+EPÖ                  EPÙ                  ]éRP4      tî]+EPÖ                  EPÙ                  ]éRQ4      tï]+EPÖ                  EPÙ                  ]éRR4      tð]+EPÖ                  EPÙ                  ]éRS4      tñRT RU ltòRV RW ltóRX RY ltôRZ R[ ltõR\ R] ltö]EPî                  ! R4      R^ R_ l4       tø]EPò                  R` Ra l4       túRb Rc ltûRd Re ltüRÙRg Rh lltýRi Rj ltþRk Rl ltÿRm Rn lEt Ro Rp lEtRÚRq Rr llEtRÙRs Rt llEtRÛRv Rw llEtRx Ry lEtRz R{ lEtR| R} lEtRÙR~ R llEtRÜR€ R� llEt	]EP                  R‚ Rƒ l4       Et ! R„ R…]&RfR†7      Et ! R‡ Rˆ]%4      EtRÜR‰ RŠ llEt]Ð! R‹RŒ7      RÜR� RŽ ll4       Et ! R� R�4      Et ! R‘ R’]4      Et ! R“ R”E]4      EtRÜR• R– llEtR— R˜ lEtRÞR™RÝRšRÝR›RÝRœRfR�RÝ/Rž RŸ lllEtR  R¡ lEtR¢ R£ lEtRÞRœRf/R¤ R¥ lllEtE]R3R¦ R§ llEt]! ^ 4      EtR¨ R© lEtRßRª R« llEtR¬ R­ lEtR®R/R¯ R° llEtR± R² lEtR³ R´ lEt ]! RuRµ7       ! R¶ R·4      4       Et!R¸ R¹ lEt"E]Rf3Rº R» llEt#E]3R¼ R½ llEt$R¾ R¿ lEt%]! RuRµ7       ! RÀ RÁ]]Í]Î3,          4      4       Et&E]RRRfR3RÂ RÃ llEt'RÄ RÅ lEt(RÆ]¤RÇR/RÈ RÉ llEt)RÆ]¤RÇR/RÊ RË llEt*RÌ RÍ lEt+RÎ RÏ lEt,RÐ RÑ lEt-RÒ RÓ lEt.RÜRÔR/RÕ RÖ lllEt/RÜR× RØ llEt0R# )àé    )ÚannotationsN)ÚABCÚabstractmethod)Údefaultdict)ÚAbstractContextManager)Ú	dataclass)Úcurrentframe)Úcount)Ú
attrgetter)ÚAnyÚGenericÚTYPE_CHECKINGÚTypeVar)ÚNeverÚoverrideÚ	ParamSpecÚProtocolÚ	TypedDictÚUnpack)Úmock)Ú#min_cut_rematerialization_partition)Úfx)Úenable_python_dispatcher)Úcompiled_autogradÚconfigÚloggingÚutils)Úcommon)Úget_interface_for_device)Úwrap_compiler_debug)Úchromium_event_timedÚCompileEventLoggerÚcountersÚdetect_fake_modeÚdynamo_timedÚflatten_graph_inputsÚget_inputs_devicesÚget_metrics_contextÚ	GmWrapperÚlazy_format_graph_codeÚset_feature_use)Úaot_autogradr   )Ú!unwrap_tensor_subclass_parameters)Úaot_export_moduleÚGraphOutputNameÚmake_boxed_funcÚSerializableAOTDispatchCompiler)Ú	code_hashÚFxGraphCacheÚoutput_code_log)ÚBoxedDeviceIndexÚ/cudagraph_trees_clone_live_user_visible_outputsÚcudagraphs_logÚformat_default_skip_messageÚ#log_cudagraph_skip_and_bump_counterÚPlaceholderInfo)ÚCustomPartitionerFn)Úcreate_kernel_information_jsonÚ"create_mapping_pre_post_grad_nodesÚget_kernel_information_jsonsÚsave_args_for_compile_fx_inner)ÚCompiledAOTIÚCompiledFxGraphÚCompiledFxGraphConstantsWithGmÚcopy_strided_storage_Úget_expanded_dimsÚindex_expanded_dimsÚ
OutputCode)Ú	cache_dir)
Ú	BoxedBoolÚcount_tangentsÚfresh_cacheÚget_all_devicesÚget_static_bw_input_idxsÚ	InputTypeÚis_gpuÚshould_assume_input_alignedÚ should_use_remote_fx_graph_cacheÚtensor_is_aligned)ÚFakeScriptObject)Úis_custom_class)Útrace_structured)Úcompile_time_strobelight_meta)ÚGraphModule)Úfree_unbacked_symbolsÚSymExprPrinter)ÚFakeTensorProp)Ú_WaitCounter)Ú
OrderedSet)ÚShortenTracebackÚ	SkipFrame)Ú_use_lazy_graph_module)Ú_PyTreeCodeGen)Ú
has_triton)r   Údistributed_autotuneÚmetrics)Úget_wrapper_codegen_for_deviceÚinit_backend_registration)ÚDebugContext)Úselect_decomp_table)ÚInductorError)Újoint_graph_passes)Úpost_grad_passesÚview_to_reshape)Úpre_grad_passes)ÚGraphLowering)Úget_device_typeÚIRNode)ÚTritonBundler)	Úalign_inputs_from_check_idxsÚclone_preserve_stridesÚcopy_misaligned_inputsÚ get_cloned_parameter_buffer_nameÚ%get_first_incompatible_cudagraph_nodeÚ#maybe_get_suppress_shape_guards_ctxÚoutput_nodeÚremove_unaligned_input_idxsÚshape_env_from_inputs)ÚV)ÚCallableÚ	GeneratorÚSequence)Ú_StrideExprStrÚCompiledFnRunner)Ú
OpOverload)ÚWeights)Ú	CacheInfo)ÚExternKernelNodeÚ_PÚ_Tc               ó    € V ^8„  d   QhRRRR/# )é   ÚattrÚstrÚreturnz.Callable[[Callable[_P, _T]], Callable[_P, _T]]© )Úformats   "Ú[/home/luca/screen-checking/.venv/lib/python3.14/site-packages/torch/_inductor/compile_fx.pyÚ__annotate__r�   ž   s   € ÷ %ñ %˜3ð %Ð#Qñ %ó    c                ó"   € \         P                  # ©N)Údynamo_utilsÚidentity©r‡   s   &rŒ   Útime_and_logr”   ž   s   € Ü×$Ñ$Ð$rŽ   c               ó$   € V ^8„  d   QhRRRRRR/# )r†   ÚargsÚobjectÚkwargsr‰   ÚNonerŠ   )r‹   s   "rŒ   r�   r�   ¡   s!   € ÷ ñ  Fð °fð Àñ rŽ   c                 ó   € R # r�   rŠ   )r–   r˜   s   *,rŒ   Úlog_optimus_to_scubar›   ¡   s   € ÙrŽ   )r›   r”   )ÚFQNÚGraphInputNameÚGraphSignaturec                  ó"   € ] tR t^³t^ t^t^tRtR# )ÚFxCompileModerŠ   N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__ÚNORMALÚ	SERIALIZEÚ
SUBPROCESSÚ__static_attributes__rŠ   rŽ   rŒ   r    r    ³   s   † Ø€Fð €Ià„JrŽ   r    c                  ó6   € ] tR t^¼t$ R]R&   R]R&   R]R&   RtR# )ÚFxCompileConfigr    ÚmodeÚboolÚ	use_asyncÚuse_progressiverŠ   N©r¡   r¢   r£   r¤   Ú__annotations__r¨   rŠ   rŽ   rŒ   rª   rª   ¼   s   ‡ à
ÓØƒOØ×rŽ   rª   c               ó   € V ^8„  d   QhRR/# )r†   r‰   rª   rŠ   )r‹   s   "rŒ   r�   r�   Ã   s   € ÷ Cñ C /ñ CrŽ   c                 óæ  € R p \         P                  P                  V 4      pVf   \        \        P
                  RR4      # RpRpVP                  4       P                  R4      '       d   RpVR,          pVP                  4       P                  R4      '       d   RpVR,          p VP                  4       p\        \        V,          W#4      #   \         d™    ^ RI
pTP                  ! \        4      pTP                  RTT R	P                  \        R
 \        P                    4       4      4      4       \         P                  P#                  T 4       \        \        P
                  RR4      u # i ; i)ÚTORCHINDUCTOR_FX_COMPILE_MODENFzprogressive+T:é   NNzasync+:é   NNz>Invalid value of %s for %s. Expected one of %s. Using default.z, c              3  ó8   "  € T F  p\        V4      x € K  	  R # 5ir�   )Úrepr©Ú.0Úxs   & rŒ   Ú	<genexpr>Ú+_fx_compile_mode_default.<locals>.<genexpr>Þ   s   é € ÐHÑ.G¨œT !ŸW˜WÓ.Gùó   ‚)ÚosÚenvironÚgetrª   r    r¥   ÚlowerÚ
startswithÚupperÚKeyErrorr   Ú	getLoggerr¡   ÚerrorÚjoinÚsortedÚ__members__Úpop)ÚnameÚvaluer­   r®   r   Úlogs         rŒ   Ú_fx_compile_mode_defaultrÎ   Ã   s'  € Ø*€DÜ�J‰J�N‰N˜4Ó €EØ‚}Üœ}×3Ñ3°U¸EÓBÐBà€IØ€Oà‡{�{ƒ}×Ñ ×/Ò/ØˆØ�c•
ˆØ‡{�{ƒ}×Ñ ×)Ò)Øˆ	Ø�b•	ˆðCØ—‘“ˆÜœ}¨UÕ3°YÓPÐPøÜô CÛà×Ò¤Ó)ˆØ�	‰	ØLØØØ�I‰I”fÑH¬m×.GÒ.GÓHÓHÓIô		
ô 	�
‰
�‰�tÔÜœ}×3Ñ3°U¸EÓBÒBðCús   Â&&C ÃB E0Å/E0c               ó   € V ^8„  d   QhRR/# )r†   r‰   zlist[dict[str, Any]]rŠ   )r‹   s   "rŒ   r�   r�   å   s   € ÷ ñ Ð"6ñ rŽ   c                 ó   € R R/.# )Úmax_autotuneTrŠ   rŠ   rŽ   rŒ   Ú_get_progression_configsrÒ   å   s   € ð 
˜Ððð rŽ   Ú
perf_hintsÚpre_grad_graphsÚpost_grad_graphsÚcudagraph_static_inputsÚinductor_metricsc               ó    € V ^8„  d   QhRRRR/# )r†   Ú	num_fixedÚintr‰   ú	list[int]rŠ   )r‹   s   "rŒ   r�   r�   û   s   € ÷ 
4ñ 
4 Sð 
4¨Yñ 
4rŽ   c                óÞ   € \         P                  P                  P                  4       p\	        \        V 4      4      pV'       d   VP                  '       g   V# VP                  P                  # r�   )ÚtorchÚ_guardsÚTracingContextÚtry_getÚlistÚrangeÚfw_metadataÚstatic_input_indices)rÙ   ÚcontextÚfixeds   &  rŒ   Úget_static_input_idxsrç   û   sP   € ô
 �m‰m×*Ñ*×2Ñ2Ó4€GÜ”�yÓ!Ó"€Eß˜'×-×-Ð-Øˆà×Ñ×3Ñ3Ð3rŽ   c               ó    € V ^8„  d   QhRRRR/# ©r†   ÚgmrV   r‰   r™   rŠ   )r‹   s   "rŒ   r�   r�     s   € ÷ Añ A {ð A°tñ ArŽ   c                ó�  € V P                   P                  R R7      ^ ,          pRVP                  9   d   R# . p\        VP                  ^ ,          \
        P                  P                  4      '       g   VP                  ^ ,          pMVP                  pV Fž  p\        V\
        P                  P                  4      '       da   VP                  P                  R4      ;peB   \        V\
        P                  4      '       d"   VP                  VP                  4       4       K�  VP                  R4       K   	  W!P                  R&   R# )Úoutput©ÚopÚoriginal_output_stridesNÚval)ÚgraphÚ
find_nodesÚmetaÚ
isinstancer–   rÝ   r   ÚNoderÀ   ÚTensorÚappendÚstride)rê   rv   Úoutput_stridesÚoutput_node_argsrì   rð   s   &     rŒ   Úrecord_original_output_stridesrû     sñ   € Ø—(‘(×%Ñ%¨Ð%Ó2°1Õ5€Kð ! K×$4Ñ$4Ô4Ùà€Nä�k×&Ñ& qÕ)¬5¯8©8¯=©=×9Ò9Ø&×+Ñ+¨AÕ.Ñà&×+Ñ+Ðã"ˆä�vœuŸx™xŸ}™}×-Ò-ØŸ™Ÿ™¨Ó.Ð.�Ò;Ü˜3¤§¡×-Ò-à×!Ñ! #§*¡*£,Ö/ð ×!Ñ! $Ö'ñ #ð 3A×ÑÐ.Ó/rŽ   c               ó    € V ^8„  d   QhRRRR/# ré   rŠ   )r‹   s   "rŒ   r�   r�   $  s   € ÷ 'ñ '°+ð 'À$ñ 'rŽ   c                ó
  € V P                   P                  R \        P                  P                  P
                  R7       F4  p\        WP                  ^ ,          P                  4      p\        V4       K6  	  \        V 4       R# )Úcall_function©rî   ÚtargetN)rñ   rò   rÝ   ÚopsÚhigher_orderÚinvoke_subgraphÚgetattrr–   r   Ú)_recursive_record_original_output_stridesrû   )rê   ÚnodeÚsubgraphs   &  rŒ   r  r  $  sa   € à—‘×#Ñ#Ø¤5§9¡9×#9Ñ#9×#IÑ#Ið $ö ˆô ˜2Ÿy™y¨�|×2Ñ2Ó3ˆÜ1°(Ö;ñ	ô # 2Ö&rŽ   c               ó    € V ^8„  d   QhRRRR/# ré   rŠ   )r‹   s   "rŒ   r�   r�   /  s   € ÷ =ñ =°;ð =À4ñ =rŽ   c           	     óP  € V P                   P                  R \        P                  P                  P
                  R7       FÝ  p\        WP                  ^ ,          P                  4      pVP                   P                  RR7       F‰  p\        \        VP                  ^ ,          4      4       Uu. uFI  p\        VP                  ^ ,          V,          \        P                  P                  4      '       g   KG  VNKK  	  upVP                  R&   K‹  	  \        V4       Kß  	  R# u upi )rþ   rÿ   rì   rí   Úuser_visible_output_idxsN)rñ   rò   rÝ   r  r  r  r  r–   r   râ   Úlenrô   r   rõ   ró   Ú*_recursive_record_user_visible_output_idxs)rê   r  r  Úidxs   &   rŒ   r  r  /  sÖ   € à—‘×#Ñ#Ø¤5§9¡9×#9Ñ#9×#IÑ#Ið $ö ˆô ˜2Ÿy™y¨�|×2Ñ2Ó3ˆà—N‘N×-Ñ-°Ð-Ö:ˆDô !¤ T§Y¡Y¨q¥\Ó!2Ô3ó5á3�CÜ˜dŸi™i¨�l¨3Õ/´·±·±×?÷ �Ù3ñ5ˆD�I‰IÐ0Ó1ñ ;ô 	3°8Ö<óùò5s   Â/AD#Ã8D#c               ó   € V ^8„  d   QhRR/# )r†   r‰   r¬   rŠ   )r‹   s   "rŒ   r�   r�   ?  s   € ÷ =ñ =°$ñ =rŽ   c                 ó   € \        4       # r�   )r6   rŠ   rŽ   rŒ   Ú(_cudagraph_trees_clone_live_user_outputsr  ?  s   € Ü:Ó<Ð<rŽ   c               ó   € V ^8„  d   QhRR/# )r†   r‰   zCallable[..., None]rŠ   )r‹   s   "rŒ   r�   r�   D  s   € ÷ /ñ /Ð)ñ /rŽ   c                 ó6   € \         P                  ! \        4      # r�   )Údynamo_loggingÚget_step_loggerrÍ   rŠ   rŽ   rŒ   Ú_step_loggerr  C  s   € ä×)Ò)¬#Ó.Ð.rŽ   c               ó   € V ^8„  d   QhRR/# ©r†   r‰   r™   rŠ   )r‹   s   "rŒ   r�   r�   I  s   € ÷ 	
ñ 	
˜Tñ 	
rŽ   c                 ó0  € \         P                  P                  4       '       dr   \         P                  P                  P                  P
                  R 8w  d=   \         P                  P                  4       R8¼  d   \        P                  R4       R# R# R# R# )Útf32z­TensorFloat32 tensor cores for float32 matrix multiplication available but not enabled. Consider setting `torch.set_float32_matmul_precision('high')` for better performance.N)é   r   )	rÝ   ÚcudaÚis_availableÚbackendsÚmatmulÚfp32_precisionÚget_device_capabilityÚperf_hint_logÚinforŠ   rŽ   rŒ   Ú_warn_tf32_disabledr#  H  sn   € ô 	�
‰
×Ñ×!Ò!Ü�N‰N×Ñ×&Ñ&×5Ñ5¸Ô?Ü�J‰J×,Ñ,Ó.°&Ô8ä×Ñðdö	
ñ 9ñ @ñ 	"rŽ   c               ó$   € V ^8„  d   QhRRRRRR/# )r†   ÚmodrV   rê   r‰   r™   rŠ   )r‹   s   "rŒ   r�   r�   U  s&   € ÷ H/ñ H/ ð H/°+ð H/À$ñ H/rŽ   c           
     ó<  a€ \        V P                  RR7       UUu. uF  w  r#VNK	  	  upp4      oSP                  \        V P                  RR7       UUu. uF  w  r#VNK	  	  upp4      4       R V3R llpVP                  P
                   EF}  pVP                  R8X  g   K  VP                  pVP                  R4      '       g   VP                  R4      '       g   KS  \        W4      '       g   Kf  \        V4      ! V4      p\        V4      ! V 4      p\        V\        4      '       d4   \        V\        4      '       d   VP                  VP                  J d   KÐ  MUVP                  VP                  8X  d;   VP                  VP                  8X  d    \         P"                  ! Wx4      '       d   EK&  VP                  R4      '       d   RMRp	V! VP                  V	4      p
V	 V
 2pWµn        \%        WV4       SP'                  V4       EK€  	  R# u uppi u uppi )	a‡  
In aot_export_module (make_fx), we create get_attr nodes with name prefix
"_tensor_constant" and "_torchbind_obj". See Tracer.create_arg() in
torch/fx/_symbolic_trace.py

However, this might result in name collision if the original mod already
has a different buffer with the same name.

We resolve this potential name collision here by changing the target name
with a new number post fix.
F©Úremove_duplicatec               ó$   € V ^8„  d   QhRRRRRR/# )r†   rñ   zfx.GraphÚprefixrˆ   r‰   rÚ   rŠ   )r‹   s   "rŒ   r�   Ú-_resolve_name_collision.<locals>.__annotate__i  s!   € ÷ ñ ˜xð °ð ¸ñ rŽ   c                ó˜  <€ ^ pV P                    F­  pVP                  R8X  g   K  VP                  P                  V4      '       g   K9  \	        VP                  4      \	        V4      8”  g   K^  VP                  P                  V4      R,          pVP                  4       '       g   K˜  \        V\        V4      4      pK¯  	  S F|  pVP                  V4      '       g   K  \	        V4      \	        V4      8”  g   K7  VP                  V4      R,          pVP                  4       '       g   Kg  \        V\        V4      4      pK~  	  V^,           # )r   Úget_attréÿÿÿÿ)	Únodesrî   r   rÂ   r  ÚsplitÚisdigitÚmaxrÚ   )rñ   r*  Úir  Úpost_fixÚkeyÚexisting_keyss   &&    €rŒ   Úfind_smallest_iÚ0_resolve_name_collision.<locals>.find_smallest_ii  së   ø€ ØˆØ—K”KˆDØ�w‰w˜*Ö$¨¯©×)?Ñ)?À×)GÔ)GÜ�t—{‘{Ó#¤c¨&£kÖ1Ø#Ÿ{™{×0Ñ0°Ó8¸Õ<�HØ×'Ñ'×)Ô)Ü ¤3 x£=Ó1šñ  ó !ˆCØ�~‰~˜f×%Ô%Ü�s“8œc &›kÖ)Ø"Ÿy™y¨Ó0°Õ4�HØ×'Ñ'×)Ô)Ü ¤3 x£=Ó1šñ !ð �1�uˆrŽ   r-  Ú_tensor_constantÚ_torchbind_objN)r[   Únamed_parametersÚupdateÚnamed_buffersrñ   r/  rî   r   rÂ   Úhasattrr   rô   rR   Úreal_objÚdeviceÚdtyperÝ   ÚequalÚsetattrÚadd)r%  rê   rË   rð   r7  r  Útarget_nameÚ	gm_targetÚmodel_targetr*  Únew_idÚnew_target_namer6  s   &&          @rŒ   Ú_resolve_name_collisionrJ  U  sÏ  ø€ ô Ø"×3Ñ3ÀUÐ3ÔKÔLÑK‘)�$‹ÑKÒLó€Mð ×ÑÜ¨#×*;Ñ*;ÈUÐ*;Ô*SÔTÑ*S™Y˜T“DÑ*SÒTÓUô÷ð ð  —‘—•ˆØ�7‰7�jÖ ØŸ+™+ˆKØ×)Ñ)Ø"÷ò à!×,Ñ,Ð-=×>Ò>Ùä˜3×,Ò,ÙÜ" ;Ô/°Ó3ˆIÜ% kÔ2°3Ó7ˆLÜ˜)Ô%5×6Ò6ä˜|Ô-=×>Ò>Ø!×*Ñ*¨l×.CÑ.CÓCáøà× Ñ  L×$7Ñ$7Ô7Ø—O‘O |×'9Ñ'9Ô9Ü—K’K 	×8Ò8ò ð ×)Ñ)Ð*<×=Ò=ñ #à%ð ñ
 % R§X¡X¨vÓ6ˆFØ!' ¨¨Ð1ˆOØ)ŒKÜ�B¨Ô3Ø×Ñ˜o×.óI ùó- 	Mùó Us   œH
ÁHc               ó(   € V ^8„  d   QhRRRRRRRR/# )r†   r%  rV   rê   Úgraph_signaturerž   r‰   rŠ   )r‹   s   "rŒ   r�   r�      s2   € ÷ Pñ PØ	ðPØ%ðPØ8FðPàñPrŽ   c                óV  € ^ RI HpHp \        W4       / pV P	                  RR7       F  w  rgWuV&   V! VVVVP
                  R7       K!  	  V P                  RR7       F  w  rhW…V&   V! VVVVP                  R7       K!  	  VP                  P                  RR7      p	. p
V	 FÒ  pVP                  pWÂP                  9   d'   VP                  V,          pV
P                  V4       KE  WÂP                  9   dN   VP                  V,          pV
P                  V4       \        W^,          4      VP                  \!        V4      &   K¢  WÂP"                  9  d   \%        RV R24      hV
P                  R	4       KÔ  	  ^ R
IHp \+        VP                  P-                  4       P.                  ^ ,          4      p. pVP0                  pVP2                  pVP4                  p\7        V4       F  w  ppR	pV\9        V4      \9        V4      ,           \9        V4      ,           8  d7   \;        VP                  4      pVV9   d   VV,          pMVV9   d
   VV,          pVP                  V4       K�  	  V! VV
V\<        P>                  ! 4       R	4      p\A        VPC                  4       4      VP                  R&   V# )r   )Ú_assign_attrÚ	_AttrKindFr'  )Ú	attr_kindÚplaceholderrí   z	Expected z% to be in graph_signature.user_inputsN)Ú_unliftÚmutated_named_buffers)"Útorch.export.unflattenrN  rO  rJ  r;  Ú	PARAMETERr=  ÚBUFFERrñ   rò   rË   Úinputs_to_parametersr÷   Úinputs_to_buffersrq   ró   rs   Úuser_inputsÚAssertionErrorÚtorch.export._unliftrR  Útuplerv   r–   Úbuffers_to_mutateÚuser_inputs_to_mutateÚoutput_tokensÚ	enumerater  r/   ÚpytreeÚtreespec_leafr[   Úvalues)r%  rê   rL  rN  rO  Ú
state_dictrË   ÚparamÚbufferÚplaceholder_nodesÚlifted_inputsr  Ú	node_nameÚparameter_nameÚbuffer_namerR  ÚoutputsÚmutated_outputsÚbuffer_mutationsÚuser_input_mutationsr_  r  ÚoutrÌ   Úunlifted_gms   &&&                      rŒ   Ú_unlift_graphrr     s‡  € ÷ ?ä˜CÔ$àIK€JØ×+Ñ+¸UÐ+ÖC‰ˆØ �4ÑÙØØØØ×)Ñ)÷		
ñ Dð ×)Ñ)¸5Ð)ÖA‰ˆØ!�4ÑÙØØØØ×&Ñ&÷		
ñ Bð Ÿ™×+Ñ+¨}Ð+Ó=ÐØ&(€Mó "ˆØ—I‘Iˆ	Ø×<Ñ<Ô<Ø,×AÑAÀ)ÕLˆNØ× Ñ  Ö0Ø×;Ñ;Ô;Ø)×;Ñ;¸IÕFˆKØ× Ñ  Ô-ä& zÕ'>Ó?ð �G‰GÔ4°[ÓAÓBð × ;Ñ ;Ô;Ü$Ø 	˜{Ð*OÐPóð ð × Ñ  Ö&ñ! "õ$ -ä).¨r¯x©x×/CÑ/CÓ/E×/JÑ/JÈ1Õ/MÓ)N€GØ€OØ&×8Ñ8ÐØ*×@Ñ@ÐØ#×1Ñ1€MÜ˜gÖ&‰ˆˆSØ-1ˆà”Ð%Ó&¬Ð-AÓ)BÕBÄSÈÓEWÕWÔWÜ" 3§8¡8Ó,ˆDØÐ'Ô'Ø(¨Õ.‘ØÐ-Ô-Ø,¨TÕ2�à×Ñ˜uÖ%ñ 'ñ Ø
ØØÜ×ÒÓØó€Kô 1;Ð;K×;RÑ;RÓ;TÓ0U€K×ÑÐ,Ñ-ØÐrŽ   Fc               ó$   € V ^8„  d   QhRRRRRR/# )r†   rê   rV   Úskip_invoke_subgraphr¬   r‰   zGenerator[str, None, None]rŠ   )r‹   s   "rŒ   r�   r�   ó  s$   € ÷ !ñ !Øð!Ø+/ð!àñ!rŽ   c              #  óB  "  € \        R  V P                  P                  RR7       4       4      p\        4       pV P                  4        FJ  w  rEWB9   g   K  \	        V\
        P                  P                  4      '       g   K9  VP                  V4       KL  	  V'       ds   V P                  P                  R\
        P                  P                  P                  R7       F/  pVP                  VP                  ^ ,          P                  4       K1  	  T Rj  x€L
  R#  L5i)c              3  ó8   "  € T F  qP                   x € K  	  R # 5ir�   )r   r¸   s   & rŒ   r»   Ú&_get_subgraph_names.<locals>.<genexpr>ö  s   é € ð 5Ù<�Q�ŽÓ<ùr½   r-  rí   rþ   rÿ   N)r[   rñ   rò   Únamed_childrenrô   rÝ   r   rV   rD  r  r  r  Údiscardr–   r   )rê   rt  Úall_subgraph_namesÚfx_subgraph_namesÚ
child_nameÚchild_moduler  s   &&     rŒ   Ú_get_subgraph_namesr~  ó  så   é € ô +5ñ 5ØŸ(™(×-Ñ-°Ð-Ô<ó5ó +Ðô *4«ÐØ$&×$5Ñ$5Ö$7Ñ ˆ
ð Ö+´
Øœ%Ÿ(™(×.Ñ.÷1
ô 1
ð ×!Ñ! *Ö-ñ %8÷ Ø—H‘H×'Ñ'Ø¤u§y¡y×'=Ñ'=×'MÑ'Mð (ö 
ˆDð ×%Ñ% d§i¡i°¥l×&9Ñ&9Ö:ñ
ð
 !× Ô ùs%   ‚ADÁ'DÂDÂA7DÄDÄDc               ó    € V ^8„  d   QhRRRR/# )r†   rê   rV   r‰   údict[str, Any] | NonerŠ   )r‹   s   "rŒ   r�   r�     s   € ÷ ñ ØðàñrŽ   c                ól   € \        V R / 4      P                  R4      p\        VRR4      pT;'       g    R# )ró   Únested_region_configÚinductor_config_patchesN)r  rÀ   )rê   Únested_configÚpatchess   &  rŒ   Ú*_get_nested_region_inductor_config_patchesr†    s9   € ô ˜B ¨Ó+×/Ñ/Ð0FÓG€MÜ�mÐ%>ÀÓE€GØ�?ˆ?�dÐrŽ   c               ó    € V ^8„  d   QhRRRR/# )r†   rê   rV   r‰   úAbstractContextManager[None]rŠ   )r‹   s   "rŒ   r�   r�     s   € ÷ !ñ !Øð!à!ñ!rŽ   c                óv   € \        V 4      pVf   \        P                  ! 4       # \        P                  ! V4      # r�   )r†  Ú
contextlibÚnullcontextr   Úpatch)rê   r…  s   & rŒ   Ú$_patch_nested_region_inductor_configr�    s1   € ô 9¸Ó<€GØ‚Ü×%Ò%Ó'Ð'Ü�<Š<˜Ó Ð rŽ   c               ó    € V ^8„  d   QhRRRR/# ré   rŠ   )r‹   s   "rŒ   r�   r�     s   € ÷ Lñ L¸ð LÈñ LrŽ   c                óh  € V P                   P                  R \        P                  P                  P
                  R7       Fî  pVP                  P                  R/ 4      P                  R4      pVf   K4  VP                  ^ ,          p\        V\        P                  P                  4      '       d2   VP                  R8w  g!   \        VP                  \        4      '       g   K¤  \        WP                  R4      p\        V\         4      '       g   KÒ  VP                  P#                  RV4       Kð  	  R# )rþ   rÿ   Úcustomr‚  Nr-  )rñ   rò   rÝ   r  r  r  ró   rÀ   r–   rô   r   rõ   rî   r   rˆ   r  rV   Ú
setdefault)rê   r  r„  Úsubgraph_noder  s   &    rŒ   Ú/_propagate_invoke_subgraph_nested_region_configr“    sÜ   € ð —‘×#Ñ#Ø¤5§9¡9×#9Ñ#9×#IÑ#Ið $ö ˆð Ÿ	™	Ÿ™ h°Ó3×7Ñ7Ð8NÓOˆØÒ ÙØŸ	™	 !�ˆä˜=¬%¯(©(¯-©-×8Ò8Ø×Ñ :Ô-Ü˜m×2Ñ2´C×8Ò8áÜ˜2×3Ñ3°TÓ:ˆÜ�h¤×,Ô,Ø�M‰M×$Ñ$Ð%;¸]ÖKórŽ   c               ó$   € V ^8„  d   QhRRRRRR/# )r†   rê   rV   Úexample_inputsúSequence[InputType]r‰   rŠ   )r‹   s   "rŒ   r�   r�   4  s+   € ÷ Rñ RØðRà'ðRð ñRrŽ   c           
     ó  € \        R RRR7      ;_uu_ 4        \        V 4       \        V 4      ;_uu_ 4        \        P                  '       g   V uuRRR4       uuRRR4       # \        P
                  p\        P                  p\        V 4       F&  p\        W4      p\        VR4      p\        WV4       K(  	  \        WW#4      uuRRR4       uuRRR4       #   + '       g   i     M; i RRR4       R#   + '       g   i     R# ; i)Ú_recursive_pre_grad_passesTÚpre_grad_pass_time_us©Úlog_pt2_compile_eventÚdynamo_compile_column_usNrŠ   )r%   r“  r�  r   Úuse_pre_grad_passesÚadd_pre_grad_passesÚremove_pre_grad_passesr~  r  r˜  rC  rk   )rê   r•  Ú
add_passesÚremove_passesÚsubgraph_namer  Únew_subgraphs   &&     rŒ   r˜  r˜  4  sÖ   € ô 
Ø$Ø"Ø!8÷
ö 
ô
 	8¸Ô;Ü1°"×5Õ5Ü×-×-Ð-Ø÷ 6Ñ5÷
ò 
ô  ×3Ñ3ˆJÜ"×9Ñ9ˆMÜ!4°RÖ!8�Ü" 2Ó5�ä9¸(ÀBÓG�Ü˜¨<Ö8ñ	 "9ô
 # 2°zÓQ÷ 6Ñ5÷
ò 
÷ 6×5úÐ5÷
÷ 
÷ 
ò 
ús/   —C6¶C	Á
C6Á#A C	Ã
C6ÃC(Ã#C6Ã6D	c               ó(   € V ^8„  d   QhRRRRRRRR/# )r†   rê   rV   rt  r¬   Úinput_deviceútorch.device | Noner‰   rŠ   )r‹   s   "rŒ   r�   r�   L  s0   € ÷ -ñ -Øð-àð-ð &ð-ð ñ	-rŽ   c           
     ó  a aa€ R  V VV3R llp\        RRRR7      ;_uu_ 4        \        S 4       \        S 4      ;_uu_ 4        \        P                  '       g   S uuRRR4       uuRRR4       # \        \        S S4      4      pV F  pV! V4       K  	  \        S S4      p\        VRR7       F  pWT9  g   K  V! V4       K  	  VuuRRR4       uuRRR4       #   + '       g   i     M; i RRR4       R#   + '       g   i     R# ; i)	c               ó    € V ^8„  d   QhRRRR/# )r†   r¢  rˆ   r‰   r™   rŠ   )r‹   s   "rŒ   r�   Ú3_recursive_joint_graph_passes.<locals>.__annotate__Q  s   € ÷ 1ñ 1°ð 1¸ñ 1rŽ   c                óR   <€ \        SV 4      p\        VSS4      p\        SW4       R # r�   )r  Ú_recursive_joint_graph_passesrC  )r¢  r  r£  rê   r¥  rt  s   &  €€€rŒ   Ú_run_on_sub_graph_moduleÚ?_recursive_joint_graph_passes.<locals>._run_on_sub_graph_moduleQ  s-   ø€ Ü˜2˜}Ó-ˆÜ4ØÐ*¨Ló
ˆô 	��MÖ0rŽ   r«  TÚjoint_graph_pass_time_usrš  NF)rt  )r%   r“  r�  r   Úuse_joint_graph_passesr[   r~  rh   )rê   rt  r¥  r¬  Úold_subgraph_namesr¢  Úout_gms   fff    rŒ   r«  r«  L  só   ú€ ÷
1ò 1ô 
Ø'Ø"Ø!;÷
ö 
ô
 	8¸Ô;Ü1°"×5Õ5Ü×0×0Ð0Ø÷ 6Ñ5÷
ò 
ô  ",Ü# BÐ(<Ó=ó"Ðó "4�Ù(¨Ö7ñ "4ô (¨¨LÓ9ˆFô "5Ø¨U÷"�ð !Ö:Ù,¨]Ö;ñ	"ð
 ÷7 6Ñ5÷
ò 
÷ 6×5úÐ5÷
÷ 
÷ 
ò 
ús6   ¥C;ÁC	Á
C;Á1AC	Â;C	Ã
C;ÃC-Ã(C;Ã;D	c               ó$   € V ^8„  d   QhRRRRRR/# )r†   rê   rV   Úis_inferencer¬   r‰   r™   rŠ   )r‹   s   "rŒ   r�   r�   |  s"   € ÷ /ñ / Kð /¸tð /ÐPTñ /rŽ   c           	     ó˜  € \        R RRR7      ;_uu_ 4        \        V 4       \        V 4      ;_uu_ 4        \        P                  '       g    RRR4       RRR4       R# \        V 4       F  p\        W4      p\        W14       K  	  \        W4       RRR4       RRR4       R#   + '       g   i     L; i  + '       g   i     R# ; i)Ú_recursive_post_grad_passesTÚpost_grad_pass_time_usrš  N)	r%   r“  r�  r   Úuse_post_grad_passesr~  r  rµ  ri   )rê   r³  r¢  r  s   &&  rŒ   rµ  rµ  |  s    € Ü	Ø%Ø"Ø!9÷
ö 
ô
 	8¸Ô;Ü1°"×5Õ5Ü×.×.Ð.Ø÷ 6÷
ñ 
ô "5°RÖ!8�Ü" 2Ó5�Ü+¨HÖCñ "9ô ˜RÔ.÷ 6÷
ñ 
÷ 6×5ú÷
÷ 
ð 
ús.   —B8¶B%	ÁB8Á 3B%	ÂB8Â%B5Â0B8Â8C		Tc          
     ó,   € V ^8„  d   QhRRRRRRRRR	R
/# )r†   rê   rV   Úskip_constructorr¬   Úlifted_constant_nameszlist[str] | NoneÚskip_folding_node_fnz&Callable[[torch.fx.Node], bool] | Noner‰   z"tuple[GraphModule, dict[str, int]]rŠ   )r‹   s   "rŒ   r�   r�   �  sB   € ÷ F(ñ F(ØðF(àðF(ð ,ðF(ð Að	F(ð
 (ñF(rŽ   c                óð  € ^ RI HpHpHpHpHp V! WW#4      p	Vf   V	! 4       MRp
\        \        V	P                  P                  4      R,          P                  ^ ,          4       UUu/ uF  w  r¼VP                  VbK  	  ppp. p. p/ pV P                  P                   Fe  pVP                  V9   d   VP                  V4       K'  VP                  V,          V8X  g   KA  VP                  R8w  g   KT  VP                  V4       Kg  	  V FT  pRVP                  ,           pT! T TVf   W­VP                  ,          ,          MRV4       VVP                  ,          VV&   KV  	  VRRR1,           Fl  pVP                  '       d=   VP                   F*  pVP                  V,          V8w  g   K  \!        RV R24      h	  KQ  V P                  P#                  V4       Kn  	  V P%                  4        V	V3# u uppi )a‘  
This function takes an GraphModule input "gm".
The gm will be split into 2 components,
  1) const_gm, which consists the subgraph of gm that can be constant folded.
  2) gm (being inplace modified,) which returns the graph after constant folding.

If an additional "lifted_constants" argument is passed in, we will assume the gm has
been lifted and run the transformation accordingly.

When a "skip_folding_node_fn" callback is passed, we will skip constant folding on
the nodes for which the callback returns True.

const_output_index is a mapping of corresponding node name from gm to the
output index of const_gm.
Returns (const_gm, const_output_index)
)ÚCONST_MODULE_TAGÚMETA_TAGÚ
MODULE_TAGÚreplace_node_with_constantÚrun_and_get_constant_graphNrQ  Ú_FOLDED_CONST_znode: z user not empty.r.  )Ú torch._inductor.constant_foldingr½  r¾  r¿  rÀ  rÁ  r`  r\  rñ   r/  r–   rË   r÷   ró   rî   ÚusersrZ  Ú
erase_nodeÚ	recompile)rê   r¹  rº  r»  r½  r¾  r¿  rÀ  rÁ  Úconst_gmÚconst_resultr  rº   Úconst_outputsÚto_erase_nodeÚto_replace_nodeÚconst_output_indexr  Únew_const_nameÚns   &&&&                rŒ   Úsplit_const_gmrÏ  �  sÈ  € ÷,õ ñ *Ø
Ð3ó€Hð "7Ò!>‘8”:ÀD€Lô #,¬E°(·.±.×2FÑ2FÓ,GÈÕ,K×,PÑ,PÐQRÕ,SÔ"TôÙ"T™˜ˆ�‰�ŠÑ"Tð ñ ð €MØ€OØÐØ—‘—”ˆØ�9‰9˜Ô%Ø×"Ñ" 4Ö(Ø�Y‰Y�xÕ Ð$4Ö4¸¿¹ÀMÖ9QØ× Ñ  Ö&ñ	 ó  ˆØ)¨D¯I©IÕ5ˆÙ"ØØð )Ò0ð ¨4¯9©9Õ5Ö6ààô		
ð .;¸4¿9¹9Õ-EÐ˜>Ó*ñ  ð ™d ˜d×#Ð#ˆØ�:�:ˆ:Ø—Z”Z�Ø—6‘6˜(Õ# zÖ1Ü(¨6°$°Ð7GÐ)HÓIÐIó  ð �H‰H×Ñ Ö%ñ $ð ‡L�L„NàÐ'Ð'Ð'ùóGs   Á(G2c               ó    € V ^8„  d   QhRRRR/# ©r†   rê   rV   r‰   r¬   rŠ   )r‹   s   "rŒ   r�   r�   Ö  s   € ÷ ñ  ;ð °4ñ rŽ   c                óŽ  € \         P                  P                  p\        VP                  P
                  VP                  P
                  VP                  P
                  VP                  P
                  .4      pV FÅ  pV P                  P                  R VR7       F¡  p\        VP                  P                  RR4      \         P                  4      '       g   K?  VP                  R,          P                  \         P                   8X  g   Kq  VP                  R,          P"                  P$                  R8X  g   KŸ    R# 	  KÇ  	  R# )rþ   rÿ   rð   Nr  TF)rÝ   r  Úatenr[   ÚmmÚdefaultÚaddmmÚbmmÚbaddbmmrñ   rò   rô   ró   rÀ   rö   rA  Úfloat32r@  Útype)rê   rÓ  Útf32_opsr   r  s   &    rŒ   Úis_tf32_warning_applicablerÜ  Ö  sÛ   € Ü�9‰9�>‰>€DÜà�G‰G�O‰OØ�J‰J×ÑØ�H‰H×ÑØ�L‰L× Ñ ð		
ó€Hó ˆØ—H‘H×'Ñ'¨?À6Ð'ÖJˆDä˜4Ÿ9™9Ÿ=™=¨°Ó5´u·|±|×DÔDØ—I‘I˜eÕ$×*Ñ*¬e¯m©mÖ;Ø—I‘I˜eÕ$×+Ñ+×0Ñ0°FÖ:ãó Kñ ñ rŽ   c               ó    € V ^8„  d   QhRRRR/# )r†   r•  r–  r‰   ú"AbstractContextManager[None, None]rŠ   )r‹   s   "rŒ   r�   r�   ë  s   € ÷ (ñ (Ø'ð(à'ñ(rŽ   c                óì  € \         ;QJ d    R V  4       F  '       g   K   RM	  RM! R V  4       4      p\        P                  '       dK   \        P                  '       d5   V'       g-   \        P                  R4       \        P                  ! RR7      # \        P                  P                  '       d-   \        P                  R4       \        P                  ! RR7      # \        P                  ! 4       # )z†
For CPU backend, enable comprehensive padding causes some unit tests
fail due to changing number of generated kernels. Skip for now.
c              3  ó¤   "  € T FF  p\        V\        P                  4      '       g   K%  \        VP                  P
                  4      x € KH  	  R # 5ir�   )rô   rÝ   rö   rN   r@  rÚ  )r¹   Úts   & rŒ   r»   Ú6maybe_disable_comprehensive_padding.<locals>.<genexpr>ò  s3   é € ð Ù'5 !¼ÀAÄuÇ|Á|×9TÔŒˆq�x‰x�}‰}×Ð£~ùs
   ‚"A©'ATFz!Skip comprehensive padding on CPU)Úcomprehensive_paddingz;Skip comprehensive padding for use_runtime_constant_folding)Úanyr   Údisable_padding_cpurã  r!  r"  rŒ  Úaot_inductorÚuse_runtime_constant_foldingrŠ  r‹  )r•  Úhas_gpus   & rŒ   Ú#maybe_disable_comprehensive_paddingré  ë  s¬   € ÷ ‹cñ Ù'5ó�c�cŠcñ Ù'5óó €Gô ×!×!Ð!¤f×&B×&BÐ&BÏ7Ü×ÑÐ>Ô?Ü�|Š|°%Ô8Ð8Ü	×	Ñ	×	9×	9Ð	9Ü×ÑØIô	
ô �|Š|°%Ô8Ð8ä×%Ò%Ó'Ð'rŽ   c               ó$   € V ^8„  d   QhRRRRRR/# )r†   Úcpp_wrapperr¬   Úaot_moder‰   rÞ  rŠ   )r‹   s   "rŒ   r�   r�     s$   € ÷ 	(ñ 	(Øð	(Ø!%ð	(à'ñ	(rŽ   c                óz   € V '       g	   V'       d   \         P                  ! RR7      # \        P                  ! 4       # )z@
graph partition does not support cpp_wrapper and aot_mode yet.
F)Úgraph_partition)r   rŒ  rŠ  r‹  )rë  rì  s   &&rŒ   Úmaybe_disable_graph_partitionrï    s'   € ÷ —hÜ�|Š|¨EÔ2Ð2ä×%Ò%Ó'Ð'rŽ   c               ó(   € V ^8„  d   QhRRRRRRRR/# )	r†   rê   rV   r•  r–  Úforce_allow_non_fake_inputsr¬   r‰   z torch._subclasses.FakeTensorModerŠ   )r‹   s   "rŒ   r�   r�     s0   € ÷ ñ Øðà'ðð "&ðð &ñ	rŽ   c           	     óü  € \        4       ;_uu_ 4        \        V4      pV'       g<   \        P                  P	                  RR7      p\        WR7      P                  ! V!   MkV'       g   \        P                  ! 4       M \        P                  P                  VRR4      pV;_uu_ 4        \        WR7      P                  ! V!   RRR4       RRR4       V#   + '       g   i     L; i  + '       g   i     X# ; i)zq
If we can not detect fake mode from the context of inputs, create one.

The created fake mode will be returned.
T©Úallow_non_fake_inputs)r«   rô  N)r   r$   rÝ   Ú_subclassesÚFakeTensorModerY   Ú	propagaterŠ  r‹  r   rŒ  r—   Úpropagate_dont_convert_inputs)rê   r•  rñ  Ú	fake_modeÚctxs   &&&  rŒ   Úfake_tensor_proprû    s½   € ô 
"×	#Õ	#Ü$ ^Ó4ˆ	ßÜ×)Ñ)×8Ñ8ÈtÐ8ÓTˆIÜ˜2Ô.×8Ò8¸.ÓI÷ 3ô ×&Ò&Ô(ä—Z‘Z×&Ñ& yÐ2IÈ4ÓPð ÷
 ’Ü˜rÔ2×PÒPØ#ò÷ ÷ 
$ð  Ð÷ —ú÷ 
$Ö	#ð  Ðús+   “AC*Á*A C*Â*C	ÃC*ÃC'Ã"C*Ã*C;	c               ó    € V ^8„  d   QhRRRR/# )r†   Úconfig_patcheszstr | dict[str, Any] | Noner‰   zdict[str, Any]rŠ   )r‹   s   "rŒ   r�   r�   -  s   € ÷ (ñ (Ø/ð(àñ(rŽ   c                ó¦   € \         P                  ! V 4      ;_uu_ 4        \         P                  ! 4       uuR R R 4       #   + '       g   i     R # ; ir�   )r   rŒ  Úget_config_copy)rý  s   &rŒ   Úget_patched_config_dictr   -  s.   € ô 
�Š�n×	%Õ	%Ü×%Ò%Ó'÷ 
&×	%×	%Ó	%ús	   Ÿ?¿A	c               ó   € V ^8„  d   QhRR/# )r†   r‰   zGenerator[None, None, None]rŠ   )r‹   s   "rŒ   r�   r�   5  s   € ÷ ñ Ð$?ñ rŽ   c               #  óÂ   "  € \         P                  '       d-   \        \        4       R R7      ;_uu_ 4        Rx € RRR4       R# Rx € R#   + '       g   i     R# ; i5i)F)ÚdirÚdeleteN)r   Úforce_disable_cachesrJ   rG   rŠ   rŽ   rŒ   Úwith_fresh_cache_if_configr  4  s=   é € ä×"×"Ð"ô œY›[°×7Ö7Û÷ 8Ñ7õ 	÷ 8×7Ð7üs   ‚4A¶A»AÁA	Á	Ac                  ó�   € ] tR tRt$ R]R&   R]R&   R]R&   R]R	&   R]R
&   R]R&   R]R&   R]R&   R]R&   R]R&   R]R&   R]R&   RtR# )Ú_CompileFxKwargsi@  zBoxedBool | NoneÚ
cudagraphsúSequence[int]Ústatic_input_idxsr¬   Úis_backwardz
int | NoneÚgraph_idrë  rì  r³  úbool | NoneÚ
layout_optz.Callable[[list[ExternKernelNode]], Any] | NoneÚextern_node_serializerzBoxedDeviceIndex | NoneÚboxed_forward_device_indexÚ
fx_wrapperú,Callable[..., dict[Any, Callable[..., Any]]]Úget_decomp_fnrŠ   Nr¯   rŠ   rŽ   rŒ   r  r  @  sI   ‡ Ø Ó Ø$Ó$ØÓØÓØÓØƒNØÓØÓØJÓJØ 7Ó7ØÓØ?×?rŽ   r  )Útotalc                  ó&   € ] tR tRtRR R lltRtR# )Ú_CompileFxCallableiO  Nc          
     ó,   € V ^8„  d   QhRRRRRRRRR	R
/# ©r†   rê   rV   r•  r–  Úcompile_region_nameú
str | Noner˜   úUnpack[_CompileFxKwargs]r‰   rF   rŠ   )r‹   s   "rŒ   r�   Ú_CompileFxCallable.__annotate__P  s<   € ÷ ñ àðð ,ðð (ð	ð
 +ðð 
ñrŽ   c                	ó   € R # r�   rŠ   )Úselfrê   r•  r  r˜   s   &&&&,rŒ   Ú__call__Ú_CompileFxCallable.__call__P  s   € ñ rŽ   rŠ   r�   )r¡   r¢   r£   r¤   r   r¨   rŠ   rŽ   rŒ   r  r  O  s   † ÷ó rŽ   r  c          
     ó,   € V ^8„  d   QhRRRRRRRRR	R
/# r  rŠ   )r‹   s   "rŒ   r�   r�   Y  sA   € ÷ Lñ LØðLà'ðLð $ðLð 'ð	Lð
 ñLrŽ   c                ó   € VP                  R R4       VP                  RR4       VP                  RR4       VP                  RR4       VP                  RR4       VP                  RR4       VP                  RR4       VP                  R	R4       VP                  R
R4       VP                  RR4       \        P                  ! 4       ;_uu_ 4       pVR,          '       d0   VP                  \        P
                  ! \        RR7      4      4       \        P                  P                  '       dO   \        P                  P                  '       d   \        P                  '       g   \        P                  ! R^R7       VP                  \        P                  P                  P!                  4       4       VP                  \#        \$        P&                  4      4       VP                  \(        P*                  ! RRRRRRR7      4       VP                  \-        4       4       VP                  \/        4       4       \0        P2                  ! RVR,          R7       \5        \6        RR7      ! V V3RV/VB p\        P8                  P:                  '       d\   \        P<                  P>                  PA                  4       p\C        4       p\E        RV 2VR,          34      pW‡9  d   \G        4       Wx&   VuuRRR4       #   + '       g   i     R# ; i)r	  Nr  r  Fr  rë  r  r³  r  r  r  )Úlog_cudagraph_skipz²config.triton.enable_host_side_tma has no effect unless both config.triton.use_tensor_descriptor and config.assume_aligned_inputs are also enabled; host-side TMA will be skipped.)Ú
stacklevelÚcompile_fx_innerÚinductor_compileTÚcompile_inductorÚ#inductor_cumulative_compile_time_us)Ú
phase_namer›  Úlog_waitcounterÚwaitcounter_name_overriderœ  )r  Úinductor)Úcompiler_namer  zTorch-Compiled Region: rŠ   )$r‘  rŠ  Ú	ExitStackÚenter_contextr   rŒ  Úget_cpp_wrapper_configÚtritonÚenable_host_side_tmaÚuse_tensor_descriptorÚassume_aligned_inputsÚwarningsÚwarnrÝ   r   Ú_python_dispatchÚ_disable_current_modesr^   Údynamo_configÚuse_lazy_graph_moduler‘   r%   r  re   r"   Úpt2_compiler    Ú_compile_fx_innerÚtraceÚprovenance_tracking_to_timelinerÞ   ÚCompileContextÚcurrent_compile_idr>   rˆ   r<   )	rê   r•  r  r˜   ÚstackÚcompiled_graphÚ
compile_idÚkernel_information_jsonsr5  s	   &&&,     rŒ   r&  r&  Y  sx  € ð ×Ñ�l DÔ)Ø
×ÑÐ)¨2Ô.Ø
×Ñ�m UÔ+Ø
×Ñ�j $Ô'Ø
×Ñ�m UÔ+Ø
×Ñ�l EÔ*Ø
×Ñ�n eÔ,Ø
×ÑÐ2°DÔ9Ø
×Ñ�l DÔ)Ø
×ÑÐ.°Ô5ô 
×	Ò	×	Ô	 5ð �-× Ô Ø×ÑÜ—’Ô3ÀuÔMÓNôô �=‰=×-×-Ð-Ü�M‰M×/×/Ð/´F×4P×4PÐ4Pä�MŠMð#ð õð 	×ÑœEŸK™K×8Ñ8×OÑOÓQÔRØ×ÑÔ2´=×3VÑ3VÓWÔXØ×ÑÜ×%Ò%Ø"Ø-Ø&*Ø $Ø*<Ø)Nôô		
ð 	×ÑÔ6Ó8Ô9Ø×ÑœL›NÔ+Ü×&Ò&ØØ˜}Õ-õ	
ô -Ü¨Zõ
ð Øñ	
ð
 !4ð
ð ñ
ˆô �<‰<×7×7Ð7ÜŸ™×5Ñ5×HÑHÓJˆJÜ'CÓ'EÐ$ÜÐ0°°Ð=¸vÀmÕ?TÐUÓVˆCØÔ2Ü0NÓ0PÐ(Ñ-Ø÷o 
 ×	×	Ó	ús    ÃAK<Ä1K<ÅK<Å'F
K<Ë<L	zcompilation time (in seconds)r“   c          
     ó,   € V ^8„  d   QhRRRRRRRRR	R
/# )r†   rê   rV   r•  r–  r  r  Úgraph_kwargsr  r‰   rF   rŠ   )r‹   s   "rŒ   r�   r�   ©  sA   € ÷ Mñ MØðMà'ðMð $ðMð -ð	Mð
 ñMrŽ   c                ó€  a-a.€ \         P                  p^ RIHp V! 4       '       d'   ^ RIHp VP                  4       pVP                  4        \        P                  P                  P                  P                  4        \        P                  ! V P                  4      ^ 8X  d²   V'       gª   \        P                  P                   P"                  '       g€   ^ RIHp ^ RIHp	 V	P-                  V 4       \        P.                  P0                  P3                  4       p
\4        P6                  ! RRV
/VP8                  R7       \;        V P<                  4      # VP?                  RRQ4      p\@        PC                  R	V4       \E        W4      p\G        \I        \K        \M        V P                  PN                  4      4      4      PP                  ^ ,          \R        \T        34      '       g   \W        R
V P                   24      h\Y        V 4       VP[                  R4      f'   \]        \         P^                  P`                  4      VR&   \         Pb                  '       d   \e        V V3RV/VB  \f        Pf                  ! 4       p\i        4       p\k        4        \l        ;QJ d,    R R \o        V 4       4        4       F  '       d   K   RM!	  RM! R R \o        V 4       4        4       4      p\q        RRRR7      ;_uu_ 4        \         Pr                  '       * ;'       de    \         Pt                  ;'       g    T;'       dC    V'       * ;'       d4    T;'       d*    \        P                  P                   P"                  '       * p\         Pt                  pTp\w        RV4       \x        PC                  RVVVV\         Pr                  4       \{        V4       F_  w  pp\G        V\        P|                  4      '       g   K(  \        VP€                  P‚                  4      '       g   KO  VV9   g   KX  RVnB        Ka  	  RpRpRo-Rp\‡        V 4      p\f        Pˆ                  ! 4       pV'       d³   \Š        PŒ                  ! WW<V4      w  po-Ve   Vw  pp\x        PC                  RV4       V'       d+   \Š        PŽ                  ! 4       p\x        PC                  R4       \Š        P�                  ! VVVVVVP[                  RR4      VR7      w  po-M\x        PC                  R4       \        P                  P                   P"                  '       d•   Ve   \W        R4      hS-e   \W        R4      h\’        P”                  ! 4         \—        V VV3RV/VB pVf   \W        R4      h\’        P˜                  ! 4       w  ppVP›                  V4        \’        Pª                  ! 4        EMS-e   S-R,          R8X  dO   Ve   \W        R 4      h\x        PC                  R!S-e   S-P[                  R"R#4      MR$4        \—        V VV3RV/VB pEM§S-R,          R%8X  Ed.   Ve   \W        R&4      hVf   \W        R'4      h\x        PC                  R(4       \’        P”                  ! 4         \—        V VV3RV/VB pVf   \W        R)4      h\f        Pˆ                  ! 4       V,
          VnV        Vw  ppVVnW        VVnX        \’        P˜                  ! 4       w  ppVP›                  V4        \’        Pª                  ! 4        Te   \³        T4      S-R*&   TP¬                  S-R+&   \x        PC                  R,T4       \Š        P´                  ! TTTTT4       MkS-R,          R-8w  d   \W        R.S-R,          : 24      hVf   \W        R/4      hVf   \W        R04      hVw  pp\x        PC                  R1V4       VVnW        VVnX        Vf   \W        R24      hTp \G        V \¶        4      '       d   VV n\        S-e
   S-R,          MR3o.S-'       d   \»        S-4      M/ p!\4        P¼                  ! R4S. 2V!VR57       \4        P¾                  ! R6S.TS-'       d   S-P[                  R74      MRS-'       d   S-P[                  R84      MRS-'       d   S-P[                  R"4      MR9VVR:7       S-e   \Á        R;V.3R< lV-3R= lR>7       V PÃ                  VVV4       \         PÄ                  p"V"e   V"PÇ                  V 4      p RRR4       \x        PC                  R?\f        Pf                  ! 4       V,
          4       \x        PÉ                  \Ê        PÌ                  4      '       EdÄ   . p#\Î        R@,          PÑ                  4        EF  w  pp$VPÓ                  RA4      p%\Õ        V%4      ^8  d   V#P×                  VRBRCRCRCV$.4       KA  \Õ        V%4      ^8¼  d   RAPÙ                  V%RRR 4      MRAPÙ                  V%RRS 4      p&V&PÛ                  RT4      p'V''       dH   \Õ        V%4      ^8¼  d8   V%RRR w  p(p)p*p+RAPÙ                  V%RRR 4      p&V#P×                  V&V(V)V*V+V$.4       KÙ  V%RSR w  p)p*p+RAPÙ                  V%RRS 4      p&V#P×                  V&RBV)V*V+V$.4       EK  	  \x        PÝ                  RD4       \x        PÝ                  REPß                  RFRGRHRIRJRK4      4       \x        PÝ                  RU4       V# F;  p,\x        PÝ                  REPÞ                  ! V,!  4       \x        PÝ                  RU4       K=  	  \        P                  P                  P                  P                  4        \á        4       ! \Ê        PÌ                  RLVR,          '       d   RMMRN ROVRP,           24       X #   \œ        \ž        3 d    h \          d4   p\£        T\¥        4       4      P§                  TP¨                  4      RhRp?ii ; i  \’        Pª                  ! 4        i ; i  \          d4   p\£        T\¥        4       4      P§                  TP¨                  4      RhRp?ii ; i  \œ        \ž        3 d    h \          d4   p\£        T\¥        4       4      P§                  TP¨                  4      RhRp?ii ; i  \’        Pª                  ! 4        i ; i  + '       g   i     EL¸; i)Vz¸
Inductor API that compiles a single graph.

If you change the argument list for this function, make sure you
also update the call to save_args_for_compile_fx_inner below accordingly.
)Úuse_pipelined_autotuning)ÚAutotuneProcessPool)ÚCompileEventLogLevel)Ú_LazyGraphModulezbackward no-oprD  )ÚmetadataÚ	log_levelr  z&static input idxs compile_fx_inner: %szGinductor can only compile FX graphs which return a tuple/list, but got r	  Nr  c              3  óF   "  € T F  pVf   K	  VP                   x € K  	  R # 5ir�   )Úsupports_caching)r¹   Úbackends   & rŒ   r»   Ú$_compile_fx_inner.<locals>.<genexpr>ô  s(   é € ð 	#ñ
ˆGð ô 	!ˆ× Ö ó
ùs   ‚!�!c              3  óˆ   "  € T F8  p\        VP                  \        P                  \        P                  4      x € K:  	  R # 5ir�   )rc   rÚ  r   rë  r  ©r¹   r@  s   & rŒ   r»   rR  ö  s<   é € ð 
ñ .�ô +Ø—‘œV×/Ñ/´×1BÑ1B÷ð ó .ùs   ‚A AFTÚfx_codegen_and_compile)r›  r+  Úfx_cachezXFX cache status: use_cache=%s, local=%s, remote=%s, aot_mode=%s, force_disable_caches=%szFX cache key generated: %szUsing remote FX cacher  )r  Ú	constantszFailed to generate FX cache keyzEExpected mb_compiled_graph to be None for bundled_autograd_cache pathz>Expected cache_info to be None for bundled_autograd_cache pathzCfx_codegen_and_compile returned None in bundled_autograd_cache pathÚcache_stateÚbypassz:Expected mb_compiled_graph to be None in cache bypass pathzFX cache bypass reason: %sÚcache_bypass_reasonÚunknownz*FX cache disabled or key generation failedÚmissz8Expected mb_compiled_graph to be None in cache miss pathz.Expected key_info to be set in cache miss pathz,FX cache miss, compiling and saving to cachez7fx_codegen_and_compile returned None in cache miss pathÚtriton_bundler_metaÚtime_taken_nsz.Saving compiled graph to FX cache with key: %sÚhitz&Expected cache_state to be 'hit', got z6Expected mb_compiled_graph to be set in cache hit pathz-Expected key_info to be set in cache hit pathzFX cache hit with key: %sz9Expected mb_compiled_graph to be set after cache handlingÚdisabledÚfx_graph_cache_)rM  Útime_nsr'  r5  Ú
componentszcache not enabled)rX  Úcache_event_timer5  rc  rZ  Úremote_cache_enabledÚlocal_cache_enabledÚartifactc                 ó   <€ R RS  2RR/# )rË   ra  ÚencodingÚjsonrŠ   )rX  s   €rŒ   Ú<lambda>Ú#_compile_fx_inner.<locals>.<lambda>ú  s   ø€ Ø˜o¨k¨]Ð;Ø ñ%rŽ   c                 ó0   <€ \         P                  ! S 4      # r�   )rj  Údumps)Ú
cache_infos   €rŒ   rk  rl  þ  s   ø€ ¤4§:¢:¨jÔ#9rŽ   ©Úmetadata_fnÚ
payload_fnz%FX codegen and compilation took %.3fsÚaten_mm_infoÚ_Ú-Ú?z$Overview info of inductor aten mms: z3{:<30} | {:<20} | {:<20} | {:<20} | {:<20} | {:<20}ÚNameÚBÚMÚNÚKÚCountztorchinductor done compiling Ú	BACKWARDSÚFORWARDSú graph r  rŠ   éüÿÿÿéýÿÿÿ)r×  rØ  z‚----------------------------------------------------------------------------------------------------------------------------------)qry   Úaot_compilationÚ torch._inductor.autotune_processrI  rJ  Úget_instanceÚwarm_uprÝ   Ú	_inductorÚasync_compileÚCompiledTritonKernelsÚcache_clearr‘   Úcount_callsrñ   Ú
_functorchr   Úbundled_autograd_cacheÚtorch._dynamo.utilsrK  Útorch.fx._lazy_graph_modulerL  Úforce_recompilerÞ   r@  rA  r"   Úlog_instant_eventÚPT2_COMPILEr0   Úforwardr‘  Ústatic_inputs_logÚdebugÚget_input_idxs_to_checkrô   ÚnextÚiterÚreversedr/  r–   r\  rá   rZ  r“  rÀ   rH   r2  r	  Ú	save_argsr?   ÚtimerP   rd   ÚallrK   r%   r  Úfx_graph_cacher+   rÍ   r`  rö   rN   r@  rÚ  Ú_is_inductor_staticrB   rb  r3   Úprepare_keyÚget_remote_cacheÚload_with_keyro   Úbegin_compilerU  ÚcollectÚset_triton_bundler\   r]   Ú	Exceptionrg   r	   Úwith_tracebackÚ__traceback__Úend_compileÚ_time_taken_nsÚ_fx_graph_cache_keyÚ_fx_graph_cache_debug_linesrˆ   Ú_save_graphrA   r  ÚdictÚinstantÚtry_add_pt2_compilerT   Úpost_compileÚcudagraph_policyÚwrap_outputÚisEnabledForr   ÚINFOr#   Úitemsr0  r  r÷   rÇ   Úendswithr"  r‹   r  )/rê   r•  r  rG  rì  rI  rJ  Úpool_instancerK  rL  rD  r  Úinputs_to_checkÚstartÚfx_graph_remote_cacheÚbackends_support_cachingÚ	use_cacheÚlocalÚremoter3  ÚinputÚmb_compiled_graphÚkey_infoÚremote_cacherW  Ú
start_timer5  Údebug_linesÚtriton_bundler]  ÚeÚ	cache_keyrC  Úcache_event_metadataÚpolicyÚmm_table_datarÌ   ÚpartsrË   Ú
is_batchedÚbatchÚmrÎ  ÚkÚrowro  rX  s/   &&&,                                         @@rŒ   r=  r=  ¨  s   ù€ ô ×&Ñ&€HåIá×!Ò!åHà+×8Ñ8Ó:ˆØ×ÑÔô 
‡O�O×!Ñ!×7Ñ7×CÑCÔEô 	× Ò  §¡Ó*¨aÔ/ßÜ× Ñ ×'Ñ'×>×>Ð>õ 	=Ý@à×(Ñ(¨Ô,Ü—]‘]×1Ñ1×DÑDÓFˆ
Ü×,Ò,ØØ" JÐ/Ø*×6Ñ6õ	
ô ˜rŸz™zÓ*Ð*à'3×'>Ñ'>Ð?RÐTVÓ'WÐÜ×ÑÐDÐFWÔXÜ-¨nÓP€Oä”dœ4¤¨¯©¯©Ó 8Ó9Ó:×?Ñ?ÀÕBÄUÌDÀM×RÒRÜØUÐVX×V^ÑV^ÐU_Ð`ó
ð 	
ô 4°BÔ7à×Ñ˜Ó%Ò-Ü%.¬v¯}©}×/GÑ/GÓ%Hˆ�\Ñ"Ü××ÐÜ&ØØñ	
ð !4ð	
ð ò		
ô �IŠI‹K€Eä<Ó>Ðô Ôß"›sñ 	#ñ
ô *¨"Ô-ô	
ó	#ŸsŸsšsñ 	#ñ
ô *¨"Ô-ô	
ó	#ó 	 Ðô 
Ø ¸Èd÷
ö 
ô ×+Ñ+Ô+÷ Cð CÜ×&Ñ&×?Ð?Ð*?÷Cð Cà”÷Cð Cð )÷Cð Cô ×$Ñ$×+Ñ+×BÑBÔBð 	ô ×%Ñ%ˆØ&ˆÜ˜
 IÔ.ä�	‰	ØfØØØØÜ×'Ñ'ô	
ô " .Ö1‰HˆAˆuä˜5¤%§,¡,×/Ô/Ü˜5Ÿ<™<×,Ñ,×-Ô-ØÐ*Ö*à,0�Ö)ñ 2ð 04ÐØˆØ'+ˆ
ØˆÜ2°2Ó6ˆ	ô —\’\“^ˆ
çÜ%1×%=Ò%=Ø LÀ6ó&Ñ"ˆX�zð
 Ò#Ø#+Ñ ��[Ü—	‘	Ð6¸Ô<ßÜ#/×#@Ò#@Ó#B�LÜ—I‘IÐ5Ô6Ü0<×0JÒ0JØØØ"ØØ Ø ,× 0Ñ 0°ÀÓ FØ'ô1Ñ-Ð!¡:ô —	‘	Ð;Ô<ä×Ñ×"Ñ"×9×9Ð9Ø Ò,Ü$Ø[óð ð Ò%Ü$ØTóð ô ×'Ò'Ô)ð,Ü$:ØØ"Ø#ñ%ð )<ð	%ð
 #ñ%Ð!ð %Ò,Ü(Ø]óð ô "×)Ò)Ó+ñØ!Ø'à!×3Ñ3°MÕBô ×)Ò)Ö+ð
 Ò :¨mÕ#<ÀÔ#HØ Ò,Ü$ØPóð ô �I‰IØ,ð "Ò-ð —N‘NÐ#8¸)ÔDàEôðÜ$:ØØ"Ø#ñ%ð )<ð	%ð
 #ñ%Ò!ð ˜Õ&¨&Õ0Ø Ò,Ü$ØNóð ð ÒÜ$Ð%UÓVÐVÜ�I‰IÐDÔEÜ×'Ò'Ô)ð,Ü$:ØØ"Ø#ñ%ð )<ð	%ð
 #ñ%Ð!ð %Ò,Ü(ØQóð ô 48·<²<³>ÀJÕ3NÐ!Ô0Ø)1Ñ&�	˜;Ø8AÐ!Ô5Ø@KÐ!Ô=ô "×)Ò)Ó+ñØ!Ø'à!×3Ñ3°MÕBô ×)Ò)Ô+Ø"Ò.Ü47Ð8KÓ4L�
Ð0Ñ1Ø*;×*JÑ*JˆJ�Ñ'Ü�I‰IÐFÈ	ÔRÜ×$Ò$ØØ!ØØØõð ˜-Õ(¨EÔ1Ü$Ø<¸ZÈÕ=VÑ<YÐZóð ð !Ò(Ü$ØLóð ð ÒÜ$Ð%TÓUÐUØ'/Ñ$ˆY˜Ü�I‰IÐ1°9Ô=Ø4=ÐÔ1Ø<GÐÔ9àÒ$Ü ØKóð ð +ˆÜ�n¤o×6Ò6Ø1DˆNÔ.ð *4Ò)?ˆJ�}Ö%ÀZð 	÷ 4>œt JÔ/À2ÐÜ×"Ò"Ø˜k˜]Ð+Ø)Øõ	
ô 	×.Ò.ØØ#Ø'ß)3�
—‘˜uÔ%¸ß7A�z—~‘~ lÔ3Àt÷ ð —‘Ð4Ô5à(à!'Ø %õ	
ð  Ò!ÜØôô :õð 	×#Ñ# N°I¸|ÔLä×(Ñ(ˆØÒØ#×/Ñ/°Ó?ˆN÷K
ôN ‡I�IÐ5´t·y²y³{ÀUÕ7JÔKô ×ÑœŸ™×%Ó%ØˆÜ" >Õ2×8Ñ8×:‰JˆC�Ø—I‘I˜c“NˆEÜ�5‹z˜AŒ~à×$Ñ$ c¨3°°S¸#¸uÐ%EÔFÙô ,/¨u«:¸¬?�3—8‘8˜E # 2˜JÔ'ÀÇÁÈÈsÐPRÈÓ@TˆDØŸ™Ð'9Ó:ˆJçœc %›j¨Aœoà!& r s ‘��q˜!˜QØ—x‘x  c r 
Ó+�Ø×$Ñ$ d¨E°1°a¸¸EÐ%BÖCð    ˜*‘��1�aØ—x‘x  c r 
Ó+�Ø×$Ñ$ d¨C°°A°q¸%Ð%@×Añ) ;ô, 	�‰Ð7Ô8Ü�‰ØA×HÑHØ˜˜S # s¨Góô	
ô
 	�‰�ÔÛ ˆCÜ�H‰HÐJ×QÒQÐSVÑWÔXÜ�H‰H�YÖñ !ô 
‡O�O×!Ñ!×7Ñ7×CÑCÔEä„NÜ�‰Ø'Ø& }×5Ô5‰;¸:Ð
Fð GØ˜jÕ)Ð*ð	,ôð Ðøôm %¤iÐ0ô ØÜô Ü# A¤|£~Ó6×EÑEØ—O‘Oóàðûðûô
 ×)Ò)Õ+ûô4 ô Ü# A¤|£~Ó6×EÑEØ—O‘OóàðûðûôH %¤iÐ0ô ØÜô Ü# A¤|£~Ó6×EÑEØ—O‘Oóàðûðûô
 ×)Ò)Õ+ú÷[
÷ 
ð 
úsô   Ë74r,Ì,	r,Ì6r,Í	r,ÍBr,Ï2"r,Ðr,Ð"A<r,ÒBr,Ô93r,Õ-AnÖ6A$r,Øo?Ø+Ar,ÚA<q ÜDr,àAr,ár,á7r,âA,r,îo"î.o"î/.oïo"ï"o%ï%o<ï<r,ï?p=ð
.p8ð8p=ð=r,ñ rñrñ.r
ò
ròròr)ò)r,ò,r=	c                  ó2   € ] tR tRt$ ^ tR]R&   R R ltRtR# )Ú_FxCompileStati9  rÚ   Úcodegen_and_compilec               ó   € V ^8„  d   QhRR/# ©r†   r‰   rˆ   rŠ   )r‹   s   "rŒ   r�   Ú_FxCompileStat.__annotate__=  s   € ÷ Bñ B˜#ñ BrŽ   c                	ó    € R V P                    2# )zcodegen_and_compile: )rÒ  ©r  s   &rŒ   Ú__repr__Ú_FxCompileStat.__repr__=  s   € Ø& t×'?Ñ'?Ð&@ÐAÐArŽ   rŠ   N)r¡   r¢   r£   r¤   rÒ  r°   rØ  r¨   rŠ   rŽ   rŒ   rÑ  rÑ  9  s   ‡ à Ð˜Ó ÷Bñ BrŽ   rÑ  c                  óp   € ] tR tRt$ Rt]! ]4      tR]R&   Rt	R]R&   ]
R R	 l4       t]R
 R l4       tRtR# )Ú	FxCompileiA  zU
An FxCompile represents a mechanism that can turn a GraphModule into an
OutputCode.
z%dict[type[FxCompile], _FxCompileStat]Ú_compile_statsNr  r  c          
     ó,   € V ^8„  d   QhRRRRRRRRR	R
/# ©r†   rê   rV   r•  r–  r·  r
  rG  r  r‰   rF   rŠ   )r‹   s   "rŒ   r�   ÚFxCompile.__annotate__O  s<   € ÷ ñ àðð ,ðð 'ð	ð
 'ðð 
ñrŽ   c                	ó   € R # r�   rŠ   )r  rê   r•  r·  rG  s   &&&&&rŒ   rÒ  ÚFxCompile.codegen_and_compileN  s   € ñ rŽ   c               ó   € V ^8„  d   QhRR/# r  rŠ   )r‹   s   "rŒ   r�   rß  X  s   € ÷ #ñ #˜Tñ #rŽ   c                	ó:   € V P                   P                  4        R # r�   )rÜ  Úclear)Úclss   &rŒ   Ú_reset_statsÚFxCompile._reset_statsW  s   € à×Ñ× Ñ Ö"rŽ   rŠ   )r¡   r¢   r£   r¤   Ú__doc__r   rÑ  rÜ  r°   r  r   rÒ  Úclassmethodræ  r¨   rŠ   rŽ   rŒ   rÛ  rÛ  A  sM   ‡ ññ =HÈÓ<W€NÐ9ÓWØ&*Ð˜Ó*ð
 ôó ðð ô#ó ô#rŽ   rÛ  c                  ó,   € ] tR tRt]R R l4       tRtR# )Ú_InProcessFxCompilei\  c          
     ó,   € V ^8„  d   QhRRRRRRRRR	R
/# rÞ  rŠ   )r‹   s   "rŒ   r�   Ú _InProcessFxCompile.__annotate__^  sC   € ÷ rñ ràðrð ,ðrð 'ð	rð
 'ðrð 
ñrrŽ   c           +     óô&  aaa5a6a7a8a9€ RV9  g   VR,          f   \        R4      hVR,          pVP                  RRW4      pVP                  RR4      pVP                  RR4      pVP                  RR4      p	VP                  R	R4      p
\        P                  pVP                  R
R4      pVP                  RR4      pVP                  R\        4      p\        R4      P                  4       ;_uu_ 4        \        P                  ! 4       ;_uu_ 4        \        P                  ;pe-   ^ RIp\        P                  RV4       VP                  ! V4       \        S4      '       d   \!        4        \"        R,          P%                  4       p\&        P(                  ! \+        \&        P,                  ! 4       R4      4       \/        4       ! \0        P2                  RV'       d   RMR RV 24       . o9R VVV93R llp\5        RR VR7       S9'       d
   S9^ ,          MRp\        P6                  P9                  SS4       SP:                  pVf   \=        S4      p\?        S4       \A        RRR7      ;_uu_ 4        \B        PD                  ! 4       ;_uu_ 4        \G        SS4      pRRR4       RRR4       \I        S4       \5        RR V3R lR7       \        PJ                  ! X4      ;_uu_ 4        \M        S4      pV;_uu_ 4        \O        SVR 7       RRR4       \        P6                  PQ                  SS4       \R        P7                  R!\U        R"SRRRR#7      4       SPW                  RRRRR$7      o6\5        RR% V63R& lR7       \        PX                  ! 4       ^ 8w  d   \B        PZ                  P\                  P_                  SP`                  4      p\c        \B        Pd                  P6                  Pf                  V4      \B        Pd                  P6                  n4        \k        4       pVPm                  4       '       d4   \"        R',          Po                  4       p\p        Pr                  ! RVR(7       \        Pt                  ! 4       '       d!    \w        R)\y        \{        4       4      /R*7       RRR4       \        PJ                  ! V4      ;_uu_ 4        \        S4      ;_uu_ 4        \�        W›4      ;_uu_ 4        RpRpRpRpV'       dÍ   \        P‚                  P„                  '       d­   \‡        SR, R-7      w  pp\‰        V. VVV	VVVVRV
VR.7      p\        PŠ                  ! V4      ;_uu_ 4        \        PŒ                  ! . 4      ;_uu_ 4        V	'       g   \        R/4      hVP�                  4        VP‘                  4       w  ppRRR4       RRR4       \‰        S3R0SR1TRTRT	R2TRTR
TRTR3TR4V'       d   VP’                  MRR5V'       d   VP’                  MRR6VR7VR	V
RV/ p\”        P–                  ! 4       p VP™                  4        \        PŠ                  ! V4      ;_uu_ 4        \        PŒ                  ! . 4      ;_uu_ 4        \š        Pœ                  ! 4       ;_uu_ 4        VPŽ                  ! S!   . p!VPž                  eõ   \¡        4       o8VPž                   FÚ  p"\£        V"\¤        4      '       d±   V"P§                  4       '       d›   \©        \«        V"P­                  4       4      4      ^ 8X  dt   T!P¯                  \°        ;QJ d/    . V83R8 lV"P³                  4       P´                   4       F  NK  	  5M(! V83R8 lV"P³                  4       P´                   4       4      4       KÉ  V!P¯                  R4       KÜ  	  \·        V4       Rp#\A        R9RR7      ;_uu_ 4        VP¸                  '       dz   VPº                  '       dh   VP¼                  '       d   \        R:4      hVP¿                  4       ^ ,          PÀ                  p$\Â        P6                  ! R;V$PW                  RR<7      4       EM¶VP¸                  '       Ed{   ^R=IbHcp% VP¼                  '       g   \        R/4      hVP‘                  4       w  p&p'\Â        P6                  ! R>V&P’                  4       V'P’                  '       d"   \Â        P6                  ! R?V'P’                  4       Rp(\        PÈ                  '       d7   VPË                  \        PÈ                  4      p(\Â        P6                  ! R@V(4       \A        RARR7      ;_uu_ 4        T%PÍ                  TV&P’                  V'P’                  T(VPÎ                  . \Ð        PÓ                  VPÔ                  PÖ                  V'       d   VPÔ                  PÖ                  M. ,           4      ORB7      p$RRR4       M)VPÙ                  4       p)V)PÚ                  p$\Ý        V)RCR4      p#RRR4       Ro7Ro5\        PX                  ! 4       ^ 8w  dÕ   \Þ        Pà                  ! \B        Pd                  P6                  Pã                  4       4      o7\Þ        Pà                  ! \B        Pd                  P6                  Pä                  4      o5\5        RRD V73RE lR7       \5        RRF V53RG lR7       S5'       d3   \k        4       pVPm                  4       '       d   VPç                  RHS54       Rp*\è        Pë                  \0        P2                  4      '       dˆ   VPí                  4       w  p+p,p*\”        ;Pî                  V+,          unw        \”        ;Pð                  V*,          unx        \”        ;Pò                  V,,          uny        \è        Põ                  RIRJV+RKV,RLV*/4       \        Pö                  '       d>   VPí                  4       w   p-p*\B        Pd                  P6                  Pù                  V*4       \B        Pd                  P6                  Pû                  VPü                  Pþ                  4       V'       Ed„   \        EP                   EP                  '       Eda   \        EP                  '       EgI   \        P`                  EP                  '       Eg'   \B        Pd                  EP                  EP
                  ! S!  '       d÷   Rp.SP`                  Pþ                   F­  p/V/EP                  P                  RMR4      p0V/EP                  RN8X  gS   \£        V0\B        EP                  4      '       d2   \B        Pd                  EP                  EP                  V04      '       g   K†  V/EP                  P                  ROR4      ;p.'       g   K­   M	  RPp1V.'       d
   V1 RQV. RR2p1MV1 RR2p1V1\        P`                  nƒ        V'       dŸ   \        EP                  '       gˆ   \        P`                  EP                  '       gg   E\        S4      p2V2'       dS   RSV2EP                   2p1V2EP                  P                  ROR4      ;p.'       d	   V1 RQV. RR2p1V1\        P`                  nƒ        \        P                  '       d¸   \£        X$\x        E\        \B        PZ                  EP                  34      '       g   \        RTE\        V$4       24      hE\        V$VPÎ                  RU7      uuRRR4       uuRRR4       uuRRR4       uuRRR4       uuRRR4       uuRRR4       uuRRR4       uuRRR4       # V'       d\   \        P`                  EP                  '       g;   ^ RVI�H�p3 V3! \        P`                  EP"                  4      \        P`                  nƒ        V'       dl   \        P`                  EP                  '       gK   VPü                  EP%                  VPü                  Pþ                  4      ^ 8X  d   R\        P`                  n“        V EP(                  E\        V 4      ,          ;EP*                  ^,          un•        \B        Pd                  P6                  EP,                  '       d™   \B        Pd                  P6                  EP.                  er   \y        \B        EP0                  EP2                  EP5                  4       4      p4VP                  R4      pVe)   V4\B        Pd                  P6                  EP.                  V&   E\7        X$VSV!\        P`                  EP                  V EP9                  4       \"        R,          V,
          VSVV EP:                  VVVS6V#S7S54      uuRRR4       uuRRR4       uuRRR4       uuRRR4       uuRRR4       uuRRR4       uuRRR4       uuRRR4       #   + '       g   i     ELC; i  + '       g   i     ELO; i  + '       g   i     ELû; i  \|         d    \        P                  R+4        EL�i ; i  + '       g   i     ELœ; i  + '       g   i     EL•; i  + '       g   i     EL¡; i  + '       g   i     ELl; i  + '       g   i     ELx; i  + '       g   i     M; i RRR4       M  + '       g   i     M; iRRR4       M  + '       g   i     M; iRRR4       M  + '       g   i     M; iRRR4       M  + '       g   i     M; iRRR4       M  + '       g   i     M; iRRR4       M  + '       g   i     M; iRRR4       R#   + '       g   i     R# ; i)XzC
Generates the OutputCode from the GraphModule and example_inputs.
r	  Nz/Expected 'cudagraphs' to be set in graph_kwargsr  r  Fr  rë  r  r³  r  r  z/pytorch.wait_counter.actual_codegen_and_compilez3Sleeping for %s since sleep_sec_TESTING_ONLY is setr-  iÐ  ztorchinductor compiling r}  r~  r  c               ó   € V ^8„  d   QhRR/# rÔ  rŠ   )r‹   s   "rŒ   r�   Ú=_InProcessFxCompile.codegen_and_compile.<locals>.__annotate__¢  s   € ÷ #ñ #°ñ #rŽ   c                 óî   <€ \         P                  ! 4       p \        P                  P                  P
                  P                  V SSR RR7       SP                  V P                  4       4       S^ ,          # )r-  N)Úsave_dir)	ÚioÚStringIOrÝ   Ú_dynamoÚreproÚ	after_aotÚsave_graph_repror÷   Úgetvalue)Úfdr•  rê   Úproduceds    €€€rŒ   Ú_fx_graph_runnable_payloadÚK_InProcessFxCompile.codegen_and_compile.<locals>._fx_graph_runnable_payload¢  sZ   ø€ Ü—[’[“]�Ü—‘×#Ñ#×-Ñ-×>Ñ>Ø˜˜N¨JÀð ?ô ð —‘ §¡£Ô.Ø •{Ð"rŽ   rg  c                 ó   € R RRR/# )rË   Úfx_graph_runnableri  ÚstringrŠ   rŠ   rŽ   rŒ   rk  Ú9_InProcessFxCompile.codegen_and_compile.<locals>.<lambda>¬  s   € ØÐ/Ø ñ%rŽ   rp  Ú Úadditional_fake_tensor_propT©r›  c                 ó   € R RRR/# )rË   Úbefore_post_grad_graphri  r   rŠ   rŠ   rŽ   rŒ   rk  r  à  s   € ØÐ4Ø ñ%rŽ   c                 ó,   <€ S P                  R RRR7      # ©FT©Úprint_outputÚinclude_strideÚinclude_device©Úprint_readable©rê   s   €rŒ   rk  r  ä  s   ø€  2×#4Ñ#4Ø!&°tÈDð $5ô $rŽ   ©r³  ú%szAFTER POST GRAD©r  r  Úcolored)r
  r  r  Úfast_sympy_printc                 ó   € R RRR/# )rË   Úinductor_post_grad_graphri  r   rŠ   rŠ   rŽ   rŒ   rk  r    s   € ØÐ :Ø" Hñ)rŽ   c                 ó   <€ S # r�   rŠ   )Úinductor_post_grad_graph_strs   €rŒ   rk  r  
  s   ø€ Ñ'CrŽ   Úgraph_break)Ú	overwriteÚnum_graph_breaksÚpt2_configs)Úextra_loggingzfailed to log pt2_configsc                ó  € V P                   R 8H  ;'       dp    \        V P                  \        4      ;'       dN    V P                  P	                  R4      ;'       g+    \        V P
                  P                  RR4      \        4      # )r-  r:  rð   N)rî   rô   r   rˆ   rÂ   ró   rÀ   rR   )r  s   &rŒ   rk  r  8  so   € ¸$¿'¹'ÀZÑ:O÷ ;ð ;Ü& t§{¡{´CÓ8÷;ð ;ð !ŸK™K×2Ñ2Ð3CÓD÷ Xð XÜ)¨$¯)©)¯-©-¸¸tÓ*DÔFVÓWð	;rŽ   )r»  )r•  Ú	shape_envr  rë  rì  r  r³  r  Úis_const_graphr  r  z"AOT mode only supports C++ wrapperr•  r  rì  rÌ  Úconst_wrapper_codeÚconst_kernel_codeÚconst_moduler·  c              3  óF   <"  € T F  pSP                  V4      x € K  	  R # 5ir�   )Údoprint)r¹   ÚsÚps   & €rŒ   r»   Ú:_InProcessFxCompile.codegen_and_compile.<locals>.<genexpr>Š  s   øé € Ð)XÑ@W¸1¨!¯)©)°A¯,¨,Ó@Wùs   ƒ!zGraphLowering.compile_to_fnz8Expected cpp_wrapper to be False for fx_wrapper AOT modezOutput graph module: 
%s)r
  )ÚAotCodeCompilerzAOT wrapper code: 
%szAOT kernel code:
%sz#Serialized Extern Kernel Nodes: 
%szAotCodeCompiler.compile)Údevice_typeÚadditional_filesÚrunnerc                 ó   € R RRR/# )rË   Ú*inductor_provenance_tracking_node_mappingsri  rj  rŠ   rŠ   rŽ   rŒ   rk  r  ç  s   € Ø &Ð(TØ *¨Fñ1rŽ   c                 ó   <€ S # r�   rŠ   )r.  s   €rŒ   rk  r  ë  s   ø€ Ñ/YrŽ   c                 ó   € R RRR/# )rË   Ú0inductor_provenance_tracking_kernel_stack_tracesri  rj  rŠ   rŠ   rŽ   rŒ   rk  r  ï  s   € Ø &Ð(ZØ *¨Fñ1rŽ   c                 ó   <€ S # r�   rŠ   )Úinductor_kernel_stack_trace_strs   €rŒ   rk  r  ó  s   ø€ Ñ/NrŽ   Úinductor_provenancezGraph Metrics:
%sÚnum_bytes_accessedÚnodes_num_elemÚnode_runtimesrð   rQ  Ústack_tracezWgraph with symbolic shapes inputs and config.triton.cudagraph_skip_dynamic_graphs=True.z Found from Ú
z,disabling cudagraphs due to incompatible op z:Expected compiled_fn to be str, list, or GraphModule, got )Úfilenamer*  )Ú check_lowering_disable_cudagraphrŠ   )žrZ  rÀ   ry   r‚  rf   rZ   Úguardr‘   Úpreserve_rng_stater   Úsleep_sec_TESTING_ONLYrš  rÍ   ÚwarningÚsleeprÜ  r#  r#   ÚcopyÚsysÚsetrecursionlimitr2  Úgetrecursionlimitr  r   r³  rT   r”  Úfx_graphr  rx   rj   r%   rÝ   Úno_gradrû  r  Úset_fake_modeÚget_cuda_device_contextrµ  Úfx_graph_transformedÚpost_grad_graphs_logr*   r  Ú#effective_provenance_tracking_levelr   Ú	tracebackÚget_graph_provenance_jsonrñ   r=   r†  Ú_pre_grad_graph_idÚ _inductor_post_to_pre_grad_nodesr(   Úin_progressr  r"   Úcompilation_metricÚ	is_fbcoder›   rˆ   r   r¤  ré  rï  ræ  rç  rÏ  rl   Úset_graph_handlerÚset_extern_kernel_nodesÚrunÚcodegen_with_cpp_wrapperrÌ   rb   ÚCachedMetricsHelperÚfreeze_runtime_assertsra   Úgraph_contextÚgraph_outputsrX   rô   rn   Úhas_tensor_outputr  rW   Ú
get_strider÷   r\  Ú
get_layoutrø   Ú_check_triton_bf16_supportrì  r  rë  Úcodegenrê   r4   Ú	codecacher)  Úextern_kernel_nodesr  Úcompiler*  r¬  ÚfromkeysÚwrapper_coder+  Úcompile_to_moduleÚcallr  rj  rn  Údump_inductor_provenance_infoÚ_inductor_kernel_stack_traceÚ
add_to_setÚinductor_metrics_logr²  Úcount_bytesr5  r7  r6  r"  Úlog_tlparseÚlog_runtime_and_tensor_metaÚlog_collective_scheduleÚ	schedulerr/  r2  Úcudagraph_skip_dynamic_graphsrî  Údisable_cudagraphs_reasonr   Úany_is_symbolicró   rî   rö   rt   r   rá   rV   rÚ  r@   Útorch._inductor.cudagraph_utilsr;  Údevice_node_mappingÚcount_kernel_nodesÚkernel_free_cudagraphrÜ  rÒ  ÚRECORD_GRAPH_EXECUTIONÚGRAPH_COMPILE_IDSrÞ   r@  rA  rA   Ú
get_deltasr  ):r  rê   r•  r·  rG  r	  r  r  r  rë  r  rì  r³  r  r  Ú	sleep_secrš  Úinductor_countersrü  Úrunnable_graph_strr  rù  Úcuda_contextÚprovenance_tracking_jsonÚmetrics_contextr  rÌ  Úconst_graphr!  r"  rÇ  rñ   Úmetrics_helperrù   rp  Úcompiled_fn_runnerÚcompiled_fnr)  rd  Úkernel_codeÚserialized_extern_kernel_nodesÚcompiled_moduler7  Ú	num_bytesr6  rt  r8  r  Úmeta_valÚdisableÚmaybe_incompat_noder;  rD  r3  r  r.  r'  rû  s:   &ff&&                                                @@@@@rŒ   rÒ  Ú'_InProcessFxCompile.codegen_and_compile]  s°  þ€ ð  ˜|Ô+¨|¸LÕ/IÒ/QÜ Ð!RÓSÐSØ ,¨\Õ :ˆ
Ø+7×+;Ñ+;Ð<OÐQSÓ+TÐØ(×,Ñ,¨]¸EÓBˆØ+×/Ñ/°
¸DÓAˆØ(×,Ñ,¨]¸EÓBˆØ'×+Ñ+¨L¸%Ó@ˆ
Ü×*Ñ*ˆØ)×-Ñ-¨n¸eÓDˆà×ÑÐ5°tÓ<ð 	ð GS×FVÑFVØÔ0óG
ˆô ÐJÓK×QÑQ×SÕSÜ×+Ò+×-Õ-ä#×:Ñ:Ð:�	ÒGÛä—‘ØIÈ9ôð —
’
˜9Ô%ä)¨"×-Ò-Ü#Ô%ä (¨Õ 4× 9Ñ 9Ó ;Ðô ×!Ò!¤#¤c×&;Ò&;Ó&=¸tÓ"DÔEäŒNÜ—‘Ø*ß"-‘;°:Ð>ð ?Ø!˜
ð$ôð #%ˆH÷#ò #ô Øñð 6õ÷ 19 ¨!¦¸bÐä�G‰G×Ñ˜R Ô0ð
 Ÿ™ˆIØÒ Ü1°.ÓA�	ô$ ˜BÔäØ-ÀT÷ö ô —]’]—_•_Ü 0°°^Ó D�I÷ %÷ô 6°bÔ9ô
 Øñôõ	ô —’ ×+Õ+ä6°rÓ:�ß!’\Ü/°ÀÕN÷ "ä—‘×,Ñ,¨R°Ô@Ü$×*Ñ*ØÜ*Ø)ØØ'+Ø'+Ø $ôô	ð 02×/@Ñ/@Ø!&Ø#'Ø#'Ø%)ð	 0Aó 0Ð,ô !Øñ!ô  Dõô ×=Ò=Ó?À1ÔDäŸ™×*Ñ*×DÑDÀRÇXÁXÓNð -ô ;Ü!ŸO™O×1Ñ1×DÑDØ4óô —O‘O×)Ñ)ÔJô #6Ó"7�Ø"×.Ñ.×0Ò0Ü'/°Õ'>×'DÑ'DÓ'FÐ$Ü&×9Ò9Ø"&Ð9Iõô ×#Ò#×%Ò%ð	AÜ,à -¬sÔ3JÓ3LÓ/Mð+õ÷o ,ôD —’ 	×*Õ*Ü3°N×CÕCÜ-¨k×DÕDà%)Ð"Ø"�Ø%)Ð"Ø$(Ð!ç¤× 3Ñ 3× P× PÐ Pô 4BØñ.ô4Ñ0�HÐ0ô #0Ø Ø')Ø"+Ø!)Ø$/Ø!)Ø/EØ%1Ø$/Ø'+Ø#-Ø&3ô#�Kô ×+Ò+¨K×8Õ8Ü×1Ò1°"×5Õ5ç*Ü"0Ð1UÓ"VÐVØ#Ÿ™Ô)à'×@Ñ@ÓBñ >Ð*Ð,=÷ 6÷ 9ô &Øñð
 $2ðð (ðð &ðð !,ðð &ðð ,Bðð ".ðð !,ðð (:ð÷ 5GÐ*×0Ò0ÈDð÷$ 4EÐ)×/Ò/È$ð%ð( "-ð)ð* %4ð+ð,  *ð-ð. #0ñ/�ô2 ")×!<Ò!<Ó!>�ð ×,Ñ,Ô.ä×'Ò'¨×.Õ.Ü×-Ò-¨b×1Õ1Ü(×6Ò6×8Õ8à—I’I˜~Ò.ØNP�NØ×*Ñ*Ò6ô +Ó,˜Ø#(×#6Ô#6˜Cä *¨3´× 7Ò 7Ø$'×$9Ñ$9×$;Ò$;Ü$'Ô(=¸c¿n¹nÓ>NÓ(OÓ$PÐTUÔ$Uð !/× 5Ñ 5ß$)¤EÔ)XÀÇÁÓ@P×@WÒ@WÓ)X§E¡EÔ)XÀÇÁÓ@P×@WÒ@WÓ)XÓ$Xö!"ð !/× 5Ñ 5°dÖ ;ñ $7ô /¨uÔ5ð CGÐ&Ü%Ø5ÈT÷ö ð !Ÿ>Ÿ>˜>¨e×.>×.>Ð.>Ø$×0×0Ð0Ü&4Ø$^ó'"ð !"ð +0¯-©-«/¸!Õ*<×*?Ñ*?˜KÜ+×1Ò1Ø ;Ø +× :Ñ :ÈÐ :Ó Nöð
 #Ÿ^Ÿ^™^ÝBà#(×#4×#4Ð#4Ü&4Ø$Hó'"ð !"ð 9>×8VÑ8VÓ8XÑ5˜L¨+Ü+×1Ò1Ø 8¸,×:LÑ:Lôð  +×0×0Ð0Ü /× 5Ò 5Ø$:¸K×<MÑ<Mô!"ð >BÐ:Ü ×4×4Ð4à$)×$@Ñ$@Ä×AVÑAVÓ$Wð !?ô !0× 5Ò 5Ø$JØ$Bô!"ô
 ".Ø 9ÐQU÷"ö "ð />×.EÑ.EØ$)Ø$0×$6Ñ$6Ø$/×$5Ñ$5Ø$BØ05×0AÑ0Að	6&Ü)-¯©Ø,1×,>Ñ,>×,OÑ,O÷ 4?ð 1<×0HÑ0H×0YÒ0Yà57õ	-.ó**ð	6&ð /Fó /" ÷	"ð "ð, /4×.EÑ.EÓ.G˜OØ*9×*>Ñ*>˜KÜ18Ø /°¸4ó2Ð.÷AðJ BFÐ>Ø6:Ð3Ü×AÒAÓCÀqÔHÜEIÇZÂZÜ!ŸO™O×1Ñ1×OÑOÓQóFÐBô ;?¿*º*Ü!ŸO™O×1Ñ1×NÑNó;Ð7ô )Ø&ñ)ô (Zõô )Ø&ñ)ô (Oõ÷ ;Ü.AÓ.C˜OØ.×:Ñ:×<Ò<Ø /× :Ñ :Ø$9Ø$Cô!"ð
 %)�MÜ+×8Ñ8¼¿¹×FÒFØCH×CTÑCTÓCVÑ@˜	 >°=ä×2Ò2°iÕ?Õ2Ü×-Ò-°Õ>Õ-Ü×.Ò.°.Õ@Õ.Ü,×1Ñ1Ø0à 4°iØ 0°.Ø /°ðôô ×)×)Ð)Ø.3×.?Ñ.?Ó.AÑ+˜˜1˜mÜŸ™×-Ñ-×IÑIÈ-ÔXô —O‘O×)Ñ)×AÑAÀ%Ç/Á/×BWÑBWÔX÷ #˜
Ü"ŸMšM×G×GÒGÜ &× 6× 6Ò 6Ü !§¡× A× AÒ AÜ!ŸO™O×1Ò1×AÓAÀ>×RÐRà&*˜Ø$&§H¡H§N¤N˜DØ'+§y¢y§}¡}°U¸DÓ'A˜Hà $§¢¨=Ô 8Ü'1°(¼E¿LºL×'IÒ'IÜ',§¡×'<Ò'<×'LÒ'LÈX×'VÒ'Vá (à.2¯iªi¯m©m¸MÈ4Ó.PÐP˜{×PÐPÙ %ñ %3ð #|˜ß&Ø)0¨	°¸k¸]È"Ð&M™Gà)0¨	° n˜Gà<CœŸ™Ô9÷
 #ä &× 6× 6Ñ 6ä !§¡× A× AÑ Aå.SÐTVÓ.WÐ+ß.Ø(TÐUh×UoÒUoÐTpÐ&q˜GØ.A×.FÒ.F×.JÑ.JØ -¨tó/ð  ˜{ö  ð .5¨I°\À+ÀÈbÐ*Q à@GœAŸG™GÔ=ô ×(×(Ð(Ü)Ø'ä ¥$¬¯©×(<Ò(<Ð=÷ ò  ô
 #1Ø"\Õ]aÐbmÓ]nÐ\oÐ pó#ð õ  ,Ø%0¸e×>OÑ>Oô ÷i 9Ñ8÷ 2Ñ1÷ /Ñ.÷Y EÑD÷ DÑC÷ +Ñ*÷W .Ñ-÷ TÒS÷l "¬!¯'©'×*K×*KÑ*Kõñ =ä !§¡× ;Ò ;óô Ÿ™Ô9÷ #Ü !§¡× A× AÑ AØ!ŸO™O×>Ò>¸u¿¹×?TÑ?TÓUØôð 9=œŸ™Ô5à×'Ò'­¨T«
Õ3×GÓGÈ1ÕLÕGô Ÿ™×-Ñ-×D×DÑDä!ŸO™O×1Ñ1×CÒCÒOä%(ä!ŸMšM×8Ò8×KÒKÓMó&˜
ð $0×#3Ñ#3°JÓ#?˜Ø#Ò/ð !+ô "ŸO™O×1Ñ1×CÒCÀHÑMõ +Ø#ØØØ&äŸ™×9Ò9Ø&×1Ò1Ó3Ü  Õ,Ð/@Õ@Ø"Ø&Ø)Ø×0Ò0Ø$Ø'Ø*Ø4Ø*ØBØ7ó'÷E 9Ñ8÷ 2Ñ1÷ /Ñ.÷Y EÑD÷ DÑC÷ +Ñ*÷W .Ñ-÷ TÒS÷p %—_�_ú÷÷ ð ú÷8 "—\�\ûôr %ô Aô Ÿ™Ð$?×@ðAú÷y ,×+Ð+ú÷P 6×5Ð5ú÷ 9×8Ð8ú÷`"÷ "ð "ú÷Q÷ ð ú÷; 9×8úÐ8÷ 2×1×1Ð1ú÷ /×.×.Ð.ú÷Y E×D×DÐDú÷ D×C×CÐCú÷ +×*×*Ð*ú÷W .×-×-Ð-ú÷ T×S×SÒSúsE  Ã3AM&ÄE#AM		É4AG-ÊAGÊAG-Ê'AAM		Ë+AH<ÌAHÌE9AH<Ò
AHÒ)&AM		ÓAL-Ó#ALÓ70AK5Ô(AAK5Õ.AI$Ö7AI×AI$×?AK5ØAAK5Ù'AKÚAJ=Ú$A%AJ !Ü
<AJ !ÝBAJ !ß$AJ%à AJ%àA'AJ%á:AJ%âAAJ%ã#8AJ%äAAJ%å'BAI8)ç+2AJ%èD$AJ !íBAJ !ïBAJ !ñ""AJ !òAJ !ò!AJ !ò?/AJ !ó/BAJ !ö$AJ !ö4AJ !÷*AJ !÷-AJ !ø AJ !ø%AAJ !ù.2AJ !ú!A&AJ !ü
AJ=ü
AKü
AK5ü%
ALü/
AL-ü9
AM		ý
AM&ýAJ !ý  AJ !þAAJ !ÿ AJ !ÿ$F$AJ !ÁF
AJ=ÁF
AKÁF
AK5ÁF&
ALÁF0
AL-ÁF:
AM		ÁG
AM&ÁGAG*ÁG$	AG-ÁG-AG>ÁG8	AM		ÁHAHÁH	AH<ÁH AH9ÁH5AH<ÁH8AH9ÁH9AH<ÁH<AIÁI	AM		ÁIAI!!ÁI	AI$ÁI$AI5ÁI/	AK5ÁI8AJ	-ÁJ	AJ%ÁJAJ)ÁJ	AJ !ÁJ AJ0%ÁJ+AJ=ÁJ4	AKÁJ=AK!ÁKAKÁK	AK5ÁKAK)ÁK$AK5ÁK,	ALÁK5ALÁL ALÁL	AL-ÁLAL!ÁLAL-ÁL$	AM		ÁL-AL=ÁL8AM		ÁM 	AM&ÁM	AMÁMAM&ÁM&AM7	rŠ   N)r¡   r¢   r£   r¤   r   rÒ  r¨   rŠ   rŽ   rŒ   rë  rë  \  s   † Øôró ôrrŽ   rë  c               ó0   € V ^8„  d   QhRRRRRRRRR	R
RR/# )r†   rê   rV   r•  r–  r·  r
  r  r  rG  r  r‰   rF   rŠ   )r‹   s   "rŒ   r�   r�   “  sL   € ÷ >Yñ >YØð>Yà'ð>Yð
 #ð>Yð $ð>Yð -ð>Yð ñ>YrŽ   c                ó„  € \         \        P                  8X  d   \        4       pMM\         \        P                  8X  d   ^RIHp V! 4       pM&\         \        P                  8X  d   ^RIH	p V! 4       p\        '       dC   ^RIHp ^RIHp	 \        XV	4      '       g   \        R4      hV! V4      pVVP                   n        \$        '       d^   ^RIHp
 ^RIHp	 \        XV	4      '       g   \        R4      h\)        4       p\        4       pW<n        V
! WÅV4      pVVP*                  n        VXn        VP-                  WW$4      # )é   )Ú_DebugSerdeFxCompile)Ú_SubprocessFxCompile)Ú_AsyncFxCompile)Ú_OutOfProcessFxCompilez7async is only valid with an out-of-process compile mode)Ú_ProgressiveFxCompilez=progressive is only valid with an out-of-process compile mode)Úfx_compile_moder    r¥   rë  r¦   Úcompile_fx_extr�  r§   Úcompile_fx_subprocr�  Úfx_compile_asyncÚcompile_fx_asyncr‘  r’  rô   rZ  Ú_compiler  Úfx_compile_progressiver“  rÒ   Ú_optimized_compilerÒ  )rê   r•  r·  r  rG  Úschemer�  r�  r‘  r’  r“  Úprogression_configsÚfast_schemes   &&&&,        rŒ   rU  rU  “  s  € ô œ-×.Ñ.Ô.Ü$Ó&‰Ü	œM×3Ñ3Ô	3Ý8á%Ó'‰Ü	œM×4Ñ4Ô	4Ý<á%Ó'ˆçÓÝ5Ý:ô ˜&Ð"8×9Ò9Ü ØIóð ñ ! Ó(ˆàð 	�‰Ô+÷ ÓÝ;Ý:ô ˜&Ð"8×9Ò9Ü ØOóð ô 7Ó8Ðô *Ó+ˆØ*=Ô'ñ ' {Ð<OÓPˆàð 	×!Ñ!Ô5ð "5€FÔð ×%Ñ% b¸/ÓXÐXrŽ   c               ó$   € V ^8„  d   QhRRRRRR/# )r†   Úinputsr–  r  r
  r‰   rŠ   )r‹   s   "rŒ   r�   r�   Ô  s&   € ÷  ñ  Øð à$ð ð ñ rŽ   c                óÀ  € . p\        V 4       F¹  w  r4\        V\        P                  4      '       g   K'  \	        VP
                  P                  4      '       g   KN  \        4       ;_uu_ 4        W19   d   \        V4      '       d    RRR4       Kƒ  \        V4      '       g    RRR4       KŸ   RRR4       VP                  V4       K»  	  V#   + '       g   i     L'; i)zŽ
This function runs at compile time, and generates a list of indices for which we
might need to do a copy to preserve alignment requirements.
N)r`  rô   rÝ   rö   rN   r@  rÚ  ru   rQ   rO   r÷   )r   r  Úids_to_checkr3  r¾  s   &&   rŒ   r•  r•  Ô  s°   € ð €Lä˜fÖ%‰ˆÜ˜%¤§¡×.Ò.áÜ�e—l‘l×'Ñ'×(Ò(áÜ0×2Õ2ð Ô%Ô*;¸E×*BÒ*BØ÷	 3Ñ2ô
 /¨u×5Ò5Ø÷ 3Ñ2ð
 6÷ 3ð 	×Ñ˜AÖñ) &ð, Ð÷ 3×2ús   Á.CÂCÃCrW  ÚplaceholdersÚmutated_input_idxsrv  r
  c               óH   € V ^8„  d   QhRRRRRRRRR	R
RR
RRRRRRRR
RRRR/# )r†   ÚmodelúCallable[..., Any]r  r
  Údevice_indexrÚ   Ústack_traceszlist[str | None]r  r¬   r³  rW  ztuple[torch.Tensor, ...]r£  zSequence[PlaceholderInfo]r¤  ztuple[int, ...]rv  r
  r‰   rŠ   )r‹   s   "rŒ   r�   r�   ÷  s€   € ÷ 1ñ 1Øð1à$ð1ð ð	1ð
 #ð1ð ð1ð ð1ð (ð1ð ,ð1ð (ð1ð  ð1ð .ð1ð ñ1rŽ   c       	        ód  a aaa€ ^ RI Hp \        P                  P                  '       dI   \
        P                  ! VVVVVVVVV	V
\        P                  P                  P                  4       R7      oM\
        P                  ! \        V	R7      o\        P                  ! 4       oR VV VV3R llpV# )r   )Úcudagraphify_impl)
r¨  r©  r  r³  rW  r£  r¤  rv  r
  rD  )rv  c               ó    € V ^8„  d   QhRRRR/# )r†   Ú
new_inputsr–  r‰   r   rŠ   )r‹   s   "rŒ   r�   Ú"cudagraphify.<locals>.__annotate__   s   € ÷ 'ñ 'Ð+ð '°ñ 'rŽ   c                óÊ   <€ \        SR R4      pVf8   \        P                  ! 4       ;_uu_ 4        S! SV S4      pRRR4       VSn        V! V 4      #   + '       g   i     L; i)rƒ  N)r  r‘   r=  rƒ  )r­  rƒ  Úcudagraphify_fnr¦  r  Úthread_locals   & €€€€rŒ   rU  Úcudagraphify.<locals>.run   sV   ø€ Ü˜l¨M¸4Ó@ˆØÒÜ×0Ò0×2Õ2Ù-¨e°ZÐARÓS�÷ 3à'2ˆLÔ$Ù˜:Ó&Ð&÷ 3×2ús   °AÁA"	)Útorch._inductor.cudagraph_treesr«  r   r2  Úcudagraph_treesÚ	functoolsÚpartialrÝ   rÞ   r@  rA  Ú	threadingr¼  )r¦  r  r¨  r©  r  r³  rW  r£  r¤  rv  r
  Únew_cudagraphify_implrU  r°  r±  s   ff$$$$$$$$$  @@rŒ   Úcudagraphifyr¹  ÷  s•   û€ õô
 ‡}�}×$×$Ð$Ü#×+Ò+Ø!Ø%Ø%Ø#Ø%ØØ%Ø1Ø"7Ø%=Ü—}‘}×3Ñ3×FÑFÓHô
‰ô $×+Ò+ÜØ"7ô
ˆô
 —?’?Ó$€L÷'ó 'ð €JrŽ   c               ó    € V ^8„  d   QhRRRR/# )r†   rº   útorch.Tensorr‰   rŠ   )r‹   s   "rŒ   r�   r�   +  s   € ÷ Uñ U�Lð U \ñ UrŽ   c                ó–   € \         P                  ! V P                  4       V P                  4       V P                  V P
                  R7      # )z)
Copy and input while preserving strides
)rA  r@  )rÝ   Úempty_stridedÚsizerø   rA  r@  )rº   s   &rŒ   Ústatic_inputr¿  +  s/   € ô ×Ò˜qŸv™v›x¨¯©«¸1¿7¹7È1Ï8É8ÔTÐTrŽ   c               ó(   € V ^8„  d   QhRRRRRRRR/# )r†   Údstr»  ÚsrcÚexpanded_dimsrÛ   r‰   r™   rŠ   )r‹   s   "rŒ   r�   r�   2  s0   € ÷ #ñ #Ø	ð#à	ð#ð ð#ð 
ñ	#rŽ   c                ó¤   € \        W4      p\        P                  ! V4      ^ 8w  d   \        W4       R# \        W4      pVP	                  V4       R# )z=Index into expanded dimensions of both dst and src then copy_N)rE   rÝ   Ú_debug_has_internal_overlaprC   Úcopy_)rÁ  rÂ  rÃ  Úindexed_dstÚindexed_srcs   &&&  rŒ   Úindex_expanded_dims_and_copy_rÉ  2  sF   € ô & cÓ9€KÜ×(Ò(¨Ó5¸Ô:ô 	˜cÔ'ÙÜ% cÓ9€KØ×Ñ�kÖ"rŽ   c          
     ó,   € V ^8„  d   QhRRRRRRRRR	R
/# )r†   r¦  r§  r   zlist[torch.Tensor]r  r
  rv  r¬   r‰   ú Callable[[list[InputType]], Any]rŠ   )r‹   s   "rŒ   r�   r�   C  sH   € ÷ sMñ sMØðsMàðsMð %ðsMð
  ðsMð &ñsMrŽ   c               ó  aa
aaaa€ V'       d   V # \        VS4      p\        \        VS4      4      o\        W4       \	        V\
        4      '       g   \        R\        V4       24      h\        V4       UUu. uF  w  rVVS9  d   \        V4      M. NK  	  uppo\        V4       UUu. uFI  w  rV\	        V\        P                  4      '       g   TM!VS9  d   \        V4      MVP                  4       NKK  	  uppo\        \        VS4      4       FF  w  pw  rg\	        V\        P                  4      '       g   K*  VS9  g   K3  \        SV,          Wg4       KH  	  \        P                   P#                  4        \        P                   P%                  4       pVP'                  \        P                   P)                  4       4       \        P                   P+                  V4      ;_uu_ 4        V ! \        S4      4       RRR4       VP#                  4        \        P                   P)                  4       P'                  V4       \        P                   P#                  4        \        P                   P-                  4       o\        P                   P/                  SVRR7      ;_uu_ 4        V ! \        S4      4      oRRR4       \	        S\
        \0        34      '       g   S3o\2        P4                  '       d   R VVVVV3R llp	M9\7        \9        S4      4       Uu. uF  qUS9  g   K  VNK  	  upo
R V
VVVV3R llp	\;        W”\        4       4      # u uppi u uppi   + '       g   i     ELj; i  + '       g   i     LÀ; iu upi )	zI
Assumes inputs[static_input_idxs[i]] are always the same memory address
z"Expected inputs to be a list, got Nr±  )ÚstreamÚcapture_error_modec               ó    € V ^8„  d   QhRRRR/# ©r†   r­  úlist[InputType]r‰   rË  rŠ   )r‹   s   "rŒ   r�   Ú'cudagraphify_impl.<locals>.__annotate__„  s   € ÷ 	"ñ 	"˜Oð 	"Ð0Pñ 	"rŽ   c           
     óŽ  <€ \        S4      \        V 4      8w  d$   \        R \        S4       R\        V 4       24      h\        \        SV S4      4       FÍ  w  pw  r#p\	        V\
        P                  4      '       g   K+  \	        V\
        P                  4      '       g   \        RV R\        V4       24      hVS9   dV   VP                  4       VP                  4       8w  d1   \        RV RVP                  4        RVP                  4        24      hKÁ  \        W#V4       KÏ  	  V P                  4        SP                  4        S	# )z?Expected static_inputs and new_inputs to have same length, got ú vs úExpected src at index ú to be a Tensor, got zExpected static input at index z to have same data_ptr, got )r  rZ  r`  Úziprô   rÝ   rö   rÚ  Údata_ptrrÉ  rä  Úreplay)
r­  r  rÁ  rÂ  rÃ  rñ   Úinps_expanded_dimsr  Ústatic_inputsÚstatic_outputss
   &    €€€€€rŒ   rU  Úcudagraphify_impl.<locals>.run„  s:  ø€ Ü�=Ó!¤S¨£_Ô4Ü$ðÜ˜}Ó-Ð.¨d´3°z³?Ð2CðEóð ô 3<Ü�M :Ð/AÓBö3Ñ.�Ñ.�c ô " #¤u§|¡|×4Ò4ÙÜ! #¤u§|¡|×4Ò4Ü(Ø0°°Ð5JÌ4ÐPSË9È+ÐVóð ð Ð+Ô+Ø—|‘|“~¨¯©«Ô7Ü,Ø=¸c¸Uð C#Ø#&§<¡<£>Ð"2°$°s·|±|³~Ð6FðHóð ñ 8ô 2°#¸MÖJñ'3ð( ×ÑÔØ�L‰LŒNà!Ð!rŽ   c               ó    € V ^8„  d   QhRRRR/# rÐ  rŠ   )r‹   s   "rŒ   r�   rÒ  ¨  s   € ÷ 	"ñ 	"˜Oð 	"Ð0Pñ 	"rŽ   c           	     ó  <€ S Fa  pSV,          pW,          p\        V\        P                  4      '       g   \        R V R\	        V4       24      h\        SV,          W24       Kc  	  V P                  4        SP                  4        S# )rÕ  rÖ  )rô   rÝ   rö   rZ  rÚ  rÉ  rä  rÙ  )	r­  r  rÃ  rÂ  Úcopy_indicesrñ   rÚ  rÛ  rÜ  s	   &   €€€€€rŒ   rU  rÝ  ¨  s€   ø€ Û#�Ø 2°3Õ 7�Ø •o�Ü! #¤u§|¡|×4Ò4Ü(Ø0°°Ð5JÌ4ÐPSË9È+ÐVóð ô .¨m¸CÕ.@À#ÖUñ $ð ×ÑÔØ�L‰LŒNà!Ð!rŽ   )r•  r[   rw   rr   rô   rá   rZ  rÚ  r`  rD   rÝ   rö   r¿  Údetachr×  rÉ  r  ÚsynchronizeÚStreamÚwait_streamÚcurrent_streamrÍ  Ú	CUDAGraphrñ   r\  r   Úsize_assertsrâ   r  rp   )r¦  r   r  rv  Úcheck_input_idxsr  rº   rÃ  rÍ  rU  rà  rñ   rÚ  rÛ  rÜ  s   &&f$      @@@@@rŒ   r«  r«  C  sÃ  ý€ ÷ Øˆä.¨vÐ7HÓIÐä)3Ü# FÐ,=Ó>ó*Ðô ˜6Ô4ä�fœd×#Ò#ÜÐAÄ$ÀvÃ,ÀÐPÓQÐQô   Ô'ôá'‰FˆCð !$Ð+<Ô <Ô˜!ÔÀ"ÒDÙ'òÐô   Ô'ô	ñ (‰FˆCô ˜a¤§¡×.Ò.ñ ð Ð+Ô+ô ˜a”à—‘“ò	ñ (ò	€Mô $-¬S°Ð9KÓ-LÖ#MÑˆÑˆaÜ�aœŸ™×&Ô&¨3Ð6GÖ+GÜ)¨-¸Õ*<¸aÖOñ $Nô
 
‡J�J×ÑÔÜ�Z‰Z×ÑÓ €FØ
×Ñ”u—z‘z×0Ñ0Ó2Ô3ä	�‰×	Ñ	˜6×	"Õ	"ÙŒd�=Ó!Ô"÷ 
#à
×ÑÔÜ	‡J�J×ÑÓ×+Ñ+¨FÔ3Ü	‡J�J×ÑÔô �J‰J× Ñ Ó"€EÜ	�‰×	Ñ	˜%¨À>Ð	×	RÕ	RÙœt MÓ2Ó3ˆ÷ 
Sä�n¤t¬U m×4Ò4Ø(Ð*ˆä××Ð÷	"õ 	"ôB !¤ ]Ó!3Ô4ó
Ù4�CÐCTÑ8T�CˆCÑ4ñ
ˆ÷	"ô 	"ô (¨¼z»|ÓLÐLùóyùó	÷* 
#×	"Ð	"ú÷ 
S×	RüòN
s1   Á8MÂ)AMÇ+MÊ(M2ÌNÌ(NÍM/	Í2N	c          
     ó,   € V ^8„  d   QhRRRRRRRRR	R
/# )r†   Úmodel_rV   Úexample_inputs_rÑ  Úinner_compiler  rý  r€  r‰   z'list[str | Weights] | str | GraphModulerŠ   )r‹   s   "rŒ   r�   r�   ¹  sA   € ÷ E+ñ E+ØðE+à$ðE+ð &ðE+ð *ð	E+ð
 -ñE+rŽ   c                óv  € \        V \        4      '       g   \        R \        V 4       RV  24      h\	        V 4       \
        P                  ! T;'       g    / 4      pVP                  RR4      '       g   \        P                  '       g   RVR&   VP                  R\        P                  P                  4      pV'       d$   VP                  R4      '       d   \        R4      hM/ VCR\        V P                  4      /Cp^R	IHp V! V4      pVP#                  R
R4      pV P$                  P                  RR4      p\&        P(                  P+                  V4      p\,        P.                  ! R4      ;_uu_ 4        \&        P(                  P1                  V4      ;_uu_ 4        \3        RRRR7      ;_uu_ 4        \5        4       ;_uu_ 4        \7        V V\8        P:                  ! VVR7      VR7      p	\        V	\<        4      '       g   \        R\        V	4       24      hV	P>                  uuRRR4       uuRRR4       uuRRR4       uuRRR4       #   + '       g   i     M; i RRR4       M  + '       g   i     M; iRRR4       M  + '       g   i     M; iRRR4       R#   + '       g   i     R# ; i)zExpected GraphModule, got ú: r  FTrë  zaot_inductor.output_pathz.pt2a
  The output path for aot_compile should not have an extension with .pt2 this is for specifying the output path for the .so in AOTInductor. If you would like to package the AOTInductor generated files into a pt2, please call `torch._inductor.aoti_compile_and_package`.)Úmaybe_aoti_standalone_configr  NÚdynamo_compile_idÚcompile_fx_aot)r›  Úreset_event_log_on_exit)r  )rì  rý  zExpected CompiledAOTI, got ) rô   rV   rZ  rÚ  r-   rA  ÚdeepcopyrÀ   r   r  ræ  Úoutput_pathrµ  r2   Úcoder   rï  rÊ   ró   rÝ   rÞ   r@  ry   Úset_aot_compilationÚcompile_contextr!   r(   Ú
compile_fxrµ  r¶  r@   r:  )
rê  rë  rì  rý  rô  rï  r  Úsaved_compile_idÚsaved_compile_contextÚcompiled_artifactss
   &&&&      rŒ   rñ  rñ  ¹  sD  € ô �fœk×*Ò*ÜÐ9¼$¸v»,¸ÀrÈ&ÈÐRÓSÐSô & fÔ-ô &*§]¢]°>×3GÐ3GÀRÓ%H€Nà×Ñ˜|¨U×3Ò3´v×7H×7HÐ7Hà(,ˆ�}Ñ%à ×$Ñ$Ø"¤F×$7Ñ$7×$CÑ$Có€K÷ Ø×Ñ ×'Ò'Ü ðVóð ð (ð
Øð
à&¬	°&·+±+Ó(>ñ
ˆõ
 4á1°.ÓA€Nà+×/Ñ/Ð0HÈ$ÓOÐØ—{‘{—‘Ð':¸DÓAÐÜ!ŸM™M×8Ñ8Ð9IÓJÐä	×Ò˜d×#Õ#Ü�‰×%Ñ%Ð&;×<Õ<ÜØØ"&Ø$(÷	
ö 	
ô
 	×Õä'ØØÜ#×+Ò+ØØ'=ôð *ô
Ðô Ð,¬l×;Ò;Ü Ø-¬dÐ3EÓ.FÐ-GÐHóð ð "×*Ñ*÷# 	Ñ÷	
ñ 	
÷ 	=Ñ<÷ 	$Ò#÷ 	×úÐ÷	
÷ 	
÷ 	
ð 	
ú÷ 	=×<×<Ð<ú÷ 	$×#×#Ò#úsa   Å8(J'Æ J
	Æ7I.Ç
AIÈ(
I.È2
J
	È<
J'ÉI!ÉI.É%	J
	É.I>É9J
	Ê	J'Ê
JÊJ'Ê'J8	c               ó<   € V ^8„  d   QhRRRRRRRRRR	R
RRRRRRR/	# )r†   Úaot_autograd_modelrV   Úaot_example_inputsr–  Údynamo_modelÚnum_example_inputsrÚ   rì  r§  r	  rH   r  Úforward_devicer5   r‰   z0Callable[[list[object]], Sequence[torch.Tensor]]rŠ   )r‹   s   "rŒ   r�   r�   	  sm   € ÷ oñ oØ#ðoà+ðoð ðoð ð	oð
 &ðoð ðoð ðoð %ðoð 6ñorŽ   c                óÂ  aaaa€ ^ RI HpHp	 \        W4      p
\	        V \        \        V
4      4      R7      p \        P                  ! V RR7      pV'       d   \        WR4       V! V 4       V	! VV V4      w  poS Uu. uF  qÑV,          NK  	  pp\        V4      pVP                  P                  Ev ppVP                  ^ ,          p\        V4       UUu. uF4  w  pp\        V\         P"                  P$                  4      '       g   K2  VNK6  	  uppVP&                  R&   . p\         P(                  P*                  P-                  4       p^ .o^ oVEe‚   VP.                  f   \1        R4      hVP.                  p\3        ^ \5        V4      ^,
          4      o\6        \8        ,          ! 4       pVP:                  pVf   \1        R4      h^ p\5        V4      ^ 8”  d   . o\=        \5        V4      4       Fe  pVS9  d3   RVV&   V^ 8”  d&   VV,          VV^,
          ,          8X  d
   V^,          pMVP?                  VV,          4       SPA                  V4       Kg  	  VPB                  f   \1        R	4      h\=        \5        VPB                  4      4       F  pVV9  g   K  RVPB                  V&   K  	  VPD                  '       d   VPD                  PF                  p\H        PJ                  PM                  VR
R4      ;_uu_ 4        V! VVVVVRVVR7      oRRR4       \N        PP                  '       d   S# R VVVV3R llpRVn)        V# u upi u uppi   + '       g   i     LH; i)r   )Ú%convert_conv_weights_to_channels_lastÚfreeze©r¥  Tr  r
  Nz@Expected tracing_context.params_flat_unwrap_subclasses to be setzAExpected tracing_context.params_unwrapped_to_flat_index to be setz.Expected tracing_context.params_flat to be setrô  )r  r	  r  r³  r  r  c               ó    € V ^8„  d   QhRRRR/# )r†   r–   zlist[object]r‰   zSequence[torch.Tensor]rŠ   )r‹   s   "rŒ   r�   Ú*fw_compiler_freezing.<locals>.__annotate__i	  s   € ÷ ,ñ ,�lð ,Ð'=ñ ,rŽ   c           
     óœ   <€ S Uu. uF#  pWS\        VS4      ,          ,
          ,          NK%  	  ppV P                  4        S! V4      # u upi r�   )Úminrä  )r–   r3  Úargs_newÚmax_offset_idxÚoptimized_functionÚpreserved_arg_indicesÚunwrapped_args_offsetss   &  €€€€rŒ   ÚwrapperÚ%fw_compiler_freezing.<locals>.wrapperi	  sX   ø€ ñ +ó
á*�ð Ð+¬C°°>Ó,BÕCÕC×DÐDÙ*ð 	ð 
ð 	�
‰
ŒÙ! (Ó+Ð+ùò
s   †)A	)*Útorch._inductor.freezingr  r  r'   r«  r–  r—  rl   Údecide_layout_optrû  r$   rñ   r/  r–   r`  rô   rÝ   r   rõ   ró   rÞ   rß   rà   Úparams_flat_unwrap_subclassesrZ  r2  r  r[   rÚ   Úparams_unwrapped_to_flat_indexrâ   rD  r÷   Úparams_flatrã   rä   r   rŒ  r—   ry   r‚  Ú_boxed_call) rý  rþ  rÿ  r   rì  r	  r  r  r  r  Úinputs_devicesr  Ú	opt_modelÚindrù  rt  Úmodel_outputs_nodeÚmodel_outputsr  rÎ  r  Útracing_contextÚparams_flat_unwrapÚpreserved_indices_params_flatÚunwrapped_idxsÚcurrent_offsetr3  r  r  r  r  r  s    &&&&&&&&                    @@@@rŒ   Úfw_compiler_freezingr!  	  s.  û€ ÷ Wô (Ð(:ÓO€NÜ6ØÜœ$˜~Ó.Ó/ôÐô
 ×0Ò0Ð1CÐRVÔW€JßäÐ+ÀÔFÙ-Ð.@ÔAá'-ØØØó(Ñ$€IÐ$ñ >SÓSÑ=R°c¨S×1Ð1Ñ=RÐÐSä Ð!3Ó4€Ið 'Ÿ_™_×2Ñ2Ñ€QÐØ&×+Ñ+¨AÕ.€Mä# MÔ2ô;Ù2‘��Q´jÀÄEÇHÁHÇMÁM×6R�ˆÑ2ò;Ð×ÑÐ6Ñ7ð $&Ðä—m‘m×2Ñ2×:Ñ:Ó<€OØ˜SÐØ€NØÓ"Ø×8Ñ8Ò@Ü ØRóð ð -×JÑJÐÜ˜Q¤Ð$6Ó 7¸!Õ ;Ó<ˆÜ(2´3®Ó(9Ð%Ø(×GÑGˆØÒ!Ü ØSóð ð ˆÜÐ!Ó" QÔ&Ø%'Ð"ä”sÐ-Ó.Ö/ˆAØÐ-Ô-Ø(,Ð" 1Ñ%Ø�q”5˜^¨AÕ.°.ÀÀQÅÕ2GÔGØ" aÕ'�Nøà-×1Ñ1°.ÀÕ2CÔDØ"×)Ñ)¨.Ö9ñ 0ð ×&Ñ&Ò.Ü Ð!QÓRÐRÜ”s˜?×6Ñ6Ó7Ö8ˆAØÐ5Ö5Ø15�×+Ñ+¨AÓ.ñ 9ð ×&×&Ð&Ø /× ;Ñ ;× PÑ PÐä	�‰×	Ñ	˜9Ð&=¸t×	DÕ	DÙ*ØØØ/Ø!ØØØ'5Ø!ô	
Ð÷ 
Eô 	××ÐØ!Ð!÷,ó ,ð €GÔà€Nùò_ Tùó;÷Z 
E×	Dús   Á<MÃ/MÄMË=MÍM	c               ó    € V ^8„  d   QhRRRR/# )r†   r$  r¬   r‰   zdict[str, object]rŠ   )r‹   s   "rŒ   r�   r�   v	  s   € ÷ ñ ¨tð Ð?Pñ rŽ   c                ó  € V '       dK   \         P                  P                  '       d+   \         P                  '       d   \	        \        R 4      4       \         P                  P                  e   \         P                  P                  M!\        4       ;'       d    \        P                  pRTRV'       * R\         P                  P                  ;'       d3    \        P                  '       * ;'       d    \         P                  '       * RR/# )z0cpp-wrapper does not support graph partition yetztriton.autotune_at_compile_timeztriton.autotune_cublasLtútriton.cudagraphsztriton.store_cubinT)
r   r2  r	  rî  r9   r8   Úautotune_at_compile_timer`   ry   r‚  )r$  r%  s   & rŒ   r1  r1  v	  sÉ   € ßœfŸm™m×6×6Ð6¼6×;Q×;QÐ;QÜ+Ü'ØBóô	
ô �=‰=×1Ñ1Ò=ô 	�‰×.Ò.ô ‹\×/Ð/œa×/Ñ/ð	 ð 	*Ð+CØ"Ð(@Ô$@ØÜ�M‰M×$Ñ$÷ +ð +Ü×%Ñ%Ô%÷+ð +ä×*Ñ*Ô*à˜dð	ð 	rŽ   c               ó    € V ^8„  d   QhRRRR/# )r†   rê   útorch.fx.GraphModuler‰   rˆ  rŠ   )r‹   s   "rŒ   r�   r�   �	  s   € ÷ ñ Ð 4ð Ð9Uñ rŽ   c                óV  € \         P                  P                  4       '       g   \        P                  ! 4       # \        R \        V 4       4       4      p\        V4      ^8X  d2   \         P                  P                  \        \        V4      4      4      # \        P                  ! 4       # )zP
Returns a cuda device context manager if there is a single device in the graph
c              3  óJ   "  € T F  qP                   R 8X  g   K  Vx € K  	  R# 5i)r  N)rÚ  rT  s   & rŒ   r»   Ú*get_cuda_device_context.<locals>.<genexpr>—	  s   é € ð 8Ù0�6·K±KÀ6Ñ4I�ŠÓ0ùs   ‚#™
#)rÝ   r  r  rŠ  r‹  r[   rK   r  r@  r–  r—  )rê   Úcuda_devicess   & rŒ   rH  rH  �	  s‡   € ô �:‰:×"Ñ"×$Ò$Ü×%Ò%Ó'Ð'ä-7ñ 8Ü,¨RÔ0ó8ó .€Lô ˆ|Ó Ô!ô 	�
‰
×Ñœ$œt LÓ1Ó2Ó3ðô ×#Ò#Ó%ðrŽ   Úpartitioner_fn_overridec          
     ó,   € V ^8„  d   QhRRRRRRRRR	R
/# )r†   rê   rV   Újoint_inputszSequence[object]r,  zCallable[..., Any] | Noner˜   r—   r‰   ztuple[GraphModule, GraphModule]rŠ   )r‹   s   "rŒ   r�   r�   ¢	  sA   € ÷ @ñ @Øð@à"ð@ð 7ð@ð ð@ð %ñ@rŽ   c               óP  € \        V 4      pV;_uu_ 4        \        W4      p\        V R \        \	        V4      4      R7      p RRR4       VP                  RR4      pVe   V! V V3RV/VB # \        P                  f=   \        P                  ! RR R7      ;_uu_ 4        \        V V3RRRV/VB uuRRR4       # \        \        P                  \        4      '       g&   \        R\        \        P                  4       24      h\        P                  ! \        P                  P                  P                   R R7      ;_uu_ 4        \        P                  ! V V3RRRV/VB uuRRR4       #   + '       g   i     EL3; i  + '       g   i     R# ; i  + '       g   i     R# ; i)	T)rt  r¥  NÚstatic_lifetime_input_indicesr   r  Úcompilerr-  z>Expected custom_partitioner_fn to be CustomPartitionerFn, got )rH  r'   r«  r–  r—  rÊ   r   Úcustom_partitioner_fnr‘   r%   r   rô   r;   rZ  rÚ  Ú	__class__r¡   )rê   r.  r,  r˜   r}  r  r0  s   &&$,   rŒ   Úpartition_fnr4  ¢	  s»  € ô +¨2Ó.€Lß	Šô ,¨LÓ=ˆÜ*ØØ!%Üœd >Ó2Ó3ô
ˆ÷ 
ð 7=·j±jØ'¨ó7Ð!ð Ò*Ù&ØØñ
ð +Hð
ð ñ	
ð 	
ô ×#Ñ#Ò+Ü×&Ò&Ø1È÷
ö 
ô 7ØØñð $ðð /Lð	ð ñ÷
ò 
ô œ&×6Ñ6Ô8K×LÒLÜ ðÜœF×8Ñ8Ó9Ð:ð<óð ô ×&Ò&Ü×(Ñ(×2Ñ2×;Ñ;Ø"&÷
ö 
ô ×/Ò/ØØñð $ðð /Lð	ð
 ñ÷	
ò 
÷S 
�ˆú÷0
÷ 
ð 
ú÷"
÷ 
ð 
ús#   –,E,ÂF ÅFÅ,E=	Æ F	ÆF%	c               ó    € V ^8„  d   QhRRRR/# )r†   r¦  rV   r‰   rÚ   rŠ   )r‹   s   "rŒ   r�   r�   å	  s   € ÷ ñ  ð °ñ rŽ   c                ój   € \        V 4      p\        P                  ! VP                  !  p\	        V4      # r�   )rv   ra  Úarg_tree_leavesr–   r  )r¦  r  r  s   &  rŒ   Úget_num_model_outputsr8  å	  s/   € Ü$ UÓ+ÐÜ×*Ò*Ð,>×,CÑ,CÑD€MÜˆ}ÓÐrŽ   c               ó    € V ^8„  d   QhRRRR/# )r†   r	  rH   r‰   z'contextlib.AbstractContextManager[None]rŠ   )r‹   s   "rŒ   r�   r�   ë	  s   € ÷ $ñ $Øð$à,ñ$rŽ   c                óÀ   € V P                   '       d9   \        P                  P                  '       g   \        P                  ! R R/4      # \
        P                  ! 4       # )r$  T)rÌ   r   r2  r	  rŒ  rŠ  r‹  )r	  s   &rŒ   Úcudagraph_annotation_contextr;  ë	  sC   € ð ××Ð¤§¡× 8× 8Ð 8Ü�|Š|Ð0°$Ð7Ó8Ð8Ü×!Ò!Ó#Ð#rŽ   )Úfrozenc                  óN   € ] tR tRt$ R]R&   R]R&   R]R&   R]R&   R	tR
]R&   RtR	# )ÚCompilerConfigExtraiö	  rH   r	  rÚ   r  r5   r  Úforward_is_partitionedNr  Úcudagraphs_bwd_overriderŠ   )r¡   r¢   r£   r¤   r°   r@  r¨   rŠ   rŽ   rŒ   r>  r>  ö	  s$   ‡ àÓØƒMØ$Ó$Ø%Ó%Ø+/Ð˜[×/rŽ   r>  c               ó    € V ^8„  d   QhRRRR/# )r†   rê   zGraphModule | GmWrapperr‰   r>  rŠ   )r‹   s   "rŒ   r�   r�   ÿ	  s   € ÷ ;ñ ;Øð;àñ;rŽ   c                óÂ  € \        V \        4      '       d   V P                  MR p\        \        P
                  P                  4      pR pVeß   VP                  R4      ;peÊ   VP                  es   VP                  \        P
                  P                  8w  dJ   \        VP                  4      pVP                  '       d   \        P                  ! R4       M\        R4       VP                  '       d8   VP                  e*   VP                  '       g   VP                  p\        R4       \        \        4      p\!        R 4      p\        R4      p\#        VVVVVR7      # )NÚcudagraph_annotationz9enabling cudagraphs due to override_cudagraphs annotationz:disabling cudagraphs due to override_cudagraphs annotationzGdisabling cudagraphs for backward due to override_cudagraphs annotationF)r	  r  r  r@  r?  )rô   rV   ró   rH   r   r2  r	  rÀ   Úfwdr7   r"  r9   rÌ   Úbwdr–  Ú_graph_counterr5   r>  )rê   Úgm_metar	  r@  Ú
annotationr  r  r?  s   &       rŒ   Úcreate_compiler_config_extrarI  ÿ	  s  € ô $ B¬×4Ò4ˆb�gŠg¸$€Gô œ6Ÿ=™=×3Ñ3Ó4€Jà+/Ðð 	ÒØ"Ÿ;™;Ð'=Ó>Ð>ˆZÒKà�>‰>Ò%¨*¯.©.¼F¿M¹M×<TÑ<TÔ*TÜ" :§>¡>Ó2ˆJØ�~�~ˆ~Ü×#Ò#ØOõô 4ØPôð ××Ð 
§¡Ò :À:Ç>Ç>À>Ø&0§n¡nÐ#Ü/ØYôô ”NÓ#€Hô & dÓ+€Nô
 ' uÓ-ÐäØØØ%Ø 7Ø5ôð rŽ   c               ó8   € V ^8„  d   QhRRRRRRRRRR	R
RRRRR/# )r†   rê   rV   r•  r–  Únum_orig_model_outputsrÚ   r   Úcompiler_config_extrar>  rì  úCallable[..., OutputCode]r³  r¬   r‰   rF   rŠ   )r‹   s   "rŒ   r�   r�   =
  sb   € ÷ Vñ VØðVà'ðVð  ðVð ð	Vð
 /ðVð -ðVð ðVð ñVrŽ   c                ó  a € V'       dç   \        RR V 3R lR7       \        S 4      pVP                  ^ ,           Uu. uFT  p\        V\        P
                  P                  P                  4      '       d   VP                  P                  R4      MRNKV  	  upVP                  R&   \        S 4       \        VS 4      p	\        S \        \        V	4      4      R7      o \        RR	 V 3R
 lR7       \        P                  P                   P#                  V\%        V4      4      p
\        S 4      p\'        4       pRp. p\(        P*                  '       g
   V'       Ed   \,        P.                  ! VP                  !  p\%        V4      p\        P0                  P2                  P5                  4       pVe2   VP6                  '       d    V'       g   VP6                  P8                  pM^ pW/8”  d   \;        RV RV R24      hVV,           pVV8”  d   \;        RV RV R24      h\=        VV4       Uu. uF8  p\        VV,          \        P
                  P                  4      '       g   K6  VNK:  	  pp\(        P*                  '       g	   V'       d   WëP                  R&   M. VP                  R&   \?        S 4       \A        VPB                  4      ;_uu_ 4        V! S V\E        V
4      VPB                  VPF                  VVPH                  R7      pV'       gT   \        V\J        4      '       d>   VPL                  '       d,   \%        VPL                  4      ^8”  d   RVPN                  n(        VuuRRR4       # u upi u upi   + '       g   i     R# ; i)aû  
Compile the forward graph of the given graph module.

Args:
    gm: The graph module to compile.
    example_inputs: The example inputs to use for compilation.
    num_orig_model_outputs: The number of model outputs from the original dynamo graph.
    num_example_inputs: The number of example inputs from the original dynamo graph.
    compiler_config_extra: Extra configuration for the compiler.
    inner_compile: The inner compile function to use.
    is_inference: Whether this is an inference graph.
rg  c                 ó   € R RRR/# )rË   Úbefore_joint_graphri  r   rŠ   rŠ   rŽ   rŒ   rk  Ú$compile_fx_forward.<locals>.<lambda>W
  s   € ØÐ,Ø˜Hñ!rŽ   c                 ó,   <€ S P                  R RRR7      # r  r  r  s   €rŒ   rk  rQ  [
  ó   ø€ ˜r×0Ñ0Ø"°4Èð  1ô  rŽ   rp  r8  NÚoutput_stack_tracesr  c                 ó   € R RRR/# )rË   Úafter_joint_graphri  r   rŠ   rŠ   rŽ   rŒ   rk  rQ  v
  s   € ØÐ+Ø˜Hñ!rŽ   c                 ó,   <€ S P                  R RRR7      # r  r  r  s   €rŒ   rk  rQ  z
  rS  rŽ   z!Expected num_orig_model_outputs (z) <= num_model_outputs (Ú)zExpected orig_output_end_idx (r
  )r  r	  r  r³  r  T))rT   rv   r–   rô   rÝ   r   r  rõ   ró   rÀ   r  r'   r«  r–  r—  r†  r   Únum_fw_fixed_argumentsr  r  r   Úkeep_output_stridera  r7  rÞ   rß   rà   rã   Únum_mutated_inp_runtime_indicesrZ  râ   r  r;  r	  rç   r  r  rA   Úpartition_mapsr?  rÌ   )rê   r•  rK  r   rL  rì  r³  rì   Úargr  ræ   r  Úclone_live_user_outputsr  r
  Únum_model_outputsrå   Úoriginal_output_start_indexÚorig_output_end_idxr  Úresults   f&&&&&&              rŒ   Úcompile_fx_forwardrc  =
  s/  ø€ ÷, äØñôõ		
ô ˜R“ˆð —{‘{ 1–~ó.
ñ &�ô ˜c¤5§8¡8§=¡=×#5Ñ#5×6Ò6ð —‘—‘˜]Ô+àòñ &ñ.
ˆ�‰Ð)Ñ*ô 	2°"Ô5ä+¨N¸BÓ?ˆÜ*¨2¼DÄÀnÓAUÓ<VÔWˆäØñôõ		
ô �O‰O×!Ñ!×8Ñ8ØœC Ó/ó€Eô % R›ÐÜFÓHÐØ€MØ*,ÐÜ× × Ð ×$;Ð$;Ü×.Ò.Ð0B×0GÑ0GÑHˆÜ Ó.Ðä—-‘-×.Ñ.×6Ñ6Ó8ˆàÒ 7×#6×#6Ð#6¿|à×#Ñ#×CÑCñ (ð +,Ð'à!Ô5Ü Ø3Ð4JÐ3Kð L)Ø):Ð(;¸1ð>óð ð$ :Ð<RÕRÐð Ð!2Ô2Ü Ø0Ð1DÐ0Eð F)Ø):Ð(;¸1ð>óð ô Ð8Ð:MÔNó$
áN�Ü˜-¨Õ,¬e¯h©h¯m©m×<÷ ˆCÙNð 	!ð $
ô × × Ð ×$;Ø>V×ÑÐ :Ò;à>@Ð×ÑÐ :Ñ;ô
 /¨rÔ2ä	%Ð&;×&FÑ&F×	GÕ	GÙØØÜ3°EÓ:Ø,×7Ñ7Ø*×3Ñ3Ø%Ø'<×'KÑ'Kô
ˆ÷ Ü˜6¤?×3Ò3Ø×%×%Ð%Ü�F×)Ñ)Ó*¨QÔ.àAEÐ!×8Ñ8Ô>à÷' 
HÒ	Gùò{.
ùòZ$
÷  
H×	GÐ	Gús%   ½AM-È+3M2É#M2ËA&M7Ì6,M7Í7N	c          
     ó,   € V ^8„  d   QhRRRRRRRRR	R
/# )r†   rê   rV   r•  r–  rL  r>  rì  rM  r‰   rF   rŠ   )r‹   s   "rŒ   r�   r�   Ö
  s:   € ÷ ;ñ ;Øð;à'ð;ð /ð;ð -ð	;ð
 ñ;rŽ   c                óT  € ^ RI Hp T;_uu_ 4        \        V 4      p\        P                  '       dx   \
        P                  ! VP                  !  p\        V4       UUu. uF3  w  rx\        V\        P                  P                  4      '       g   K1  VNK5  	  uppVP                  R&   M. VP                  R&   \        V 4      p	VP                  p
VP                   e   \#        VP                   4      p
VP$                  P&                  '       d   \)        V 4      pM\+        \-        V	4      4      p\        P.                  '       d   \        P0                  ! \3        4       4      M\4        P6                  ! 4       ;_uu_ 4        \9        V
4      ;_uu_ 4        V! V VVV
RVP:                  VP<                  R7      uuRRR4       uuRRR4       uuRRR4       # u uppi   + '       g   i     M; i RRR4       M  + '       g   i     M; iRRR4       R#   + '       g   i     R# ; i)a  
Compile the backward graph of the given graph module.

Args:
    gm: The graph module to compile.
    example_inputs: The example inputs to use for compilation.
    compiler_config_extra: Extra configuration for the compiler.
    inner_compile: The inner compile function to use.
)Úcompile_lockr
  NT)r  r	  r  r  r  )Útorch._dynamo.convert_framerf  rv   r   Úbw_outputs_user_visiblera  r7  r–   r`  rô   rÝ   r   rõ   ró   rI   r	  r@  rH   r?  rÌ   rL   rá   râ   rë  rŒ  r1  rŠ  r‹  r;  r  r  )rê   r•  rL  rì  rf  r  r  r  rÎ  ræ   r	  r  s   &&&&        rŒ   Úcompile_fx_backwardri  Ö
  s²  € õ 9ç	ŠÜ(¨›_ÐÜ×)×)Ð)Ü"×2Ò2Ð4F×4KÑ4KÑLˆMô (¨Ô6ôCá6‘F�CÜ˜a¤§¡§¡×/÷ �Ù6òCÐ×#Ñ#Ð$>Ò?ð CEÐ×#Ñ#Ð$>Ñ?ä˜rÓ"ˆð +×5Ñ5ˆ
Ø ×8Ñ8ÒDÜ"Ð#8×#PÑ#PÓQˆJð
 !×7Ñ7×=×=Ð=Ü/GÈÓ/KÑä $¤U¨5£\Ó 2Ðô ×%×%Ð%ô —’Ô3Ó5Ô6ä×+Ò+Ó-÷.ñ .ô )¨×4Õ4á ØØØ"3Ø%Ø Ø.×7Ñ7Ø+@×+OÑ+Oô÷ 5Ñ4÷	.ñ .÷9 
ŠùóC÷8 5×4úÐ4÷	.÷ .÷ .ð .ú÷9 
��Šúsg   ‘AHÁ.G
ÂG
ÂA6HÄ5HÅ;HÆ G9	Æ#GÆ7
G9	Ç
HÇHÇG,Ç'G9	Ç0	HÇ9H	ÈHÈH'	c               ó$   € V ^8„  d   QhRRRRRR/# )r†   rê  rV   rë  r–  r‰   rŠ   )r‹   s   "rŒ   r�   r�     s$   € ÷ /ñ /Øð/Ø*=ð/àñ/rŽ   c                ó$  a € \        R R V 3R lR7       \        P                  R\        RS RRRR7      4       \	        S P
                  4      \        P                  P                  n        \        P                  ! 4       ^8X  dm   S P
                  P                   FR  pVP                  '       g   K  VP                  \        P                  P                  P                  VP                  &   KT  	  \        S V4      o \        R R V 3R	 lR7       S # )
rg  c                 ó   € R RRR/# )rË   Úbefore_pre_grad_graphri  r   rŠ   rŠ   rŽ   rŒ   rk  Ú%run_pre_grad_passes.<locals>.<lambda>  s   € ØÐ+Ø˜ñ
rŽ   c                 óf   <€ S P                  R RRR7      R\        S P                  4       2,           # ©FTr	  z

 # graph id: ©r  Úidrñ   ©rê  s   €rŒ   rk  rn    ó7   ø€ ˜6×0Ñ0Ø¨tÀDð 1ó 
ð œb §¡Ó.Ð/Ð
0ö1rŽ   rp  r  zBEFORE PRE GRADTr  c                 ó   € R RRR/# )rË   Úafter_pre_grad_graphri  r   rŠ   rŠ   rŽ   rŒ   rk  rn  :  s   € ØÐ*Ø˜ñ
rŽ   c                 óf   <€ S P                  R RRR7      R\        S P                  4       2,           # rp  rq  rs  s   €rŒ   rk  rn  >  rt  rŽ   )rT   Úpre_grad_graphs_logr”  r*   rr  rñ   rÝ   r†  rN  r   rK  r/  r8  Ú#_inductor_pre_grad_node_stack_tracerË   r˜  )rê  rë  r  s   f& rŒ   Úrun_pre_grad_passesrz    sã   ø€ ô
 Øñ
ô1õ
ô ×ÑØÜØØØØØô	
ô	ô 02°&·,±,Ó/?„E‡O�O×ÑÔ,ä×1Ò1Ó3°qÔ8Ø—L‘L×&Ô&ˆDØ××Òà×$Ñ$ô —‘×%Ñ%×IÑIÈ$Ï)É)ÓTñ 'ô (¨°Ó@€FÜØñ
ô1õ
ð €MrŽ   c                  ó2   € ] tR tRt$ RtR]R&   R R ltRtR# )	Ú_ConstantDecompTableiF  z¿
Picklable wrapper around a user-supplied decomposition dict.

This module-level class is addressable as (module, qualname), so pickle can
serialize an instance by reducing its single field.
ú"dict[OpOverload, Callable[_P, _T]]Útablec               ó   € V ^8„  d   QhRR/# )r†   r‰   r}  rŠ   )r‹   s   "rŒ   r�   Ú!_ConstantDecompTable.__annotate__Q  s   € ÷ ñ Ð<ñ rŽ   c                	ó   € V P                   # r�   )r~  r×  s   &rŒ   r   Ú_ConstantDecompTable.__call__Q  s   € Ø�z‰zÐrŽ   rŠ   N)r¡   r¢   r£   r¤   rè  r°   r   r¨   rŠ   rŽ   rŒ   r|  r|  F  s   ‡ ñð .Ó-÷ñ rŽ   r|  c               ó8   € V ^8„  d   QhRRRRRRRRR	R
RRRRRR/# )r†   rê  rV   rë  r–  rì  rM  rý  r€  Údecompositionsz+dict[OpOverload, Callable[..., Any]] | NoneÚignore_shape_envr¬   r  r  r‰   ÚCompileFxOutputrŠ   )r‹   s   "rŒ   r�   r�   U  sc   € ÷ ~ñ ~Øð~à(ð~ð -ð~ð *ð	~ð
 @ð~ð ð~ð $ð~ð ñ~rŽ   c                óš  € Ve   \        V4      pM\        p^ RIHp VP	                  RR4      '       d   V # V'       dU   \
        P                  ! V4      ;_uu_ 4        \        V V\
        P                  ! V4      ! V4      VVVR7      uuRRR4       # \        P                  ! VVR7      p\        ;QJ d    R V 4       F  '       g   K   RM	  R	M! R V 4       4      '       d3   \        P                  P                  P                  P                  4        \
        P                   '       g   \
        P"                  '       Ed   ^ R
IHp	 V	! 4       '       d   \)        R4      h^ RIHp
 \
        P                   p\
        P"                  p\
        P                  ! \/        4       4      ;_uu_ 4        \0        P2                  ! V4      ;_uu_ 4        \5        V \6        4      '       d   \9        W4      MTp\;        V4      pV
! W/ V4      ;_uu_ 4       w  ppppp\=        VV\        P                  ! VVVR7      VVVR7      uuRRR4       uuRRR4       uuRRR4       # \=        V VVVVVR7      #   + '       g   i     ELê; i  + '       g   i     M; i RRR4       M  + '       g   i     M; iRRR4       K_    + '       g   i     Lo; i)a  
Main entry point for compiling given FX graph.  Despite the fact that this
lives in :mod:`torch._inductor`, this function is responsible for calling
into AOT Autograd (and we will eventually get a callback to
``inner_compile`` to perform actual compilation.  In other words, this
function orchestrates end-to-end compilation for the inductor backend when
you use :func:`torch.compile`.

NB: This function TAKES OWNERSHIP of the input ``model_`` and can potentially
mutate it!  Make a copy if you need to preserve the original GraphModule.
N)ÚCompilerBisectorr-  Úpre_grad_graph)rì  r„  r…  r  )r  c              3  ó˜   "  € T F@  p\        V\        P                  4      ;'       d    VP                  P                  R9   x € KB  	  R# 5i)r  N)r  Úxpu)rô   rÝ   rö   r@  rÚ  )r¹   rÅ  s   & rŒ   r»   Úcompile_fx.<locals>.<genexpr>Œ  s:   é € ð á ˆAô 	�1”e—l‘lÓ#×HÐH¨¯©¯©¸Ñ(HÔHÛ ùs
   ‚%A
¨"A
TF)Ú_coor_enabledz¸compile-on-one-rank (device-as-parameter) is not supported with cpp_wrapper/AOTInductor or fx_wrapper: the device guard bakes the compile-time device index, which is not rank-portable.)Ú_fakify_script_objects)rë  r  ©rì  r…  r  r  ©r  r  )r|  rf   Ú!torch._inductor.compiler_bisectorrˆ  Údisable_subsystemr   rŒ  rø  rµ  r¶  rä  rÝ   r†  r‡  ÚAsyncCompileÚwakeuprë  r  Ú"torch.fx.experimental.proxy_tensorr�  ÚRuntimeErrorÚtorch._export.non_strict_utilsrŽ  r1  ry   Úset_real_inputsrô   rV   Ú _extract_inputs_from_exported_gmr$   Ú_maybe_wrap_and_compile_fx_main)rê  rë  rì  rý  r„  r…  r  r  rˆ  r�  rŽ  Úcpp_wrapper_configÚfx_wrapper_configÚinputs_rù  Úpatched_modÚ	fake_argsrt  s   &&&&&&&           rŒ   rø  rø  U  sT  € ð( Ò!ä  Ó0ñ 	ô ,ˆõ
 Cà×)Ñ)¨*Ð6F×GÒGàˆçÜ�\Š\˜.×)Õ)ÜØØä$Ÿlšl¨>Ô:¸=ÓIØ-Ø!1Ø$7ô÷ *Ò)ô ×%Ò%ØØ/ô€M÷ ƒsñ á ó‡s‡s‚sñ á ó÷ ò ô 	�‰×%Ñ%×2Ñ2×9Ñ9Ô;ä××ÐœV×.×.Ñ.ÝDá�?Š?ô ðIóð õ
 	Jä#×/Ñ/ÐÜ"×-Ñ-Ðô �LŠLÔ/Ó1×2Õ2Ü×Ò˜o×.Õ.ô ˜f¤k×2Ò2ô 1°ÔIà$ð ô
 )¨Ó1ˆIÙ'¨¸¸Y×GÔGñ LØØØØØä6ØØÜ"+×"3Ò"3Ø%Ø$6Ø#4ô#ð
 &6Ø"/Ø(;ô÷ HÑG÷ /Ñ.÷ 3Ò2ô: +ØØØØØ#Ø/ôð ÷e *×)Ð)ú÷| H×GúÐG÷ /×.×.Ð.ú÷ 3×2×2Ñ2úsO   Á+I,Æ.J:ÇAJ	È.J È<
J	É
J:É,I=	Ê JÊJ	Ê	J:ÊJ-Ê(J:Ê:K
	c               ó$   € V ^8„  d   QhRRRRRR/# )r†   rê   rV   rë  r–  r‰   rŠ   )r‹   s   "rŒ   r�   r�   Ö  s$   € ÷ ñ ØðØ&9ðàñrŽ   c           
     óL  € V P                   P                   Uu. uF0  q"P                  R 8X  g   K  VP                  P	                  R4      NK2  	  pp\
        P                  '       g4   V Uu. uF'  p\        V\        P                  4      '       d   TMRNK)  	  pp\        ;QJ d    R V 4       F  '       g   K   RM	  RM! R V 4       4      '       dÇ   \        \        4       W14       F¬  w  rVpVf   K  \        V\        P                  4      '       g   K.  \        V\        P                  4      '       g   \        RV R\        V4       24      hVP                  VP                  8w  g   K…  \!        RV R	VP                   R
VP                   R24      h	  V# V# u upi u upi )rQ  rð   Nc              3  ó(   "  € T F  qR Jx € K
  	  R # 5ir�   rŠ   )r¹   Úvs   & rŒ   r»   Ú3_extract_inputs_from_exported_gm.<locals>.<genexpr>å  s   é € Ð
.¡+˜Q�D�=£+ùs   ‚TFz$Expected example input at position #rÖ  zBDevice mismatch between fake input and example input at position #rî  rÔ  zx. If the model was exported via torch.export(), make sure torch.export() and torch.aot_compile() run on the same device.)rñ   r/  rî   ró   rÀ   r   r  rô   rÝ   rö   rä  r×  r
   rZ  rÚ  r@  Ú
ValueError)rê   rë  r  Úfake_inputsÚinpr  Úfir3  s   &&      rŒ   r™  r™  Ö  sm  € ð *,¯©¯ªóÙ)7 ¿7¹7ÀmÑ;SÔˆ�	‰	�‰�eÖ©ð ð ô ××Ðñ
 GRó
ÙFQ¸s”:˜c¤5§<¡<×0Ò0‰C°dÒ:Ákð 	ð 
÷ ƒsÑ
.¡+Ó
.‡s‡s‚sÑ
.¡+Ó
.×.Ò.äœe›g {ÖD‰JˆC�QØŒ~¤*¨R´·±×">Ô">Ü! !¤U§\¡\×2Ò2Ü(Ø>¸s¸eÐCXÔY]Ð^_ÓY`ÐXaÐbóð ð —9‘9 §¡Ö(Ü$Ø\Ð]`Ð\aÐacØŸ9™9˜+ T¨!¯(©(¨ð 4cðcóð ñ Eð ÐàÐùò9ùò
s   ™F°FÁ+-F!r  r  c               ó4   € V ^8„  d   QhRRRRRRRRR	R
RRRR/# ©r†   rê  rV   rë  r–  rì  rM  r…  r¬   r  r  r  r  r‰   r†  rŠ   )r‹   s   "rŒ   r�   r�   ø  sO   € ÷ /ñ /Øð/à(ð/ð -ð/ð ð	/ð @ð/ð $ð/ð ñ/rŽ   c          	     óÀ  € \         P                  ! \        VVVVR7      p\        V 4      '       g   \	        WV4      # \        V \        4      '       d7   \        V P                  P                  \        4      '       d   \        WV4      # \        ;QJ d    R V 4       F  '       g   K   RM	  RM! R V 4       4      '       d   \        WV4      # \        V VVVVVR7      # )zâ
Part of compile_fx, called after patching configs.

Ultimately we want to call _compile_fx_main, where the actual work happens.
But under various conditions, various forms of wrapping might be needed
around _compile_fx_main.
r�  c              3  óX   "  € T F   p\        V\        \        \        34      x € K"  	  R # 5ir�   ©rô   rá   r\  r¬  r¸   s   & rŒ   r»   Ú2_maybe_wrap_and_compile_fx_main.<locals>.<genexpr>  s!   é € Ð
G±°!Œ:�aœ$¤¤tÐ,×-Ð-³ùó   ‚(*TFr�  )rµ  r¶  rš  Úgraph_returns_tupleÚmake_graph_return_tuplerô   rV   rñ   Ú_codegenr_   Úhandle_dynamo_export_graphrä  r&   Ú_compile_fx_main)rê  rë  rì  r…  r  r  Ú
compile_gms   &&&&$$ rŒ   rš  rš  ø  sÅ   € ô$ ×"Ò"Ü'Ø#Ø)Ø#Ø/ô€Jô ˜v×&Ò&Ü& vÀ
ÓKÐKä�&œ+×&Ò&¬:Ø�‰×Ñœ~÷,ò ,ô *¨&À:ÓNÐNç
ƒsÑ
G±Ó
G‡s‡s‚sÑ
G±Ó
G×GÒGô $ F¸ZÓHÐHô ØØØØØ#Ø/ôð rŽ   c               ó4   € V ^8„  d   QhRRRRRRRRR	R
RRRR/# rª  rŠ   )r‹   s   "rŒ   r�   r�   *  sX   € ÷ R9ñ R9ØðR9à(ðR9ð -ðR9ð ð	R9ð @ðR9ð $ðR9ð ñR9rŽ   c               óú  a aaa€ \        \        P                  4      ;_uu_ 4        \        4       ;_uu_ 4        \        P
                  P                  P                  \        P                  ! 4       ^8H  4      ;_uu_ 4        \        P                  P                  P                  4       ;_uu_ 4        \        P                  '       d   \        R4      h\        V4      o\!        S 4      oV! 4       p\"        P$                  ! SVR7      oR VVV V3R llp\"        P$                  ! VRR7      p\'        \(        V4      p\        P*                  '       d\   \        P,                  ! 4       '       gA   \"        P$                  ! \.        S SSSP0                  SP2                  SP4                  R7      p	M(\"        P$                  ! VRR7      p	\'        \(        V	4      p	\7        R	R
7      R VV3R ll4       p
\'        \(        V
4      p
\9        V4      ;'       g!    \        P:                  P=                  RR7      p\        P>                  P@                  PC                  4       ;'       g     \        P>                  PA                  V4      p\D        PF                  '       Edr   \        PH                  '       Eg[   ^RI%H&p V! 4        \O        S \P        4      '       d   \S        S V4      o \T        PV                  ! R\        PX                  R7      ;_uu_ 4        \[        S VRVR7      w  rï\O        V\P        4      '       g   \        R\]        V4       24      h^ RI/H0p V! V4      pVPb                  Pd                   EF2  pVPf                  R8X  g   K  RVPh                  9  g   K*  \k        VPl                  4      ! V4      p\O        V\        Pn                  4      '       d2   Vf   \        R4      hVPq                  VRR7      VPh                  R&   K–  \O        V\        Pr                  4      '       g   \u        \]        V4      4      '       d;   \        Pv                  Px                  P{                  VV4      VPh                  R&   EK
  \O        V\|        4      '       g   EK#  VVPh                  R&   EK5  	  RRR4       \        S XX4      pRS Ph                  9   d!   S Ph                  R,          VPh                  R&   RS Ph                  9   d!   S Ph                  R,          VPh                  R&   \        P€                  Pƒ                  4       pV'       d   \        P€                  P„                  M\†        Pˆ                  p\D        PŠ                  ! V4      ;_uu_ 4        \Œ        PŽ                  ! 4       ;_uu_ 4        V! 4       ;_uu_ 4        V	! VV4      uuRRR4       uuRRR4       uuRRR4       uuRRR4       uuRRR4       uuRRR4       uuRRR4       # \D        PŠ                  ! V4      ;_uu_ 4        \        P>                  P‘                  V4      ;_uu_ 4        \Œ        PŽ                  ! 4       ;_uu_ 4        \T        PV                  ! R\        PX                  R7      ;_uu_ 4         \’        P”                  ! VV
V	V\–        RSV\R        VR7
      ! S V4      uuRRR4       uuRRR4       uuRRR4       uuRRR4       uuRRR4       uuRRR4       uuRRR4       uuRRR4       #   + '       g   i     EL€; i  + '       g   i     M; iRRR4       M  + '       g   i     M; iRRR4       EKb    + '       g   i     ELs; i  \˜         d   pTP›                  4       RhRp?ii ; i  + '       g   i     M; i RRR4       M  + '       g   i     M; iRRR4       M  + '       g   i     M; iRRR4       M  + '       g   i     M; iRRR4       M  + '       g   i     M; iRRR4       M  + '       g   i     M; iRRR4       M  + '       g   i     M; iRRR4       R#   + '       g   i     R# ; i)a)  
Main part of compile_fx, called after wrapping is done.

Roughly speaking, here the steps will be:
(1) apply pre-grad passes
(2) create `fw_compiler` and `bw_compiler` functions out of `inner_compile`
(3) call aot_autograd, which:
- (3a) creates a joint graph with `decompositions`,
- (3b) partitions it with `partition_fn` into fw and bw graphs (applying joint-graph passes),
- (3c) calls `fw_compiler` and `bw_compiler` on those graphs (applying post-grad passes)
- (3d) finally, assembles the fw and bw compiled functions back together and returns.
z&config._raise_error_for_testing is set)r  c               ó(   € V ^8„  d   QhRRRRRRRR/# )	r†   rê   rV   r•  r–  r³  r¬   r‰   rF   rŠ   )r‹   s   "rŒ   r�   Ú&_compile_fx_main.<locals>.__annotate__T  s0   € ÷ 	ñ 	Øð	à/ð	ð ð	ð ñ		rŽ   c                óü   <€ \         P                  ! R 4      ;_uu_ 4        \        S\        4      '       d   \	        S4      pM\	        V 4      p\        V VVSSSVR7      uuRRR4       #   + '       g   i     R# ; i)z$compile_fx.<locals>.fw_compiler_base)rK  r   rL  rì  r³  N)r‘   r%   rô   rV   r8  rc  )rê   r•  r³  rK  rL  rì  rê  r   s   &&& €€€€rŒ   Úfw_compiler_baseÚ*_compile_fx_main.<locals>.fw_compiler_baseT  sg   ø€ ô
 ×*Ò*Ð+Q×RÕRÜ˜f¤k×2Ò2Ü-BÀ6Ó-JÑ*ä-BÀ2Ó-FÐ*Ü)ØØ"Ø+AØ'9Ø*?Ø"/Ø!-ô÷ S×R×RÓRús    ?A*Á*A;	Fr  )rÿ  r   rì  r	  r  r  TÚbackward)r*  c               ó$   € V ^8„  d   QhRRRRRR/# )r†   rê   rV   r•  r–  r‰   rF   rŠ   )r‹   s   "rŒ   r�   r¹  ~  s$   € ÷ 	ñ 	Øð	Ø-@ð	àñ	rŽ   c           	     óœ   <€ \         P                  ! R 4      ;_uu_ 4        \        V VSSR7      uuRRR4       #   + '       g   i     R# ; i)zcompile_fx.<locals>.bw_compiler)rL  rì  N)r‘   r%   ri  )rê   r•  rL  rì  s   &&€€rŒ   Úbw_compilerÚ%_compile_fx_main.<locals>.bw_compiler}  s;   ø€ ô
 ×)Ò)Ð*K×LÕLä*ØØ"Ø*?Ø"/ô	÷ M×L×LÓLús	    :ºA	ró  )Úis_valid_aoti_model_name©Úunlift_effect_tokensÚselective_decompose)Útrace_jointr„  z1Expected GraphModule from aot_export_module, got )Ú_detect_fake_mode_from_gmr-  rð   Nz5Expected fake_mode to be set for get_attr tensor node)Ústatic_shapesÚ dynamo_flat_name_to_original_fqnrð  )
Úfw_compilerrÀ  Úinference_compilerr„  r4  Úkeep_inference_input_mutationsrL  r…  rk   r  )Nr^   r:  r;  r   rÝ   r   rL  Úpreserve_node_metar   rK  r†  r”  Úreset_provenance_globalsÚ_raise_error_for_testingrZ  r  rI  rµ  r¶  r1   rF   ÚfreezingÚis_grad_enabledr!  r	  r  r  rU   r$   rõ  rö  rÞ   rß   rà   ry   r‚  Úenable_autograd_for_aotr   rÂ  rô   rV   rz  Úfunctorch_configrŒ  rÅ  r.   rÚ  Útorch._export.utilsrÇ  rñ   r/  rî   ró   r   r   rö   Úfrom_tensorÚScriptObjectrS   Ú_libraryÚfake_class_registryÚmaybe_to_fake_objrR   rr  Ú_CÚ_is_any_autocast_enabledÚ_DisableAutocastrŠ  r‹  rG  r   Ú_disableÚtracingÚdynamo_commonr,   r4  r\   Úremove_dynamo_frames)rê  rë  rì  r…  r  r  r„  r»  rÊ  rË  rÀ  rù  r  rÂ  rê   rL  rÇ  r  r   rq  Údisable_amprå   rÅ  rL  r   s   f&f&$$                 @@rŒ   r´  r´  *  sW  û€ ô, 	œ}×BÑB×CÕCÜ ×"Õ"Ü�‰×Ñ×-Ñ-Ü×6Ò6Ó8¸AÑ=÷	
õ 	
ô 	�‰×Ñ×6Ñ6×8Õ8ô
 ×*×*Ð*Ü Ð!IÓJÐJä  Ó1Ðä <¸VÓ DÐá&›ˆÜ!×)Ò)¨-À}ÔUˆ÷	ó 	ô* ×ÒÐ.¸UÔCð 	ô 6´jÀ+ÓNˆä�?�?ˆ?¤5×#8Ò#8×#:Ò#:Ü5>×5FÒ5FÜ$Ø#Ø#5Ø+Ø0×;Ñ;Ø.×7Ñ7Ø4×CÑCô6Ñô "+×!2Ò!2Ð3CÐRVÔ!WÐÜ!@ÜÐ.ó"Ðô 
'°*Ô	=÷	ð 	ó 
>ð	ô 6´jÀ+ÓNˆä$Øó
÷ Jð Jä×Ñ×-Ñ-ÀDÐ-ÓIð 	ô �M‰M×(Ñ(×0Ñ0Ó2÷ 7ð 7Ü�}‰}×+Ñ+¨IÓ6ð 	ô
 ××Ñ¤V×%C×%CÑ%CÝ7á$Ô&ô
 ˜&¤+×.Ò.Ü,¨V°_ÓE�ä!×'Ò'Ø%)Ü$*×$>Ñ$>÷ö ô '8ØØ#Ø %Ø#1ô	'Ñ#�ô " "¤k×2Ò2Ü(ØKÌDÐQSËHÈ:ÐVóð õ Já5°bÓ9�	ð ŸH™HŸN�N�DØ—w‘w *Ö,°¸d¿i¹iÖ1GÜ!+¨D¯K©KÔ!8¸Ó!<˜Ü% f¬e¯l©l×;Ò;Ø(Ò0Ü&4Ø$[ó'"ð !"ð 09×/DÑ/DØ &°dð 0Eó 0˜DŸI™I eÓ,ô (¨´×0BÑ0B×CÒCÄÜ  ›L÷Hò Hô !&§¡× BÑ B× TÑ TØ$-¨vó!"ð !ŸI™I eÔ,ô
 (¨Ô0@×AÕAØ/5˜DŸI™I eÔ,ñ) +÷/ôZ (¨°°OÓDˆKØ1°V·[±[Ô@ØGMÇ{Á{Ø6õH�× Ñ Ð!CÑDð # f§k¡kÔ1Ø8>¿¹ÐDWÕ8X�× Ñ Ð!4Ñ5ô  Ÿ(™(×;Ñ;Ó=ˆKç-8”—‘×)Ò)¼j×>TÑ>Tð ô —’ ×+Õ+Ô->×-GÒ-G×-IÕ-IÉ7Ï9Í9Ù)¨+°ÓG÷ LUÉ9×-IÑ-I×+Ñ+÷w 	9Ñ8÷	
ñ 	
÷ 	#Ñ"÷ 	DÒCôH �OŠO˜I×&Õ&Ü�M‰M×!Ñ! /×2Õ2Ü×&Ò&×(Õ(Ü×"Ò"Ø%)Ü$*×$>Ñ$>÷ö ð
9Ü$×1Ò1Ø +Ø +Ø'9Ø#1Ü!-Ø37Ø*?Ø%5Ü$7Ø(;õð ˜/ó+÷ñ ÷ )Ñ(÷ 3Ñ2÷ 'Ñ&÷ 	9Ñ8÷	
ñ 	
÷ 	#Ñ"÷ 	DÒC÷@÷ ð ú÷@ LUÏ9ú×-I×-I×-IÐ-Iú×+×+×+Ó+ûô2 $ô 9ð ×,Ñ,Ó.°DÐ8ûð9ú÷%÷ úð ÷ )×(×(Ð(ú÷ 3×2×2Ð2ú÷ '×&×&Ð&ú÷ 	9×8×8Ð8ú÷	
÷ 	
÷ 	
ð 	
ú÷ 	#×"×"Ð"ú÷ 	D×C×CÒCús°  ¦a)¹Aa	Â1`0Â2B;`Å.C2`É!6`Ê`Ê/A`ÌA5\Î\ÎC3\Ò\Ò&B`ÕA`Ö]+Ö)]Ö9	\1×
]×
]+×
`× 
`0×*
a	×4
a)Ø	`Ø'(_8Ù_Ù-/_ Ú^#!Ú.]? Û
_ Û
_Û 
_8Û*
`Û4
`0Û>
a	Ü
a)Ü\.Ü(	`Ü1]!Ü<]Ý	]+Ý]Ý]+Ý `Ý+]<Ý6	`Ý?^ #Þ
^#Þ^ #Þ ^#!Þ#^3%Þ._ Þ7	_ß _!ß_ß	_8ß_,ß'_8ß/	`ß8`à`à	`0à`$à`0à'	a	à0a à;a	á	a)áaáa)á)a:	c               ó    € V ^8„  d   QhRRRR/# rÑ  rŠ   )r‹   s   "rŒ   r�   r�   ÿ  s   € ÷ ñ ˜Kð ¨Dñ rŽ   c                óŒ  € \        V \        4      '       g   R# \        V 4      P                  w  p\        V\        \
        34      '       d   R# \        V\        P                  P                  P                  4      '       dÃ   \        VP                  R4      '       d§   \        VP                  P                  P                  4      ^8”  dy   \        ;QJ d:    R VP                  P                  P                   4       F  '       d   K   RM/	  RM+! R VP                  P                  P                   4       4      '       d   R# R# )z"True if a FX graph returns a tupleTÚ_schemac              3  óR   "  € T F  p\        VP                  4      R 8H  x € K  	  R# 5i)rö   N)rˆ   rÚ  )r¹   Úrets   & rŒ   r»   Ú&graph_returns_tuple.<locals>.<genexpr>
  s   é € ÐOÑ5N¨c”�C—H‘H“ Ö)Ó5Nùs   ‚%'F)rô   rV   rv   r–   rá   r\  rÝ   r   r  rõ   r>  r   r  rä  Úreturnsr›  )rê   Úrvs   & rŒ   r°  r°  ÿ  sÉ   € ä�bœ+×&Ò&ÙÜ˜‹O× Ñ �E€RÜ�"”tœU�m×$Ò$Ùä�2”u—x‘x—}‘}×)Ñ)×*Ò*Ü�B—I‘I˜y×)Ò)Ü�—	‘	×!Ñ!×)Ñ)Ó*¨QÔ.ß‹CÑO°R·Y±Y×5FÑ5F×5NÒ5NÓO�C�CŠCÑO°R·Y±Y×5FÑ5F×5NÒ5NÓO×OÒOñ ÙrŽ   c               ó(   € V ^8„  d   QhRRRRRRRR/# ©r†   rê   rV   r   r–  rµ  r§  r‰   rŠ   )r‹   s   "rŒ   r�   r�     s0   € ÷ ñ Øðàðð #ðð ñ	rŽ   c                ó  aa€ \        V 4      pVP                  w  p\        P                  ! V4      w  poV P                  P                  V4      ;_uu_ 4        V P                  P                  V4       RRR4       V P                  P                  V4       V P                  4        \        V 4      '       g   \        R4      hV! W4      o\        P                  ! S4      R VV3R ll4       pV#   + '       g   i     L„; i)zu
Mutate gm so it returns a tuple.  This is only needed for graphs
not created by torchdynamo that return non-tuples.
Nz Expected graph to return a tuplec               ó$   € V ^8„  d   QhRRRRRR/# )r†   r–   r   r˜   r‰   rŠ   )r‹   s   "rŒ   r�   Ú-make_graph_return_tuple.<locals>.__annotate__'  s&   € ÷ Iñ I�sð I cð I¨cñ IrŽ   c                 ó>   <€ \         P                  ! S! V / VB S4      # r�   )ra  Útree_unflatten)r–   r˜   rƒ  Úspecs   *,€€rŒ   r  Ú(make_graph_return_tuple.<locals>.wrapper&  s    ø€ ä×$Ò$¡[°$Ð%A¸&Ñ%AÀ4ÓHÐHrŽ   )rv   r–   ra  Útree_flattenrñ   Úinserting_beforerì   rÅ  rÆ  r°  rZ  rµ  Úwraps)rê   r   rµ  r  ré  r  rƒ  rñ  s   &&&   @@rŒ   r±  r±    sÆ   ù€ ô �r‹?€DØ�I‰I�E€RÜ×"Ò" 2Ó&�H€BˆØ	�‰×	"Ñ	" 4×	(Õ	(Ø
�‰�‰˜Ô÷ 
)à‡H�H×Ñ˜ÔØ‡L�L„NÜ˜r×"Ò"ÜÐ?Ó@Ð@á˜RÓ(€Kä‡_‚_�[Ó!÷Ið Ió "ðIð €N÷ 
)×	(ús   ÁC0Ã0D 	c               ó(   € V ^8„  d   QhRRRRRRRR/# rë  rŠ   )r‹   s   "rŒ   r�   r�   -  s0   € ÷ ñ Øðàðð #ðð ñ	rŽ   c                ó8  aa€ V P                   P                  o\        P                  P                   P	                  4       V P                   n        V P                  4        V! V SP                  ! V!  4      o\        P                  ! S4      R VV3R ll4       pV# )z…
`torch._dynamo.export` embeds pytrees in the FX graph codegen object,
convert that to a normal FX graph so inductor can compile it.
c               ó    € V ^8„  d   QhRRRR/# )r†   r–   r   r‰   rŠ   )r‹   s   "rŒ   r�   Ú0handle_dynamo_export_graph.<locals>.__annotate__=  s   € ÷ Tñ T�sð T˜sñ TrŽ   c                 óJ   <€ SP                  S! SP                  ! V !  !  4      # r�   )Úprocess_outputsÚprocess_inputs)r–   r_  rƒ  s   *€€rŒ   r  Ú+handle_dynamo_export_graph.<locals>.wrapper<  s$   ø€ à×&Ñ&¡{°G×4JÒ4JÈDÑ4QÑ'RÓSÐSrŽ   )	rñ   r²  rÝ   r   ÚCodeGenrÆ  rü  rµ  rõ  )rê   r   rµ  r  r_  rƒ  s   &&& @@rŒ   r³  r³  -  s{   ù€ ð �h‰h×Ñ€GÜŸ™Ÿ™×.Ñ.Ó0€B‡H�HÔØ‡L�L„Ná˜R ×!7Ò!7¸Ñ!@ÓA€Kä‡_‚_�[Ó!÷Tð Tó "ðTð €NrŽ   c               ó    € V ^8„  d   QhRRRR/# )r†   rñ   rl   r‰   r™   rŠ   )r‹   s   "rŒ   r�   r�   C  s   € ÷ )ñ ) mð )¸ñ )rŽ   c                óÌ  € R  R lp\         P                  ! V P                  P                  4       V P                  4       F   p\        V\        4      '       g   K  \        V4      pV'       d5   \        V4      '       d$   VP                  4       \        P                  8w  d   Kd  \        V4      pVP                  RR7      '       d    R# V! VP                  4       4       K¢  	  R# )c               ó    € V ^8„  d   QhRRRR/# )r†   r@  r¦  r‰   r   rŠ   )r‹   s   "rŒ   r�   Ú0_check_triton_bf16_support.<locals>.__annotate__D  s   € ÷ 
1ñ 
1Ð1ð 
1°eñ 
1rŽ   c                óÎ   € ^ RI Hp V f   \        R4      h\        V P                  4      pVP                  V 4      p\        P                  ! VP                   R24       V! R4      h)r   )r]   z0Expected device to be set for bf16 support checkz9 does not support bfloat16 compilation natively, skippingzBF16 is not supported)	Útorch._dynamo.excr]   rZ  r   rÚ  Úget_device_propertiesr6  r7  rË   )r@  r]   Údevice_interfaceÚdevice_propss   &   rŒ   Úwarn_and_skipÚ1_check_triton_bf16_support.<locals>.warn_and_skipD  sa   € Ý/àŠ>Ü Ð!SÓTÐTÜ3°F·K±KÓ@ÐØ'×=Ñ=¸fÓEˆÜ�ŠØ× Ñ Ð!Ð!ZÐ[ô	
ñ Ð/Ó0Ð0rŽ   F)Úincluding_emulationN)Ú	itertoolsÚchainÚgraph_inputsrc  rZ  rô   rn   rm   rN   Ú	get_dtyperÝ   Úbfloat16r   Úis_bf16_supportedÚ
get_device)rñ   r  r  r*  r  s   &    rŒ   r^  r^  C  s£   € õ
1ô —’ × 2Ñ 2× 9Ñ 9Ó ;¸U×=PÑ=PÖQˆÜ˜$¤×'Ò'ÙÜ% dÓ+ˆçÜ˜+×&Ò&Ø�~‰~Ó¤5§>¡>Ô1áÜ3°KÓ@ÐØ×-Ñ-À%Ð-×HÒHÚÙ�d—o‘oÓ'Ö(ó RrŽ   Úoptionsc          
     ó,   € V ^8„  d   QhRRRRRRRRRR	/# )
r†   rê   r'  r–   zlist[Any] | tuple[Any, ...]r˜   r€  r  r‰   z tuple[list[Any], dict[str, Any]]rŠ   )r‹   s   "rŒ   r�   r�   `  sA   € ÷ T(ñ T(ØðT(à
%ðT(ð "ðT(ð
 #ðT(ð &ñT(rŽ   c               ó  € ^RI Hp V! V 4      '       g   \        R4      hRpRp\        V P                  P
                  \        P                  P                  P                  4      '       d»   V P                  P
                  p\        P                  P                  P                  4       V P                  n        V P                  4        VP                  P                  e   VP                  P                  pVP                  P                  e   VP                  P                  pM<\        V R4      '       d   V P                  p\        V R4      '       d   V P                   pVe   \"        P$                  ! V4      MRpVe   \"        P$                  ! V4      MRp	\"        P&                  ! Y;'       g    / 34      w  r«\(        ;QJ d    R V
 4       F  '       g   K   RM	  R	M! R V
 4       4      '       d   ^ R
IHpHp V! VP0                  R4      hV
 Uu. uF5  p\        V^,          \        P2                  4      '       d
   V^,          MRNK7  	  ppVe   Wµ8w  d   \5        RV RV 24      hVf   RVRV	/M	/ VCRVRV	/CpWó3# u upi )z­
Flatten the inputs to the graph module and return the flat inputs and options.
Add "aot_inductor.serialized_in_spec" and "aot_inductor.serialized_out_spec" to the options.
)r°  zŽGraph output must be a tuple(). This is so that we can avoid pytree processing of the outputs. Please change the module to have tuple outputs.NÚ_in_specÚ	_out_specr  c              3  ód   "  € T F&  p\        V^,          \        P                  4      x € K(  	  R# 5i)rŽ  N)rô   rÝ   rÖ  r¸   s   & rŒ   r»   Ú'_aoti_flatten_inputs.<locals>.<genexpr>‘  s&   é € Ð
MÑ9L°AŒ:�a˜•dœE×.Ñ.×/Ð/Ó9Lùs   ‚.0TF)Ú	UserErrorÚUserErrorTypez†TorchBind objects found in inputs. TorchBind object inputs are not supported in AOTInductor. TorchBind objects can only be attributes.z>Trying to flatten user inputs with exported input tree spec: 
z-
but actually got inputs with tree spec of: 
zaot_inductor.serialized_in_specz aot_inductor.serialized_out_spec)rø  r°  rZ  rô   rñ   r²  rÝ   r   r_   rþ  rÆ  Úpytree_infoÚin_specÚout_specr>  r  r  ra  Útreespec_dumpsÚtree_flatten_with_pathrä  r  r  r  ÚINVALID_INPUTrö   r¥  )rê   r–   r˜   r  r°  r  r  r_  Úserialized_in_specÚserialized_out_specÚflat_args_with_pathÚreceived_specr  r  rº   Úflat_example_inputss   &&&$            rŒ   Ú_aoti_flatten_inputsr&  `  sS  € õ 0á˜r×"Ò"Üð"ó
ð 	
ð €GØ€HÜ�"—(‘(×#Ñ#¤U§X¡X§^¡^×%BÑ%B×CÒCØ—(‘(×#Ñ#ˆÜ!ŸH™HŸN™N×2Ñ2Ó4ˆ�‰ÔØ
�‰Œà×Ñ×&Ñ&Ò2Ø×)Ñ)×1Ñ1ˆGØ×Ñ×'Ñ'Ò3Ø×*Ñ*×3Ñ3ˆHøô �2�z×"Ò"Ø—k‘kˆGÜ�2�{×#Ò#Ø—|‘|ˆHà;BÒ;Nœ×.Ò.¨wÔ7ÐTVÐà+3Ò+?Œ×Ò˜hÔ'ÀRð ô *0×)FÒ)FØ	�|ˆ|˜Ðó*Ñ&Ð÷ ƒsÑ
MÑ9LÓ
M‡s‡s‚sÑ
MÑ9LÓ
M×MÒMß>áØ×'Ñ'ð8ó
ð 	
ñ CVóÙBU¸Q”
˜1˜Q�4¤§¡×.Ò.ˆˆ!Ž°DÒ8ÑBUð ð ð Ò˜}Ô7ÜØMØˆið <àˆoðó
ð 	
ð Š?ð .Ð/AØ.Ð0Cñ	
ð

Øð
à-Ð/AØ.Ð0Cñ
ð ð Ð'Ð'ùò1s   È;Jc               ó   € V ^8„  d   QhRR/# )r†   r…  r¬   rŠ   )r‹   s   "rŒ   r�   r�   ·  s   € ÷ C
ñ C
ð ñC
rŽ   c                ó¨  € \         P                  '       g   \         P                  '       d   \        R 4      hVe   TM	\	        4       p\        V \        4      '       d   \        V 4      '       g   \        R4      h\        ;QJ d    R V 4       F  '       g   K   RM	  RM! R V 4       4      '       d   \        R4      h\        V 4      p\        V4      ;'       g!    \        P                  P                  RR7      p\        P                  P                   P#                  4       ;'       g     \        P                  P!                  V4      p\$        P&                  ! R\         P(                  R7      ;_uu_ 4        \+        \,        P.                  4      ;_uu_ 4        \1        4       ;_uu_ 4        \        P2                  P4                  P7                  \         P8                  ! 4       ^8H  4      ;_uu_ 4        \        P:                  P<                  P?                  4       ;_uu_ 4        \@        PB                  ! V4      ;_uu_ 4        \        P                  PE                  V4      ;_uu_ 4        \F        PH                  ! 4       ;_uu_ 4        \J        PL                  ! V VVVVRR	7      uuRRR4       uuRRR4       uuRRR4       uuRRR4       uuRRR4       uuRRR4       uuRRR4       uuRRR4       #   + '       g   i     M; i RRR4       M  + '       g   i     M; iRRR4       M  + '       g   i     M; iRRR4       M  + '       g   i     M; iRRR4       M  + '       g   i     M; iRRR4       M  + '       g   i     M; iRRR4       M  + '       g   i     M; iRRR4       R#   + '       g   i     R# ; i)
zBautograd_cache_key is not supported with cpp_wrapper or fx_wrapperNzDautograd_cache_key does not support graphs that don't return a tuplec              3  óX   "  € T F   p\        V\        \        \        34      x € K"  	  R # 5ir�   r­  r¸   s   & rŒ   r»   Ú%autograd_cache_key.<locals>.<genexpr>Ì  s!   é € Ð
F±~°!Œ:�aœ$¤¤tÐ,×-Ð-³~ùr¯  TFz;autograd_cache_key does not support nested container inputsró  rÃ  )r…  r„  rL  rÌ  )'r   rë  r  r–  rf   rô   rV   r°  ÚNotImplementedErrorrä  rI  r$   rÝ   rõ  rö  rÞ   rß   rà   rÓ  rŒ  rÅ  r^   r:  r;  r   r   rL  rÍ  rK  r†  r”  rÎ  ry   rG  rÞ  r   rÝ  r,   Úautograd_cache_key)rñ   r•  r…  r„  rL  rù  r  s   &&&&   rŒ   r,  r,  ·  s´  € ô ××ÐœV×.×.Ð.ÜØPó
ð 	
ð
 )Ò4‰Ô:MÓ:Oð ô �%œ×%Ò%Ô.AÀ%×.HÒ.HÜ!ØRó
ð 	
÷ ƒsÑ
F±~Ó
F‡s‡s‚sÑ
F±~Ó
F×FÒFÜ!ØIó
ð 	
ô 9¸Ó?Ðô ! Ó0÷ ð ´E×4EÑ4E×4TÑ4TØ"ð 5Uó 5€Iô 	�‰×$Ñ$×,Ñ,Ó.÷ 	3ð 	3Ü�=‰=×'Ñ'¨	Ó2ð ô 	×ÒØ!%¼6×;UÑ;U÷	
ö 	
ô 	œ}×BÑB×CÕCÜ ×"Õ"Ü�‰×Ñ×-Ñ-Ü×6Ò6Ó8¸AÑ=÷	
õ 	
ô 	�‰×Ñ×6Ñ6×8Õ8Ü	�Š˜	×"Õ"Ü�‰×Ñ˜o×.Õ.Ü×"Ò"×$Õ$ä×.Ò.ØØØ-Ø)Ø"7Ø+/ô
÷ 	%Ñ$÷ 	/Ñ.÷ 	#Ñ"÷ 	9Ñ8÷	
ñ 	
÷ 	#Ñ"÷ 	DÑC÷	
ò 	
÷ 	%×$úÐ$÷ 	/×.×.Ð.ú÷ 	#×"×"Ð"ú÷ 	9×8×8Ð8ú÷	
÷ 	
÷ 	
ð 	
ú÷ 	#×"×"Ð"ú÷ 	D×C×CÐCú÷	
÷ 	
÷ 	
ò 	
úsÙ   Å:"O ÆN#	Æ/ANÇ71M+È(MÉ(L3É/LÊK:!Ê)
LÊ3
L3Ê=
MË
M+Ë
NË
N#	Ë%
O Ë:L
%ÌLÌ	L3ÌL'!Ì"L3Ì*	MÌ3MÌ>MÍ	M+ÍMÍM+Í"	NÍ+M;Í6NÍ>	N#	ÎNÎN#	Î	O Î#N3Î.O Ï O	)F)FN)TNNr�   rŠ   )rŠ   )T(1  Ú
__future__r   rŠ  rA  Úenumrµ  ró  r  rj  r   r¾   rB  r·  rš  r6  Úabcr   r   Úcollectionsr   r   Údataclassesr   Úinspectr	   r
   Úoperatorr   Útypingr   r   r   r   Útyping_extensionsr   r   r   r   r   r   Úunittestr   Útorch._inductor.async_compilerÝ   Útorch.fxÚtorch.utils._pytreer   Ú_pytreera  Úfunctorch.compiler   r   Útorch._dispatch.pythonr   Útorch._dynamor   r   r:  r  r‘   Útorch._dynamo.backendsr   rß  Útorch._dynamo.device_interfacer   Útorch._dynamo.repro.after_aotr    r�  r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   Útorch._functorchr,   rÓ  Ú7torch._functorch._aot_autograd.subclass_parametrizationr-   Útorch._functorch.aot_autogradr.   r/   r0   r1   Útorch._inductor.codecacher2   r3   r4   rs  r5   r6   r7   r8   r9   r:   Ú!torch._inductor.custom_graph_passr;   Útorch._inductor.debugr<   r=   r>   r?   Útorch._inductor.output_coder@   rA   rB   rC   rD   rE   rF   Ú'torch._inductor.runtime.cache_dir_utilsrG   Útorch._inductor.utilsrH   rI   rJ   rK   rL   rM   rN   rO   rP   rQ   Ú"torch._library.fake_class_registryrR   Útorch._library.opaque_objectrS   Útorch._loggingrT   Útorch._utils_internalrU   rV   Ú%torch.fx.experimental.symbolic_shapesrW   rX   Ú torch.fx.passes.fake_tensor_proprY   Útorch.monitorrZ   Útorch.utils._ordered_setr[   Ú_dynamo.excr\   r]   Úfx._lazy_graph_moduler^   Úfx.graphr_   Úutils._tritonr`   r  ra   rb   Úcodegen.commonrc   rd   r”  re   Údecompositionrf   Úexcrg   Úfx_passes.joint_graphrh   Úfx_passes.post_gradri   rj   Úfx_passes.pre_gradrk   rñ   rl   Úirrm   rn   Útriton_bundlerro   rp   rq   rr   rs   rt   ru   rv   rw   rx   Úvirtualizedry   Úcollections.abcrz   r{   r|   r}   r~   Ú
torch._opsr   Ú)torch.export.pt2_archive._package_weightsr€   r`  r�   r‚   rƒ   r„   rR  r”   r›   Útorch._inductor.fb.utilsÚ&torch._functorch._aot_autograd.schemasrœ   r�   rž   rá   r—   rö   rˆ   r†  ÚEnumr    rª   rÎ   rÒ   Ú_fx_compile_configr«   r”  r­   r—  r®   rš  rÅ   r¡   rÍ   Ú_loggingÚgetArtifactLoggerr!  rx  rJ  r“  rj  rç   rû   r  r  r  Ú	lru_cacher  Úcacher#  rJ  rr  r~  r†  r�  r“  r˜  r«  rµ  rÏ  rÜ  ré  rï  rû  r   Úcontextmanagerr  r  r  r&  r=  rÑ  rÛ  rë  rU  r•  r¹  r¿  rÉ  r«  rñ  rF  r!  r1  rH  r4  r8  r;  r>  rI  rc  ri  rz  r|  rø  r™  rš  r´  r°  r±  r³  r^  r&  r,  rŠ   rŽ   rŒ   Ú<module>rk     sþ  ðÝ "ã Û Û Û Û 	Û Û Û Û 	Û 
Û Û Û ß #Ý #Ý -Ý !Ý  Ý Ý ß 7Ó 7ß U× UÝ ã $Û ß $Ð $Ý AÝ Ý ;÷ó õ ;Ý CÝ =÷÷ ÷ ñ ÷ Fõ÷ó ÷ OÑ N÷÷ õ B÷ó ÷÷ ñ õ >÷÷ ÷ õ @Ý 8Ý +Ý ?Ý  ß WÝ ;Ý &Ý /ç 5Ý :Ý %Ý &ß 3Ñ 3ß UÝ Ý .Ý Ý 5ß BÝ /Ý  ß 'Ý )÷
÷ 
õ 
õ ÷ ß=Ñ=çLÝ%ÝAå$Ý$ñ ˆtƒ_€ÙˆTƒ]€ç˜×(Ó(×*Ò*õ%ö÷ Lç÷ñ ð 	�$�v•,� ¨%¯,ª,Õ!7Ð7Õ8¸3Õ>ÀÀcÅÕJÈWÕTð ô
�D—I’Iô ð ÷ð ó ðõCõDñ .Ó/Ð Ø$×)Ò)€Ø%×/Ò/Ð Ø+×;Ò;Ð à×Ó˜Ó!€Ø—’×0Ò0°¸<ÓH€Ø—n’n×6Ò6°xÐARÓSÐ Ø—~’~×7Ò7¸ÐBTÓUÐ Ø—N’N×4Ò4ØÐ'óÐ ð —~’~×7Ò7¸ÐBTÓUÐ õ
4õAõ8'õ=õ =ð ×Ó�TÓô/ó ð/ð ‡‚ô	
ó ð	
õH/õVP÷f!õ0õ!öLö0R÷0-ð -÷`/ð /÷"F(ð F(öRö*(ö.	(÷ð ÷>(ð (ð ×Òôó ñô@�y¨ö @ô˜õ ÷Lð Lñ^ Ð2Ô3öMó 4ñM÷`Bò Bô#�õ #ô6t™)õ t÷n>Yð >YöB ñF1ð +-ð1ð /1ð1ð +-ð1ð #(ð1ð 13÷1ñ 1öhUö#ñ"sMð
 #(÷sMñ sMñr )9Ø,0÷	E+ð E+ñP �q“�öo÷dð ö4ð$@ð :>÷@ð @öFö$ñ �$Ô÷0ð 0ó ñ0ö;ñH 0@Ø÷Vð Vñz 0@÷	;ð ;ö|/ñd �$Ôô˜7 2 r 6�?ó ó ññ" 0@Ø,0ØBFØ"Ø&*÷~ð ~öBðD/ð CVð/ð '+÷/ð /ðdR9ð CVðR9ð '+÷R9ð R9öjö$ö8ö,)ñ:T(ð
 &*÷T(ñ T(÷nC
ò C
rŽ   