Ë
    g^(hS.  ã                   ó\	  — U d dl Z d dlmZ d dlZd dlmZmZmZmZ d dl	m
Z
 ej                  j                   ej                  j                  Zej                  j                  Zej                  j                   Zej                  j"                  Z e«       Zee   ed<   defd„Zd1d„Zi d	d
„ “dd„ “dd„ “dd„ “dd„ “dd„ “dd„ “dd„ “dd„ “dd„ “dd„ “dd „ “d!d"„ “d#d$„ “d%d&„ “d'd(„ “Z ej2                  «       sGej4                  j7                  d)d*«      Zej;                  «       D ]  \  ZZejA                  eed+«       Œ ejB                  jD                  ejF                  jD                  ejH                  jD                  ejJ                  jD                  ejL                  jD                  ejN                  jD                  ejP                  jD                  ejR                  jD                  ejT                  jD                  ejV                  jD                  ejX                  jD                  ejZ                  jD                  ej\                  jD                  ej^                  jD                  ej`                  jD                  ejb                  jD                  hZ2eejf                  jh                     ed,<   ejj                  jD                  ejl                  jD                  ejn                  jD                  ejp                  jD                  ejr                  jD                  ejr                  jD                  ejt                  jD                  ejv                  jD                  ejx                  jD                  ejz                  jD                  ej|                  jD                  ej~                  jD                  ejn                  jD                  ej€                  jD                  ejp                  jD                  ejB                  jD                  ej‚                  jD                  hZBeejf                  jh                     ed-<   ej`                  jD                  ejb                  jD                  ejt                  jD                  hZCeejf                  jh                     ed.<   ej‰                  eBe2«      ZE G d/„ d0«      ZFy)2é    N)ÚAny)Ú_resolve_process_groupÚFakeWorkÚProcessGroupÚWork)Útree_map_onlyÚused_idsÚreturnc                  óp   — 	 t        j                  dd«      } | t        vrt        j                  | «       | S Œ6)Né   i Êš;)ÚrandomÚrandintr	   Úadd)Únew_ids    úg/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/torch/distributed/_tools/fake_collectives.pyÚgenerate_unique_idr      s3   € Ø
Ü—‘  5Ó)ˆØœÑ!Ü�L‰L˜Ô ØˆMð	 ó    c                 ój   — t        «       }t        «       |_        |j                  «       }|r| d   |fS |S )Nr   )r   r   Úseq_idÚboxed)ÚargsÚreturn_first_argÚworkÚfakework_script_objs       r   Úcreate_fakeworkr       s7   € Ü‹:€DÜ$Ó&€D„KØŸ*™*›,ÐÙ-=ˆD�‰GÐ(Ð)ÐVÐCVÐVr   Ú
broadcast_c                  ó   — t        | «      S ©N©r   ©r   s    r   ú<lambda>r!   0   ó   € ¤°Ó 5€ r   Ú
allreduce_c                  ó   — t        | «      S r   r   r    s    r   r!   r!   1   r"   r   Ú
allgather_c                  ó   — t        | «      S r   r   r    s    r   r!   r!   2   r"   r   Ú_allgather_base_c                  ó   — t        | «      S r   r   r    s    r   r!   r!   3   s   € ¤o°dÓ&;€ r   Úreduce_scatter_c                  ó   — t        | «      S r   r   r    s    r   r!   r!   4   s   € ¤_°TÓ%:€ r   Ú_reduce_scatter_base_c                  ó   — t        | «      S r   r   r    s    r   r!   r!   5   s   € ¬?¸4Ó+@€ r   Úreduce_c                  ó   — t        | d¬«      S ©NF)r   r   r    s    r   r!   r!   6   ó   € œ_¨TÀEÔJ€ r   Úgather_c                  ó   — t        | d¬«      S r/   r   r    s    r   r!   r!   7   r0   r   Úscatter_c                  ó   — t        | «      S r   r   r    s    r   r!   r!   8   s   € œo¨dÓ3€ r   Ú	alltoall_c                  ó   — t        | «      S r   r   r    s    r   r!   r!   9   s   € œ¨tÓ4€ r   Úalltoall_base_c                  ó   — t        | d¬«      S r/   r   r    s    r   r!   r!   :   s   € ¤O°DÈ5Ô$Q€ r   Úbarrierc                  ó   — t        | d¬«      S r/   r   r    s    r   r!   r!   ;   r0   r   Úmonitored_barrier_c                   ó   — y r   © r    s    r   r!   r!   <   s   � r   Úsendc                  ó   — t        | d¬«      S r/   r   r    s    r   r!   r!   =   s   € œ/¨$ÀÔG€ r   Úrecv_c                  ó   — t        | d¬«      S r/   r   r    s    r   r!   r!   >   s   € œ?¨4À%ÔH€ r   Úrecv_any_source_c                  ó   — t        | d¬«      S r/   r   r    s    r   r!   r!   ?   s   € ¤o°dÈUÔ&S€ r   Úc10dÚIMPLÚMetaÚnon_functional_collectivesÚfunctional_collectivesÚsync_opsc            
       óh  — e Zd Zej                  j
                  ej                  j
                  ej                  j
                  ej                  j
                  ej                  j
                  ej                  j
                  ej                  j
                  hZej                  j
                  ej                  j
                  ej                  j
                  ej                   j
                  ej"                  j
                  ej$                  j
                  ej&                  j
                  ej(                  j
                  hZej.                  j
                  ej                  j
                  ej0                  j
                  ej2                  j
                  ej4                  j
                  ej6                  j
                  ej8                  j
                  ej:                  j
                  ej8                  j
                  ej>                  j
                  h
Z ejB                  j
                  ejD                  j
                  ejB                  j
                  ejF                  j
                  ejF                  j
                  e$jJ                  j
                  hZ&ej                  j
                  ej                  j
                  ej                  j
                  ej                  j
                  ej                   j
                  ej                  j
                  ej$                  j
                  ej&                  j
                  hZ'ej                  j
                  ej                  j
                  ej                  j
                  ej                  j
                  ej"                  j
                  ej(                  j
                  ej                  j
                  hZ(ej                  j
                  ej                  j
                  ej                  j
                  ej                  j
                  ej                  j
                  ej"                  j
                  ej                  j
                  ej                  j
                  ej4                  j
                  ej6                  j
                  h
Z)ej                  j
                  ej$                  j
                  hZ*ej8                  j
                  ej8                  j
                  hZ+ej                  j
                  ej.                  j
                  ej                  j
                  ej0                  j
                  ej2                  j
                  ejB                  j
                  ejB                  j
                  hZ,ejF                  j
                  ejF                  j
                  e$jJ                  j
                  hZ-ej>                  j
                  ejD                  j
                  hZ.e/de0de1fd„«       Z2e/de3fd„«       Z4e/de1fd„«       Z5e/de6fd„«       Z7y)ÚCollectiveOpÚargr
   c                 ór   ‡— dŠdt         j                  ddfˆfd„}t        t         j                  || «       ‰S )z?Calculate total memory consumed by the tensors in the argument.r   Útr
   Nc                 óH   •— ‰| j                  «       j                  «       z  Šy r   )Úuntyped_storageÚnbytes)rN   Útotal_memorys    €r   Ú	sum_bytesz+CollectiveOp.sum_tensors.<locals>.sum_bytesù   s   ø€ à˜A×-Ñ-Ó/×6Ñ6Ó8Ñ8‰Lr   )ÚtorchÚTensorr   )rL   rS   rR   s     @r   Úsum_tensorszCollectiveOp.sum_tensorsô   s9   ø€ ð ˆð	9œŸ™ð 	9¨$õ 	9ô 	”e—l‘l I¨sÔ3ØÐr   c                 óT  — | t         j                  v rt        j                  |d   «      S | t         j                  v rt        j                  |d   «      S | t         j
                  v rt        |d   «      S | t         j                  v rt        |d   «      S t        d| › dt        › �«      ‚)zKRetrieve the process group for collective operations, except `wait_tensor`.r   é   é   úFunc ú not found in )
