Ë
    ÃÓ^jRO  ã                   ó’  — d dl Z d dlZd dlZd dlZd dlZd dlZd dlZd dlZd dlZd dl	m
Z
mZ d dlmZmZmZ d dl mZ d dlmZmZmZ d dlZd dlZd dlmZ d dlmZ d dlmZ d	d
lmZ d	dlm Z m!Z! d	dl"m#Z# erd	dl$m%Z% d	dl&m'Z'm(Z(  ejR                  e*«      Z+dejX                  dedede-e.ef   fd„Z/e G d„ d«      «       Z0 G d„ dejb                  «      Z2 G d„ dejf                  «      Z4e G d„ d«      «       Z5de.de6fd„Z7e G d„ d «      «       Z8	 d.d!ed"e9e9ed#f   e-e.ef   f   d$e#d%e
ejt                  jv                  e<ejz                     ge!f   d&e>dz  de8fd'„Z?e G d(„ d)«      «       Z@e G d*„ d+«      «       ZAd!ej„                  j†                  d,e<e@   d$e#d%e
ejt                  jv                  e<ejz                     ge!f   deAf
d-„ZDy)/é    N)ÚCallableÚSequence)ÚAbstractContextManagerÚ	ExitStackÚnullcontext)Ú	dataclass)ÚAnyÚOptionalÚTYPE_CHECKING)ÚGraphRuntimeEnv)Ú_graph_device_type)Ú
SystemInfoé   )Úconvert_frame)Ú&BundledAOTAutogradSerializableCallableÚSerializableCallable)ÚHooks)ÚGuardManagerWrapper)ÚSerializedCodeÚ
SourceInfoÚ	signatureÚargsÚkwargsÚreturnc                 ó^   —  | j                   |i |¤Ž}|j                  «        |j                  S ©N)ÚbindÚapply_defaultsÚ	arguments)r   r   r   Úbound_argumentss       úd/var/www/ramen.bs-engineer-server.com/venv/lib/python3.12/site-packages/torch/_dynamo/aot_compile.pyÚbind_localsr"   %   s1   € ð %�i—n‘n dÐ5¨fÑ5€OØ×"Ñ"Ô$Ø×$Ñ$Ð$ó    c                   óì   — e Zd ZU ej                  ed<   ed   ed<   eed<   eed<   e	ed<   e
j                  ed<   eed<   d	ed
<   eed<   eed<    ej                  ej                   ¬«      Zeed<   dd„Zy)ÚCompileArtifactsr   r   Úguard_managerÚguards_stateÚ
backend_idÚcompiled_fnÚoriginal_codeÚruntime_envr   Úsource_infoÚdevice_typeÚbackend_name)Údefault_factoryÚsystem_infoNc                 óx   — t        j                  «       }|j                  | j                  | j                  «       y r   )r   ÚcurrentÚcheck_compatibilityr0   r-   )ÚselfÚcurrent_systems     r!   r3   z$CompileArtifacts.check_compatibility;   s,   € Ü#×+Ñ+Ó-ˆØ×*Ñ*¨4×+;Ñ+;¸T×=MÑ=MÕNr#   ©r   N)Ú__name__Ú
__module__Ú__qualname__ÚinspectÚ	SignatureÚ__annotations__r
   ÚbytesÚstrr   ÚtypesÚCodeTyper   ÚdataclassesÚfieldr   r2   r0   r3   © r#   r!   r%   r%   -   sp   … à× Ñ Ó ØÐ1Ñ2Ó2ØÓØƒOØ%Ó%Ø—>‘>Ó!Ø Ó ØÓØÓØÓØ/˜k×/Ñ/À
×@RÑ@RÔS€K�ÓSôOr#   r%   c                   ó¤  ‡ — e Zd Zdeeef   dej                  ddfˆ fd„Zdede	ez  dz  fd„Z
ededefd	„«       Zed
ededej                  fd„«       Zededej"                  fd„«       Zedddej&                  fd„«       Zedej&                  dededeedf   dz  deej,                  df   dz  dej.                  fd„«       Zdedefd„Zˆ xZS )ÚAOTCompilePicklerÚexternal_dataÚbufr   Nc                 ó°   •— t         ‰| �  |«       || _        |j                  «       D ��ci c]  \  }}t	        |«      |“Œ c}}| _        i | _        y c c}}w r   )ÚsuperÚ__init__rF   ÚitemsÚidÚid_mapÚerrors)r4   rF   rG   ÚkeyÚvalueÚ	__class__s        €r!   rJ   zAOTCompilePickler.__init__A   sR   ø€ Ü‰Ñ˜ÔØ*ˆÔà-:×-@Ñ-@Ó-B÷'
Ù)˜s EŒBˆu‹I�s‰Nó'
ˆŒð ˆ�ùó'
s   «AÚobjc                 óð   — t        |«      | j                  v r| j                  t        |«         S t        |t        j                  j
                  «      r#|| j                  t        |«      <   t        |«      S y r   )rL   rM   Ú
