+
    –°³jf  ã                   ó   € ^ RI t ^ RI Ht ^RIHt ] P                  P                  RR] P                  P                  R7       ] P                  P                  R4      R R l4       t	] P                  P                  RR	4      R
 R l4       tR R lt] P                  P                  RRR7      R R l4       t]P                  R R l4       tR R lt] P                  P                  RRR7      R R l4       t]P                  R R l4       tR# )é    N)ÚSymInt)Ú
DeviceMeshz/device_mesh::_runtime_compute_coordinate_on_dimz'(Tensor full_mesh, int index) -> SymInt)Útagsc                óP   € V ^8„  d   QhR\         P                  R\        R\        /# ©é   Ú	full_meshÚindexÚreturn)ÚtorchÚTensorÚintr   )Úformats   "Úc/home/luca/screen-checking/.venv/lib/python3.14/site-packages/torch/distributed/_ops/device_mesh.pyÚ__annotate__r      s(   € ÷ "ñ "Ü�|‰|ð"Ü$'ð"äñ"ó    c                 ó  € ^ RI Hp \        P                  P                  P                  4       pVP                  pVP                  4       pV P                  V^,           4      pT! T^ \        V\        4      '       d
   V^,
          MRR7        \        P                  P                  P                  P                  4       pV'       d0   VP                   P#                  VP$                  P&                  4       V#   \         d    Rp LHi ; i)r   )Ú_constrain_range_for_sizeN)ÚminÚmaxF)Ú%torch.fx.experimental.symbolic_shapesr   r   Ú
_custom_opÚimplÚget_ctxÚ
_shape_envÚcreate_unbacked_symintÚsizeÚ
isinstancer   Ú_dynamoÚsymbolic_convertÚInstructionTranslatorÚ
current_txÚAttributeErrorÚ ignorable_fresh_unbacked_symbolsÚappendÚnodeÚ_expr)r	   r
   r   ÚctxÚ	shape_envÚszÚ	mesh_sizeÚ	in_dynamos   &&      r   Ú'_runtime_compute_coordinate_on_dim_faker-      sÑ   € õ Pä
×
Ñ
×
Ñ
×
'Ñ
'Ó
)€CØ—‘€Ið 
×	)Ñ	)Ó	+€Bð
 —‘˜u q�yÓ)€IÙØ