rK   ÚPG_ARG_1r   ÚunboxÚPG_ARG_2ÚPG_ARG_3r   ÚPG_ARG_4Ú	TypeErrorÚcollective_ops)Úfuncr   s     r   Úget_process_groupzCollectiveOp.get_process_group   s�   € ð ”<×(Ñ(Ñ(Ü×%Ñ% d¨1¡gÓ.Ð.Ø”<×(Ñ(Ñ(Ü×%Ñ% d¨1¡gÓ.Ð.Ø”<×(Ñ(Ñ(Ü)¨$¨q©'Ó2Ð2Ø”<×(Ñ(Ñ(Ü)¨$¨q©'Ó2Ð2Ü˜% ˜v ^´NÐ3CÐDÓEÐEr   c                 óü  — | t         j                  v rt         j                  |d   «      S | t         j                  v rt         j                  |d   «      S | t         j                  v r|j                  «       j                  «       S | t         j                  v r!|d   j                  «       j                  «       S | t        j                  j                  k(  r!|d   j                  «       j                  «       S | t        j                  j                  k(  r8t        t         j                  |d   «      t         j                  |d   «      «      S | t        j                  j                  k(  rJt        |d   j                  «       j                  «       |d   j                  «       j                  «       «      S | t        j                  j                  k(  r!|d   j                  «       j                  «       S | t         j                   v rt         j                  |«      S | t         j"                  v r@|d   j                  «       j                  «       |j                  «       j                  «       z   S t%        d| › dt&        › �«      ‚)zdCompute the communication tensor size, except for `wait_tensor`, `barrier`, and `monitored_barrier`.r   r   éÿÿÿÿzUnknown function: z in )rK   ÚCOMM_TENSOR_ARG_0rV   ÚCOMM_TENSOR_ARG_1ÚCOMM_TENSOR_ARG_RESrP   rQ   Ú"COMM_TENSOR_SINGLE_UNTYPED_STORAGErD   r+   Údefaultr5   Úmaxr7   Ú_c10d_functionalÚall_gather_into_tensor_outÚCOMM_TENSOR_RES_SUMÚCOMM_TENSOR_ARG_0_AND_RESra   rb   )rc   Úresr   Úkwargss       r   Úget_comm_tensor_sizez!CollectiveOp.get_comm_tensor_size  s  € ð ”<×1Ñ1Ñ1Ü×+Ñ+¨D°©GÓ4Ð4Ø”<×1Ñ1Ñ1Ü×+Ñ+¨D°©GÓ4Ð4Ø”<×3Ñ3Ñ3Ø×&Ñ&Ó(×/Ñ/Ó1Ð1Ø”<×BÑBÑBØ˜‘7×*Ñ*Ó,×3Ñ3Ó5Ð5Ø”4×-Ñ-×5Ñ5Ò5Ø˜‘7×*Ñ*Ó,×3Ñ3Ó5Ð5Ø”4—>‘>×)Ñ)Ò)äÜ×(Ñ(¨¨a©Ó1´<×3KÑ3KÈDÐQRÉGÓ3Tóð ð ”4×&Ñ&×.Ñ.Ò.äØ�Q‘×'Ñ'Ó)×0Ñ0Ó2°D¸±G×4KÑ4KÓ4M×4TÑ4TÓ4Vóð ð Ô#×>Ñ>×FÑFÒFØ˜‘8×+Ñ+Ó-×4Ñ4Ó6Ð6Ø”<×3Ñ3Ñ3Ü×+Ñ+¨CÓ0Ð0Ø”<×9Ñ9Ñ9à˜‘7×*Ñ*Ó,×3Ñ3Ó5¸×8KÑ8KÓ8M×8TÑ8TÓ8VÑVÐVÜÐ,¨T¨F°$´~Ð6FÐGÓHÐHr   c                 óÎ   — | t         j                  v rt        j                  |«      S | t         j                  v rt        j                  |d   «      S t        d| › dt        › �«      ‚)Nr   rZ   r[   )rK   ÚWKr   r]   ÚWK_ARG_1ra   rb   )rc   rq   s     r   Úget_workzCollectiveOp.get_work-  sW   € à”<—?‘?Ñ"Ü—>‘> #Ó&Ð&Ø”\×*Ñ*Ñ*Ü—>‘> # a¡&Ó)Ð)Ü˜% ˜v ^´NÐ3CÐDÓEÐEr   N)8Ú__name__Ú
__module__Ú__qualname__rD   r   rk   r#   r-   r>   r@   rB   r9   r\   r%   r'   r)   r+   r1   r3   r5   r7   r^   rm   Ú	broadcastÚ
all_reduceÚall_reduce_Úall_reduce_coalescedÚall_reduce_coalesced_Úall_gather_into_tensorrn   Ú_c10d_functional_autogradÚ all_gather_into_tensor_coalescedr_   Úreduce_scatter_tensorÚreduce_scatter_tensor_coalescedÚall_to_all_singleÚ_dtensorÚshard_dim_alltoallr`   rv   ru   rg   rh   ri   rj   rp   ro   Ústaticmethodr   ÚintrV   r   rd   rs   r   rw   r=   r   r   rK   rK   ~   sð  „ ð 	�‰×ÑØ�‰×ÑØ�‰×ÑØ�	‰	×ÑØ�
‰
×ÑØ×Ñ×%Ñ%Ø�‰×Ñð	€Hð 	�‰×ÑØ×Ñ×%Ñ%Ø×Ñ×$Ñ$Ø×"Ñ"×*Ñ*Ø�‰×ÑØ�‰×ÑØ�‰×ÑØ×Ñ×#Ñ#ð€Hð 	×"Ñ"×*Ñ*Ø×#Ñ#×+Ñ+Ø×#Ñ#×+Ñ+Ø×$Ñ$×,Ñ,Ø×-Ñ-×5Ñ5Ø×.Ñ.×6Ñ6Ø×/Ñ/×7Ñ7Ø×3Ñ3×;Ñ;Ø!×8Ñ8×@Ñ@Ø×9Ñ9×AÑAð€Hð 	×.Ñ.×6Ñ6Ø×8Ñ8×@Ñ@Ø!×7Ñ7×?Ñ?Ø×*Ñ*×2Ñ2Ø!×3Ñ3×;Ñ;Ø×#Ñ#×+Ñ+ð€Hð 	�‰×ÑØ�‰×ÑØ�‰×ÑØ×Ñ×$Ñ$Ø×"Ñ"×*Ñ*Ø×Ñ×%Ñ%Ø�‰×ÑØ�‰×Ñð	€Hð 	�	‰	×ÑØ�
‰
×ÑØ×Ñ×%Ñ%Ø�‰×ÑØ�‰×ÑØ×Ñ×#Ñ#Ø�‰×Ñð
€Bð 	�‰×ÑØ�	‰	×ÑØ�
‰
×ÑØ×Ñ×%Ñ%Ø�‰×ÑØ�‰×ÑØ�‰×ÑØ�‰×ÑØ×-Ñ-×5Ñ5Ø×.Ñ.×6Ñ6ðÐð" 	×Ñ×$Ñ$Ø�‰×ÑðÐð 	×/Ñ/×7Ñ7Ø!×8Ñ8×@Ñ@ðÐð 	×Ñ×%Ñ%Ø×"Ñ"×*Ñ*Ø×#Ñ#×+Ñ+Ø×#Ñ#×+Ñ+Ø×$Ñ$×,Ñ,Ø×.Ñ.×6Ñ6Ø!×7Ñ7×?Ñ?ð*Ð&ð 	×*Ñ*×2Ñ2Ø!×3Ñ3×;Ñ;Ø×#Ñ#×+Ñ+ð!Ðð 	×9Ñ9×AÑAØ×8Ñ8×@Ñ@ðÐð
 ð	˜ð 	 ò 	ó ð	ð ð
F¨ò 
Fó ð
Fð ðI¸ò Ió ðIð> ðF˜tò Fó ñFr   rK   )T)Gr   Útypingr   rT   Útorch._C._distributed_c10dr   r   r   r   Útorch.utils._pytreer   ÚdistributedÚbatch_isend_irecvÚopsrD   rm   r�   r†   Úsetr	   r‰   Ú__annotations__r   r   Ú_META_FUNCTIONSÚ_running_with_deployÚlibraryÚLibraryÚlib_implÚitemsÚopÚ	meta_funcÚimplr   rk   r#   r-   r>   r@   rB   r%   r)   r+   r'   r1   r3   r5   r7   r9   r;   rG   Ú_opsÚ
OpOverloadr{   r|   r€   rƒ   r…   Úwait_tensorr}   r~   r   rn   r‚   r„   r‡   rH   rI   Úunionrb   rK   r=   r   r   ú<module>rŸ      s8  ðÜ Ý ã ÷ó õ .ð × Ñ × #Ò #à‡y�y‡~�~€Ø—9‘9×-Ñ-Ð Ø!ŸI™I×?Ñ?Ð Ø�9‰9×Ñ€Ù“U€ˆ#ˆc‰(Ó ð˜Có óWðØÑ5ðàÑ5ðð Ñ5ðð Ñ;ð	ð
 Ñ:ðð Ñ@ðð ÑJðð ÑJðð Ñ3ðð Ñ4ðð ÑQðð ÑJðð Ñ,ðð ÑGðð ÑHðð  ÑSð!€ð& "€u×!Ñ!Ô#Ø�}‰}×$Ñ$ V¨VÓ4€HØ(×.Ñ.Ó0ò -‰ˆˆIØ�‰�b˜) VÕ,ð-ð 	‡O�O×ÑØ‡O�O×ÑØ‡L�L×ÑØ‡I�I×ÑØ‡J�J×ÑØ×Ñ×!Ñ!Ø‡O�O×ÑØ×Ñ× Ñ Ø×Ñ×&Ñ&Ø×Ñ×!Ñ!Ø‡L�L×ÑØ‡M�M×ÑØ‡N�N×ÑØ×Ñ×ÑØ‡L�L×ÑØ×Ñ×#Ñ#ð!:Ð ˜C §
¡
× 5Ñ 5Ñ6ó ð& ×Ñ×&Ñ&Ø×Ñ×'Ñ'Ø×+Ñ+×3Ñ3Ø×*Ñ*×2Ñ2Ø×&Ñ&×.Ñ.Ø×/Ñ/×7Ñ7Ø× Ñ ×(Ñ(Ø× Ñ ×(Ñ(Ø×)Ñ)×1Ñ1Ø×*Ñ*×2Ñ2Ø×/Ñ/×7Ñ7Ø×5Ñ5×=Ñ=Ø×4Ñ4×<Ñ<Ø×4Ñ4×<Ñ<Ø×3Ñ3×;Ñ;Ø×Ñ×'Ñ'Ø×Ñ×'Ñ'ð#6Ð ˜˜EŸJ™J×1Ñ1Ñ2ó ð* 	‡L�L×ÑØ×Ñ×#Ñ#Ø× Ñ ×(Ñ(ð(€ˆ#ˆe�j‰j×#Ñ#Ñ
$ó ð —‘Ð1Ð3MÓN€÷uFò uFr   