isinstanceÚtorchÚnnÚModulerN   )r4   rR   s     r!   Úpersistent_idzAOTCompilePickler.persistent_idI   sU   € Üˆc‹7�d—k‘kÑ!Ø—;‘;œr #›wÑ'Ð'Ü˜œUŸX™XŸ_™_Ô-Ø#&ˆD�K‰Kœ˜3›Ñ Ü�c“7ˆNàr#   Úvalc                 óh   ‡— dt         fˆfd„}|j                  €t        d«      ‚|j                  d   S )Nr   c                  ó   •— ‰ S r   rC   )rY   s   €r!   Ú_z+AOTCompilePickler._unpickle_cell.<locals>._T   s   ø€ ØˆJr#   zclosure must not be Noner   )ÚobjectÚ__closure__ÚAssertionError)ÚclsrY   r\   s    ` r!   Ú_unpickle_cellz AOTCompilePickler._unpickle_cellR   s6   ø€ ð	”6õ 	ð �=‰=Ð Ü Ð!;Ó<Ð<Ø�}‰}˜QÑÐr#   ÚfuncÚbasec                 ó.   — t        j                  ||«      S r   )r?   Ú
MethodType)r`   rb   rc   s      r!   Ú_unpickle_bound_methodz(AOTCompilePickler._unpickle_bound_method[   s   € ô ×Ñ  dÓ+Ð+r#   Únamec                 ó,   — t        j                  |«      S r   )Ú	importlibÚimport_module)r`   rg   s     r!   Ú_unpickle_modulez"AOTCompilePickler._unpickle_module`   s   € ä×&Ñ& tÓ,Ð,r#   Úserialized_coder   c                 ó2   — ddl m}  |j                  |«      S )Nr   ©r   )Útorch._dynamo.packager   Úto_code_object)r`   rl   r   s      r!   Ú_unpickle_codez AOTCompilePickler._unpickle_coded   s   € å8à,ˆ~×,Ñ,¨_Ó=Ð=r#   ÚcodeÚmoduleÚqualnameÚargdefs.Úclosurec                 ór   — t        j                  |«      j                  }t        j                  |||||«      S r   )ri   rj   Ú__dict__r?   ÚFunctionType)r`   rr   rs   rt   ru   rv   Ú	f_globalss          r!   Ú_unpickle_nested_functionz+AOTCompilePickler._unpickle_nested_functionj   s3   € ô ×+Ñ+¨FÓ3×<Ñ<ˆ	Ü×!Ñ! $¨	°8¸WÀgÓNÐNr#   c                 óŠ  — t        |t         d„ d«      j                  d   «      «      r"t        | «      j                  |j                  ffS t        j                  |«      r.ddlm} t        | «      j                   |j                  |«      ffS t        j                  |«      r"t        | «      j                  |j                  ffS t        j                  |«      rs	 |j                  }|j                   }t#        ||j                  «      }t        j                  |«      r|j                  }||urt        | «      j$                  ||ffS t2        S t        j&                  |«      r\d|j(                  v rNt        | «      j*                  |j,                  |j.                  |j(                  |j0                  |j                  ffS t2        S )Nc                 ó   ‡ — ˆ fd„S )Nc                  ó   •— ‰ S r   rC   ©Úxs   €r!   ú<lambda>zFAOTCompilePickler.reducer_override.<locals>.<lambda>.<locals>.<lambda>x   s   ø€ °1€ r#   rC   r   s   `r!   r�   z4AOTCompilePickler.reducer_override.<locals>.<lambda>x   s   ø€ «9€ r#   r   rn   z<locals>)rT   Útyper^   ra   Úcell_contentsr:   Úiscodero   r   rq   Úfrom_code_objectÚismodulerk   r7   ÚismethodÚ__func__Ú__self__Úgetattrrf   Ú
isfunctionr9   r{   Ú__code__r8   Ú__defaults__ÚNotImplemented)r4   rR   r   rb   Úmethod_selfÚ
inner_funcs         r!   Úreducer_overridez"AOTCompilePickler.reducer_overridew   s�  € Ü�cœ4Ò!4°aÓ 8× DÑ DÀQÑ GÓHÔIÜ˜“:×,Ñ,¨s×/@Ñ/@Ð.BÐBÐBÜ�^‰^˜CÔ Ý<ä˜“:×,Ñ,Ð/N¨~×/NÑ/NÈsÓ/SÐ.UÐUÐUä×Ñ˜cÔ"Ü˜“:×.Ñ.°·±°Ð?Ð?Ü×Ñ˜cÔ"ðð —<‘<ˆDØŸ,™,ˆKÜ  ¨d¯m©mÓ<ˆJÜ×Ñ 
Ô+Ø'×0Ñ0�
Ø˜:Ñ%Ü˜D“z×8Ñ8¸4ÀÐ:MÐMÐMô Ðô ×Ñ Ô$Ø˜S×-Ñ-Ñ-Ü˜D“z×;Ñ;Ø—L‘LØ—N‘NØ×$Ñ$Ø×$Ñ$Ø—O‘Oð>ð ð ô Ðr#   )r7   r8   r9   Údictr>   r]   ÚioÚBytesIOrJ   ÚintrX   Úclassmethodra   r   r?   re   rf   Ú
ModuleTyperk   r@   rq   ÚtupleÚCellTypery   r{   r	   r‘   Ú__classcell__©rQ   s   @r!   rE   rE   @   sz  ø„ ð d¨3°¨;Ñ&7ð ¸b¿j¹jð ÈTõ ð ð ¨C°#©I¸Ñ,<ó ð ð  ð  ¨Fò  ó ð ð ð,¨(ð ,¸&ð ,ÀU×EUÑEUò ,ó ð,ð ð- Cð -¨E×,<Ñ,<ò -ó ð-ð ð>Ð-=ð >À%Ç.Á.ò >ó ð>ð
 ð	Oà�n‰nð	Oð ð	Oð ð		Oð
 �v˜s�{Ñ# dÑ*ð	Oð �u—~‘~ sÐ*Ñ+¨dÑ2ð	Oð 
×	Ñ	ò	Oó ð	Oð" Cð "¨C÷ "r#   rE   c                   óZ   ‡ — e Zd Zdeeef   dej                  defˆ fd„Zdedefd„Z	ˆ xZ
S )ÚAOTCompileUnpicklerrF   Úfiler   c                 ó2   •— t         ‰| �  |«       || _        y r   )rI   rJ   rF   )r4   rF   rž   rQ   s      €r!   rJ   zAOTCompileUnpickler.__init__�   s   ø€ Ü‰Ñ˜ÔØ*ˆÕr#   rO   c                 ór   — || j                   vrt        d|› d| j                   › �«      ‚| j                   |   S )Nz-Missing required external reference to data: zS. Please load AOT compiled function with `external_data=<external data dictionary>`)rF   ÚRuntimeError)r4   rO   s     r!   Úpersistent_loadz#AOTCompileUnpickler.persistent_load¡   sP   € Ø�d×(Ñ(Ñ(ÜØ?À¸uð E=ð ×%Ñ%Ð&ð(óð ð ×!Ñ! #Ñ&Ð&r#   )r7   r8   r9   r’   r>   r]   r“   r”   rJ   r¢   rš   r›   s   @r!   r�   r�   œ   s=   ø„ ð+ d¨3°¨;Ñ&7ð +¸r¿z¹zð +Èfõ +ð' 3ð '¨6÷ 'r#   r�   c                   ó   — e Zd ZU eed<   y)ÚAOTCompileSaveResultÚserialized_dataN)r7   r8   r9   r=   r<   rC   r#   r!   r¤   r¤   ¬   s   … àÔr#   r¤   Ú	file_pathÚdatac                 óp  — t         j                  j                  | «      xs d}t        j                  |dd¬«      5 }|j
                  }|j                  |«       |j                  «        t        j                  |j                  «       «       d d d «       t        j                  | «       y # 1 sw Y   Œ xY w)Nú.FÚwb)ÚdirÚdeleteÚmode)ÚosÚpathÚdirnameÚtempfileÚNamedTemporaryFilerg   ÚwriteÚflushÚfsyncÚfilenoÚreplace)r¦   r§   Údir_nameÚ	temp_fileÚ	temp_paths        r!   Úatomic_write_binaryr»   ±   sŠ   € Ü�w‰w�‰˜yÓ)Ò0¨S€Hä	×	$Ñ	$Ø˜U¨ô