�¬
°9¼c×(BÒ(B�y 1–}Èõðä—M‘M×2Ñ2×HÑH×SÑSÓUˆ	÷ ð 	×2Ñ2×9Ñ9¸"¿'¹'¿-¹-ÔHà€Iøô ô ØŠ	ðús   Â2C9 Ã9D	ÄD	ÚCompositeExplicitAutogradc                óP   € V ^8„  d   QhR\         P                  R\        R\        /# r   )r   r   r   )r   s   "r   r   r   :   s&   € ÷ ñ ´u·|±|ð ÌCð ÔTWñ r   c                 óº   € \         P                  P                  4       p\        P                  ! V 4      p\        P
                  ! W24      pVf   \        hWA,          # ©N)r   ÚdistributedÚget_rankr   Ú_get_mesh_tensor_from_full_meshÚ_compute_coordinates_from_meshÚAssertionError)r	   r
   ÚrankÚmeshÚmesh_coordss   &&   r   Ú'_runtime_compute_coordinate_on_dim_implr:   7   sM   € ô ×Ñ×%Ñ%Ó'€DÜ×5Ò5°iÓ@€DÜ×;Ò;¸DÓG€KØÒÜÐØÕÐr   c                óR   € V ^8„  d   QhR\         R\        \        ,          R\         /# ©r   r8   Ú	mesh_dimsr   ©r   Úlistr   )r   s   "r   r   r   C   s%   € ÷ ñ ¤jð ¼TÄ#½Yð Ì:ñ r   c                 ó`   € ^ RI Hp V! V \        V4      4      pVf   \        RV RV  24      hV# )r   )Ú"_get_flattened_mesh_by_layout_implz&No flattened mesh found for mesh_dims=z on )Ú&torch.distributed.tensor._redistributerA   ÚtupleÚ
ValueError)r8   r=   rA   Úresults   &&  r   Ú_get_flattened_submesh_implrF   C   s?   € õñ 0°´e¸IÓ6FÓG€FØ‚~ÜÐAÀ)ÀÈDÐQUÐPVÐWÓXÐXØ€Mr   z#device_mesh::_get_flattened_submesh)Úmutates_argsc                óR   € V ^8„  d   QhR\         R\        \        ,          R\         /# r<   r>   )r   s   "r   r   r   O   s%   € ÷ 8ñ 8¤ð 8¼¼S½	ð 8Äjñ 8r   c                 ó   € \        W4      # r1   ©rF   ©r8   r=   s   &&r   Ú_get_flattened_submeshrL   N   ó   € ä& tÓ7Ð7r   c                óR   € V ^8„  d   QhR\         R\        \        ,          R\         /# r<   r>   )r   s   "r   r   r   T   s%   € ÷ 8ñ 8¤jð 8¼TÄ#½Yð 8Ì:ñ 8r   c                 ó   € \        W4      # r1   rJ   rK   s   &&r   Ú_get_flattened_submesh_fakerP   S   rM   r   c                óR   € V ^8„  d   QhR\         R\        \        ,          R\         /# r<   r>   )r   s   "r   r   r   X   s%   € ÷ ñ œJð ´4¼µ9ð Äñ r   c                 óò   a€ V P                   oSf   \        RV  24      h\        ;QJ d    . V3R lV 4       F  NK  	  5M! V3R lV 4       4      p\        V4      ^8X  d   W^ ,          ,          # W,          # )Nz%Cannot slice mesh without dim names: c              3   ó6   <"  € T F  pSV,          x € K  	  R # 5ir1   © )Ú.0ÚiÚall_dim_namess   & €r   Ú	<genexpr>Ú$_get_submesh_impl.<locals>.<genexpr>\   s   øé € Ð:±	¨1�m A×&Ò&³	ùs   ƒ)Ú_mesh_dim_namesrD   rC   Úlen)r8   r=   Ú	dim_namesrW   s   && @r   Ú_get_submesh_implr]   X   sf   ø€ Ø×(Ñ(€MØÒÜÐ@ÀÀÐGÓHÐHß”Ô:±	Ó:—‘Ô:±	Ó:Ó:€IÜ
ˆ9ƒ~˜ÔØ˜a•LÕ!Ð!Ø�?Ðr   zdevice_mesh::_get_submeshc                óR   € V ^8„  d   QhR\         R\        \        ,          R\         /# r<   r>   )r   s   "r   r   r   c   s%   € ÷ .ñ .”zð .¬d´3­ið .¼Jñ .r   c                 ó   € \        W4      # r1   ©r]   rK   s   &&r   Ú_get_submeshra   b   ó   € ä˜TÓ-Ð-r   c                óR   € V ^8„  d   QhR\         R\        \        ,          R\         /# r<   r>   )r   s   "r   r   r   h   s%   € ÷ .ñ .œJð .´4¼µ9ð .Äñ .r   c                 ó   € \        W4      # r1   r`   rK   s   &&r   Ú_get_submesh_fakere   g   rb   r   rT   )r   r   Údevice_meshr   ÚlibraryÚdefineÚTagÚpt2_compliant_tagÚregister_faker-   r   r:   rF   Ú	custom_oprL   rP   r]   ra   re   rT   r   r   Ú<module>rm      s  ðó Ý å $ð ‡�× Ñ Ø5Ø-Ø	�‰×	$Ñ	$ð ô ð ‡�×ÑÐNÓOô"ó Pð"ðJ ‡�×ÑØ5Ð7Róôóðõð ‡�×ÑÐ>ÈRÐÓPô8ó Qð8ð ×%Ñ%ô8ó &ð8õð ‡�×ÑÐ4À2ÐÓFô.ó Gð.ð ×Ñô.ó ò.r   