ð %à	Ø—N‘Nˆ	Ø�‰˜ÔØ�‰ÔÜ
�‰�×!Ñ!Ó#Ô$÷%ô ‡J�Jˆy˜)Õ$÷%ð %ús   ¼AB,Â,B5c            
       óD  — e Zd ZU eed<   dZeed<   dZee	e
f   dz  ed<   de
de
dee	e
f   fd	„Zdededefd
„Zdd„Zdededefd„Zdd„Z	 dde	dee	ef   dz  defd„Ze	 ddd dee	ef   dz  defd„«       Ze	 	 ddedee	e
f   dz  dee	ef   dz  dd fd„«       Zdd„Zy)ÚAOTCompiledFunctionÚ
_artifactsTÚ_guard_check_enabledNÚ_extra_globalsr   r   r   c                 óø  — i }| j                   j                  }|j                  r�|j                  j                  r5t        |j                  «      t        |j                  j                  «      k7  rt        d«      ‚t        |j                  j                  |j                  «      D ��ci c]  \  }}||j                  “Œ }}}|j                  t        | j                   j                  g|¢­i |¤Ž«       |S c c}}w )Nz,closure length must match co_freevars length)r¾   r+   rv   ÚbytecodeÚco_freevarsÚlenr_   Úziprƒ   Úupdater"   r   )r4   r   r   Úf_localsÚenvrg   Úcells          r!   Úprepare_f_localsz$AOTCompiledFunction.prepare_f_localsÅ   sÑ   € Ø&(ˆØ�o‰o×)Ñ)ˆØ�;Š;Ø—<‘<×+Ò+¬s°3·;±;Ó/?Ä3Ø—‘×(Ñ(óDò 0ô %Ð%SÓTÐTô #& c§l¡l×&>Ñ&>ÀÇÁÓ"L÷á�D˜$ð �d×(Ñ(Ñ(ðˆHñ ð 	�‰œ D§O¡O×$=Ñ$=ÐOÀÒOÈÑOÔPØˆùós   Â(C6c                 ó²   —  | j                   |i |¤Ž}| j                  j                  €t        d«      ‚| j                  j                  j	                  |«      S )Núguard_manager must not be None)rÊ   r¾   r&   r_   Úcheck)r4   r   r   rÇ   s       r!   Úguard_checkzAOTCompiledFunction.guard_checkÔ   sP   € Ø(�4×(Ñ(¨$Ð9°&Ñ9ˆØ�?‰?×(Ñ(Ð0Ü Ð!AÓBÐBØ�‰×,Ñ,×2Ñ2°8Ó<Ð<r#   c                 óî  — ddl m}m} | j                  j	                  «        | j                  j
                  j                  | j                  j                  | j                  j                  | j                  ¬«      | _
        | j                  j                  €^ || j                  j                  «      } ||| j                  j                  | j                  j                  «      | j                  _        y y )Nr   )Úload_guard_managerÚload_guards_state)Úextra_globals)ÚpackagerÐ   rÑ   r¾   r3   r+   Úforward_callabler(   r)   rÀ   Úfnr&   r'   r*   Ú__globals__)r4   rÐ   rÑ   r'   s       r!   Ú__post_init__z!AOTCompiledFunction.__post_init__Ú   s²   € ßBà�‰×+Ñ+Ô-à—/‘/×-Ñ-×>Ñ>Ø�O‰O×&Ñ&Ø�O‰O×'Ñ'Ø×-Ñ-ð ?ó 
ˆŒð �?‰?×(Ñ(Ð0Ù,¨T¯_©_×-IÑ-IÓJˆLÙ,>ØØ—‘×-Ñ-Ø—‘×#Ñ#ó-ˆD�O‰OÕ)ð 1r#   c                 ó@  — | j                   j                  €t        d«      ‚| j                  r` | j                  |i |¤ŽsN | j
                  |i |¤Ž}t        | j                   j                  j                  |«      «      }t        d|› �«      ‚ | j                  |i |¤ŽS )NrÌ   z#GuardManager check failed, reason: )
r¾   r&   r_   r¿   rÎ   rÊ   r>   Úcheck_verboser¡   rÕ   )r4   r   r   rÇ   Úreasons        r!   Ú__call__zAOTCompiledFunction.__call__í   s›   € Ø�?‰?×(Ñ(Ð0Ü Ð!AÓBÐBØ×$Ò$Ð-=¨T×-=Ñ-=¸tÐ-NÀvÒ-NØ,�t×,Ñ,¨dÐ=°fÑ=ˆHÜ˜Ÿ™×6Ñ6×DÑDÀXÓNÓOˆFÜÐ!DÀVÀHÐMÓNÐNØˆt�w‰w˜Ð' Ñ'Ð'r#   c                 ó.   — | j                   j                  S r   )r¾   r,   ©r4   s    r!   r,   zAOTCompiledFunction.source_infoö   s   € Ø�‰×*Ñ*Ð*r#   r¯   rF   c                 óh   — t        | «      j                  | |«      }t        ||j                  «       |S r   )r‚   Ú	serializer»   r¥   )r4   r¯   rF   Úresults       r!   Úsave_compiled_functionz*AOTCompiledFunction.save_compiled_functionù   s/   € ô �d“×%Ñ% d¨MÓ:ˆÜ˜D &×"8Ñ"8Ô9Øˆr#   rÕ   c                 óˆ  — ddl m} |j                  j                  j	                  «       }d |d<   t        j                  |d    |j                  |d   j                  «      ¬«      |d<   |d   }t        |«      j                  t        |«      j                  |«      f|d<    |j                  |d   «      |d<   t        j                  «       }t        |xs i |«      }|j                  |«       |j                   r0t#        dt%        |j                   j'                  «       «      › d	�«      ‚t)        |j+                  «       ¬
«      S )Nr   rn   r&   r+   ©rÂ   r)   r*   z+Failed to serialize the following objects: zI
Please mark these as external data by using `external_data={'key': ...}`)r¥   )ro   r   r¾   rx   ÚcopyrA   r·   r…   rÂ   r‚   Údeserialize_compile_artifactsÚserialize_compile_artifactsr“   r”   rE   ÚdumprN   r¡   ÚlistÚvaluesr¤   Úgetvalue)r`   rÕ   rF   r   Ústater)   rG   Úpicklers           r!   rß   zAOTCompiledFunction.serialize   s/  € õ 	9à—‘×&Ñ&×+Ñ+Ó-ˆØ!%ˆˆoÑÜ*×2Ñ2Ø�-Ñ Ø4�^×4Ñ4°U¸=Ñ5I×5RÑ5RÓSô 
ˆˆmÑð ˜MÑ*ˆä�Ó×;Ñ;Ü�Ó×9Ñ9¸+ÓFð 
ˆˆmÑð "A ×!@Ñ!@ÀÀÑAWÓ!XˆˆoÑÜ�j‰j‹lˆÜ# MÒ$7°R¸Ó=ˆØ�‰�UÔØ�>Š>ÜØ=¼dÀ7Ç>Á>×CXÑCXÓCZÓ>[Ð=\ð ][ð [óð ô $°C·L±L³NÔCÐCr#   r§   rz   Úexternal_closure_datac                 ó,  — ddl m} t        j                  |«      }|j	                  d«       t        |xs i |«      }|j                  «       }|j                  «        t        j                  |d    |j                  |d   j                  «      ¬«      |d<   |d   \  }}	t        j                  j                  j                  d¬«      5   ||	«      |d<   d d d «        |j                  |d   «      |d<   t!        d
i |¤Ž}
 | |
|¬	«      S # 1 sw Y   Œ6xY w)Nr   rn   r+   rã   r)   T)Úenable_autograd_for_aotr*   )rÀ   rC   )ro   r   r“   r”   Úseekr�   ÚloadÚcloserA   r·   rp   rÂ   rU   Ú	_inductorÚconfigÚpatchr%   )r`   r§   rz   rí   r   ÚfÚ	unpicklerrë   ÚdeserializerÚcompiled_fn_stateÚ	artifactss              r!   ÚdeserializezAOTCompiledFunction.deserialize  s  € õ 	9ä�J‰J�tÓˆØ	�‰ˆqŒ	Ü'Ð(=Ò(CÀÀQÓGˆ	Ø—‘Ó ˆØ	�‰Œ	Ü*×2Ñ2Ø�-Ñ Ø2�^×2Ñ2°5¸Ñ3G×3PÑ3PÓQô 
ˆˆmÑð +0°Ñ*>Ñ'ˆÐ'Ü�_‰_×#Ñ#×)Ñ)À$Ð)ÓGñ 	CÙ#/Ð0AÓ#BˆE�-Ñ ÷	Cà!> ×!>Ñ!>¸uÀ_Ñ?UÓ!VˆˆoÑä$Ñ- uÑ-ˆ	Ù�9¨YÔ7Ð7÷	Cð 	Cús   Ã	D
Ä
Dc                 ó   — d| _         y )NF)r¿   rÝ   s    r!   Údisable_guard_checkz'AOTCompiledFunction.disable_guard_check6  s
   € Ø$)ˆÕ!r#   r6   )r   r   r   )NN)r7   r8   r9   r%   r<   r¿   ÚboolrÀ   r’   r>   r]   rÊ   r	   rÎ   r×   rÛ   r,   r¤   rá   r–   rß   r=   rû   rý   rC   r#   r!   r½   r½   ¿   s`  … à Ó Ø!%Ð˜$Ó%Ø/3€N�D˜˜f˜Ñ%¨Ñ,Ó3ð fð ¸ð À4ÈÈVÈÑCTó ð= ð =°ð =¸ó =óð&(˜cð (¨Sð (°Só (ó+ð AEñØðØ(,¨S°#¨X©¸Ñ(=ðà	óð àOSñDØ&ðDØ7;¸CÀ¸H±~ÈÑ7LðDà	òDó ðDð6 ð /3Ø7;ñ	8àð8ð ˜˜V˜Ñ$ tÑ+ð8ð  $ C¨ H™~°Ñ4ð	8ð
 
ò8ó ð8ô2*r#   r½   ÚmodelÚexample_inputs.ÚhooksÚbackendÚdynamicc                 ó€	  ‡— ddl mŠ ddlm} ddlm}m} ddlm} ddl	m
}	 |\  }
}t        «       }|�ddlm}  ||«      } |«       5   |d«      5  t        j                  j                   j#                  d	¬
«      5  |5  |5  t%        j&                  | |
|«      }|j(                  }|j*                  €t-        d«      ‚|j.                  s)ddlm} dt4        |   dt4        t6           fˆfd„}||_        t%        j8                  | «      \  }}|j:                  }|€t-        d«      ‚|j<                  |j>                  _         tC        |j>                  jD                  «      }|jF                  jH                  |j*                  jH                  urt-        d«      ‚ |	|jF                  «      }|jJ                  |_%        t        jL                  jO                  |«      5  t        j                  j                   j#                  d	d	d	d	d	dœ«      5   ||j>                  |jP                  «      }tS        |t        jT                  «      sftW        |d«      rBtS        |jX                  t        jZ                  j\                  j^                  j`                  «      stW        |d«      r|jb                  �te        |«      }d d d «       d d d «       tS        tf        «      s:tW        |d«      r|jX                  }n|}ti        dtk        |«      › d�d|› d�z   «      ‚tm        «       }|jn                  r|jq                  |js                  «       «       |5  |ju                  |jv                  |d	d	¬«      }d d d «       jx                  €t-        d«      ‚ |t{        «       ¬«      }|j|                  D ]  }|j                  |«       Œ t�        t%        j‚                  |«      |j„                  |jx                  |j<                  ||jv                  |j‡                  «       ||t‰        |dd«      ¬«
      }t‹        ||jŒ                  ¬«      }d d d «       d d d «       d d d «       d d d «       d d d «       S # 1 sw Y   �Œ¯xY w# 1 sw Y   �Œ´xY w# 1 sw Y   �ŒxY w# 1 sw Y   ŒRxY w# 1 sw Y   ŒVxY w# 1 sw Y   ŒZxY w# 1 sw Y   Œ^xY w# 1 sw Y   S xY w) Nr   )ÚCheckFunctionManager)r   )Údynamo_timedÚget_metrics_context)Ú#torch_function_mode_stack_state_mgr)ÚTracingContext)Úset_enable_dynamicÚfullgraph_captureT)Ústrict_autograd_cachezoutput_graph must not be None)ÚGuardFilterEntryÚguard_entriesr   c                 óx   •— | D �cg c])  }|j                   xs |j                  ‰j                  v  ‘Œ+ c}S c c}w r   )Ú	is_globalÚ
guard_typeÚ%UNSUPPORTED_SERIALIZATION_GUARD_TYPES)r  Úgr  s     €r!   Únew_guard_filter_fnz2aot_compile_fullgraph.<locals>.new_guard_filter_fn`  sL   ø€ ð +ö	ð ð ŸK™Kò ZØ Ÿ|™|Ø3×YÑYð Zòò	ð 	ùò 	s   †.7zbackend_input must not be Nonez>fake_mode.shape_env must be the same as output_graph.shape_env)r  Úbypass_autograd_cache_keyÚbundled_autograd_cacheÚ force_non_lazy_backward_loweringÚforce_autograd_cacheÚcompiler_fnrß   zCompiled function type z (produced zfrom backend z*) does not implement SerializableCallable.)r  ÚsaveÚstrict_errorzguards_state must not be None)Úinlined_sourcesÚcompiler_nameÚunknown)
r   r&   r'   r(   r)   r*   r+   r,   r-   r.   )r¾   rÀ   )GÚtorch._dynamo.guardsr  ro   r   Útorch._dynamo.utilsr  r  Ú&torch._dynamo.variables.torch_functionr  Útorch._guardsr	  r   Útorch._dynamo.eval_framer
  rU   Ú
_functorchrô   rõ   r   r  Úgraph_capture_outputÚoutput_graphr_   Úguard_filter_fnÚtorch._dynamo.typesr  r   rþ   Úget_traced_fnÚbackend_inputr(   Úgraph_moduleÚ_backend_idr   ÚgraphÚ	fake_modeÚ	shape_envÚtensor_to_contextÚ_guardsÚtracingr   rT   Ú_TorchCompileInductorWrapperÚhasattrr  Ú_dynamoÚbackendsÚcommonÚAotAutogradrß   r   r   r¡   r‚   r   ÚstackÚenter_contextÚtemp_restore_stackÚbuild_guardsrŒ   r'   ÚsetÚtraced_codeÚadd_coder%   Ú_get_signaturer&   Úget_runtime_envrŠ   r½   rÖ   ) rÿ   r   r  r  r  r   r  r  r  r	  r   r   Údynamic_ctxr
  Úcapture_outputr%  r  r  rÕ   r\   r*  r-   Útracing_contextr)   r  Úbuild_guards_ctxÚcheck_fnr,   r>  rú   Úaot_compiled_fnr  s                                   @r!   Úaot_compile_fullgraphrH  :  s˜  ø€ õ :Ý0ßEõõ -à!�L€Dˆ&ä“-€KØÐÝ?á(¨Ó1ˆñ 	Óñ{
áÐ(Ó)ñ{
ô 	×Ñ×Ñ×%Ñ%¸DÐ%ÓAñ{
ð 	ñ	{
ð
 	,ñ{
ô '×8Ñ8¸ÀÀfÓMˆØ-×BÑBÐØ×,Ñ,Ð4Ü Ð!@ÓAÐAà×$Ò$Ý<ðÜ'Ð(8Ñ9ðäœ$‘õð %8ˆEÔ!ä×+Ñ+¨EÓ2‰ˆˆAà&×4Ñ4ˆØÐ Ü Ð!AÓBÐBØ1>×1IÑ1Iˆ×"Ñ"Ô.Ü(¨×)CÑ)C×)IÑ)IÓJˆà×#Ñ#×-Ñ-Ø'×4Ñ4×>Ñ>ñ?ô !ØPóð ñ )¨×)@Ñ)@ÓAˆØ,9×,KÑ,KˆÔ)ä�M‰M×!Ñ! /Ó2ñ	Rä×Ñ×#Ñ#×)Ñ)à-1Ø15Ø.2Ø8<Ø,0ñóñ	Rñ "Ø×*Ñ*¨M×,HÑ,HóˆKô ˜7¤E×$FÑ$FÔGä˜G ]Ô3Ü"Ø×+Ñ+¬U¯]©]×-CÑ-C×-JÑ-J×-VÑ-Vôô
 ˜K¨Ô5Ø#×-Ñ-Ð9ô EÀ[ÓQ�÷?	R÷ 	RôB ˜+Ô';Ô<Ü�w Ô.Ø%×1Ñ1‘à%�ÜØ)¬$¨{Ó*;Ð)<¸KÐHØ! + Ð.XÐYñZóð ô %›;ÐØ.×4Ò4Ø×*Ñ*Ø3×FÑFÓHôð ñ 	Ø+×8Ñ8Ø—‘ 5¨tÀ$ð 9ó ˆH÷	ð
 × Ñ Ð(Ü Ð!@ÓAÐAá ´³Ô7ˆØ/×;Ñ;ò 	.ˆKØ× Ñ  Õ-ð	.ô %Ü#×2Ñ2°2Ó6Ø"×0Ñ0Ø!×.Ñ.Ø$×/Ñ/Ø#ØŸ+™+Ø,×<Ñ<Ó>Ø#Ø#Ü  ¨/¸9ÓEô
ˆ	ô .Ø °·±ô
ˆ÷s{
÷ {
÷ {
÷ {
÷ {
ðz Ð÷]	Rñ 	Rú÷ 	Rñ 	Rú÷d	ñ 	ú÷C{
ð {
ú÷ {
ð {
ú÷ {
ð {
ú÷ {
ð {
ú÷ {
ðz Ðús¸   Á	R3Á+R'Á<RÁ?R	ÂERÇ0Q)ÈB)QÊ/Q)Ê7B	RÍ  Q6Í CRÐ2R	Ð:RÑR'Ñ
R3ÑQ&Ñ!Q)Ñ)Q3Ñ.RÑ6R Ñ;RÒRÒR	ÒRÒRÒR$Ò R'Ò'R0	Ò,R3Ò3R=c                   óL   — e Zd ZU dZee   ed<   eeef   ed<   e	e
e      ed<   y)Ú
ModelInputa%  
    WIP type: represents a single model input
    Which consists of a tuple of arguments and a set of contexts in which to run the model.

    For each ModelInput, we'll compile one full graph of the model, and then use the guards generated
    to dispatch between the compiled graphs.


    r   r   ÚcontextsN)r7   r8   r9   Ú__doc__r˜   r	   r<   r’   r>   rè   r   rC   r#   r!   rJ  rJ  Ñ  s2   … ñð �‰*ÓØ��c�‰NÓØÐ)¨#Ñ.Ñ/Ô/r#   rJ  c                   ó¶   — e Zd ZU ej                  j
                  ed<   ee   ed<   de	de	de	fd„Z
defd„Zedej                  j
                  dedd fd	„«       Zy
)ÚAOTCompiledModelrÿ   Úcompiled_resultsr   r   r   c                 óÚ   — | j                   D ]:  } |j                  | j                  g|¢­i |¤ŽsŒ$ || j                  g|¢­i |¤Žc S   | j                   d   | j                  g|¢­i |¤ŽS )Nr   )rO  rÎ   rÿ   )r4   r   r   rà   s       r!   rÛ   zAOTCompiledModel.__call__é  sv   € Ø×+Ñ+ò 	;ˆFØ!ˆv×!Ñ! $§*¡*Ð>¨tÒ>°vÓ>Ù˜dŸj™jÐ:¨4Ò:°6Ñ:Ò:ð	;ð (ˆt×$Ñ$ QÑ'¨¯
©
ÐD°TÒD¸VÑDÐDr#   c                 ó®   — g }| j                   D ]0  }|j                  t        j                  |«      j                  «       Œ2 t        j                  |«      S r   )rO  Úappendr½   rß   r¥   ÚpickleÚdumps)r4   r§   rà   s      r!   rß   zAOTCompiledModel.serializeð  sK   € ØˆØ×+Ñ+ò 	OˆFØ�K‰KÔ+×5Ñ5°fÓ=×MÑMÕNð	Oä�|‰|˜DÓ!Ð!r#   r§   c                 óX  — ddl m} ddlm}m} t        j                  |«      }g }|D ]`  } | |t        j                  i «      «      «      5   |«       5  |j                  t        j                  |«      «       d d d «       d d d «       Œb  | ||«      S # 1 sw Y   ŒxY w# 1 sw Y   Œ�xY w)Nr   )r  )Úcompile_contextÚCompileContext)r   r  r"  rV  rW  rS  Úloadsr   Úget_compile_idrR  r½   rû   )	r`   rÿ   r§   r  rV  rW  ÚresultsrO  rà   s	            r!   rû   zAOTCompiledModel.deserializeö  s¯   € å;ßAä%Ÿ|™|¨DÓ1ˆØÐØò 	QˆFá¡¬}×/KÑ/KÈBÓ/OÓ PÓQñQá#Ó%ñQð !×'Ñ'Ô(;×(GÑ(GÈÓ(OÔP÷	Q÷ Qð Qð	Qñ �5Ð*Ó+Ð+÷Qð Qú÷ Qð Qús$   ÁB Á%BÁ9B ÂBÂB Â B)	N)r7   r8   r9   rU   rV   rW   r<   rè   r½   r	   rÛ   r=   rß   r–   rû   rC   r#   r!   rN  rN  â  sz   … ð �8‰8�?‰?ÓØÐ.Ñ/Ó/ðE˜cð E¨Sð E°Só Eð"˜5ó "ð ð, §¡§¡ð ,°uð ,ÐASò ,ó ñ,r#   rN  Úinputsc                 óæ   ‡ ‡‡— dt         dt        fˆˆˆ fd„}g }|D ]/  }t        j                  d|«       |j	                   ||«      «       Œ1 t        |«      dk(  rt        d«      ‚t        ‰ |«      S )zi
    Compiles a single nn.Module with any number of inputs, and returns a compiled forward function.
    Úmodel_inputr   c                 óî   •— | j                   | j                  f}‰j                  }t        «       5 }| j                  D ]  }|j                  |«       Œ t        ||‰‰¬«      cd d d «       S # 1 sw Y   y xY w)N)r  r  )r   r   Úforwardr   rK  r:  rH  )r]  r   Úorig_forwardr9  Úctxr  r  rÿ   s        €€€r!   Úcompile_single_graphz0aot_compile_module.<locals>.compile_single_graph  su   ø€ Ø%×*Ñ*¨K×,>Ñ,>Ð?ˆØ—}‘}ˆÜ‹[ð 	˜EØ"×+Ñ+ò )�Ø×#Ñ# CÕ(ð)ä(ØØØØô	÷	÷ 	ò 	ús   °1A+Á+A4zCompiling input %s..r   z%Expected at least one compiled result)rJ  r½   ÚlogÚinforR  rÄ   r_   rN  )rÿ   r[  r  r  rb  rO  r]  s   ` ``   r!   Úaot_compile_modulere    s}   ú€ ð¬*ð Ô9L÷ ð ÐØò CˆÜ�‰Ð'¨Ô5Ø×ÑÑ 4°[Ó AÕBðCô ÐÓ Ò!ÜÐDÓEÐEä˜EÐ#3Ó4Ð4r#   r   )ErA   ri   r:   r“   Úloggingr®   rS  r±   r?   Úcollections.abcr   r   Ú
contextlibr   r   r   r   Útypingr	   r
   r   rU   Útorch.fxÚtorch._dynamo.convert_framer   Útorch._dynamo.graph_utilsr   ro   r   Ú r   Úaot_compile_typesr   r   r  r   Úguardsr   rÓ   r   r   Ú	getLoggerr7   rc  r;   r’   r>   r"   r%   ÚPicklerrE   Ú	Unpicklerr�   r¤   r=   r»   r½   r˜   ÚfxÚGraphModulerè   ÚTensorrþ   rH  rJ  rN  rV   rW   re  rC   r#   r!   ú<module>rv     sK  ðÛ Û Û Û 	Û Û 	Û Û Û ß .ß EÑ EÝ !ß /Ñ /ã Û Ý 7Ý 8Ý ,å ÷õ ñ Ý+ß3ð €g×Ñ˜Ó!€ð%Ø× Ñ ð%Ø),ð%Ø8;ð%à	ˆ#ˆsˆ(�^ó%ð ÷Oð Oó ðOô$Y˜Ÿ™ô Yôx'˜&×*Ñ*ô 'ð  ÷ð ó ðð% 3ð %¨eó %ð ÷w*ð w*ó ðw*ð~  ñTØðTà˜%  S ™/¨4°°S°©>Ð9Ñ:ðTð ðTð �u—x‘x×+Ñ+¨T°%·,±,Ñ-?Ð@ÐBVÐVÑWð	Tð
 �D‰[ðTð óTðn ÷0ð 0ó ð0ð  ÷ ,ð  ,ó ð ,ðF 5Ø�8‰8�?‰?ð 5à�Ñð 5ð ð 5ð �u—x‘x×+Ñ+¨T°%·,±,Ñ-?Ð@ÐBVÐVÑWð	 5ð
 ô 5r#   