+
    ˜°³jû  ã                   óz   € ^ RI t ^ RIHt ^ RIHtHt ^ RIt^ RIHt ^ RI	H
t
 ^ RIHt RR.tR	 R
 ltRR R lltR# )é    N)ÚSequence)ÚAnyÚcast)ÚExceptionWrapper)Ú_get_device_index)ÚModuleÚ	get_a_varÚparallel_applyc                óú   € V ^8„  d   QhR\         P                  \        \        ,          ,          \        \        R3,          ,          \
        \        \        3,          ,          R\         P                  R,          /# )é   Úobj.ÚreturnN)ÚtorchÚTensorÚlistr   ÚtupleÚdict)Úformats   "Úa/home/luca/screen-checking/.venv/lib/python3.14/site-packages/torch/nn/parallel/parallel_apply.pyÚ__annotate__r      sL   € ÷ ñ Ü	�‰œœS�	Õ	!¤E¬#¨s¨(¥OÕ	3´d¼3Ä¸8µnÕ	Dðä
‡\�\�DÕñó    c                 ó¶  € \        V \        P                  4      '       d   V # \        V \        \        34      '       d<   \        \        V 4       F'  p\        V\        P                  4      '       g   K%  Vu # 	  \        V \        4      '       dJ   \        \        V P                  4       4       F'  p\        V\        P                  4      '       g   K%  Vu # 	  R # )N)	Ú
isinstancer   r   r   r   Úmapr	   r   Úitems)r   Úresults   & r   r	   r	      s“   € ô �#”u—|‘|×$Ò$Øˆ
ä�#œœe�}×%Ò%Üœ) SÖ)ˆFÜ˜&¤%§,¡,×/Ô/Ø’ñ *ô �#”t×ÒÜœ) S§Y¡Y£[Ö1ˆFÜ˜&¤%§,¡,×/Ô/Ø’ñ 2ñ r   c                ó8  € V ^8„  d   QhR\         \        ,          R\         \        ,          R\         \        \        \        3,          ,          R,          R\         \
        \        P                  ,          R,          ,          R,          R\        \        ,          /# )r   ÚmodulesÚinputsÚ
kwargs_tupNÚdevicesr   )	r   r   r   r   ÚstrÚintr   Údevicer   )r   s   "r   r   r      sx   € ÷ sñ sÜ”fÕðsä”S�Mðsô œœc¤3˜h�Õ(¨4Õ/ðsô ”cœEŸL™LÕ(¨4Õ/Õ0°4Õ7ð	sô
 
Œ#…Yñsr   c                ób  aaaaa€ \        V 4      \        V4      8w  d$   \        R\        V 4       R\        V4       24      hVe>   \        V 4      \        V4      8w  d$   \        R\        V 4       R\        V4       24      hM2\        \        \        \
        3,          / 4      3\        V 4      ,          pVe>   \        V 4      \        V4      8w  d$   \        R\        V 4       R\        V4       24      hMR.\        V 4      ,          pV Uu. uF  p\        VR4      NK  	  ppV Uu. uF"  p\        P                  P                  V4      NK$  	  pp\        P                  P                  4       '       g   \        R4      h\        P                  P                  4       P                  o\        P                  ! 4       o/ o\        P                  ! 4       \        P                   ! 4       uooRR VVVVV3R	 lllp\        V 4      ^8”  d…   \#        \%        WW#VRR
7      4       UUU	U
UUu. uF%  w  pw  r‰r«p\        P&                  ! WgW‰W«V3R7      NK'  	  ppp
p	pppV F  pVP)                  4        K  	  V F  pVP+                  4        K  	  M0V! ^ V ^ ,          V^ ,          V^ ,          V^ ,          V^ ,          4       . p\-        \        V4      4       FC  pSV,          p\/        V\0        4      '       d   VP3                  4        VP5                  V4       KE  	  V# u upi u upi u uppp
p	ppi )aù  Apply each `module` in :attr:`modules` in parallel on each of :attr:`devices`.

Args:
    modules (Module): modules to be parallelized
    inputs (tensor): inputs to the modules
    devices (list of int or torch.device): CUDA devices

:attr:`modules`, :attr:`inputs`, :attr:`kwargs_tup` (if given), and
:attr:`devices` (if given) should all have same length. Moreover, each
element of :attr:`inputs` can either be a single object as the only argument
to a module, or a collection of positional arguments.
zThe number of modules z& is not equal to the number of inputs Nz* is not equal to the number of kwargs_tup z' is not equal to the number of devices TzNo available accelerator found.c                óà   € V ^8„  d   QhR\         R\        R\        R\        \        \        3,          R\         \
        P                  ,          R,          R\
        P                  R,          RR/# )	r   ÚiÚmoduleÚinputÚkwargsr$   NÚstreamr   )r#   r   r   r   r"   r   r$   ÚStream)r   s   "r   r   Ú$parallel_apply.<locals>.__annotate__R   sm   € ÷ 'ñ 'Üð'äð'ô ð'ô ”Sœ#�X•ð	'ô
 ”e—l‘lÕ" TÕ)ð'ô —‘˜tÕ#ð'ð 
ñ'r   c                 ó2  <€ \         P                  ! S
4       VfH   \        V4      pVf)   S;_uu_ 4        \        RV  R2R7      SV &   R R R 4       R # VP	                  4       p\        V\         P                  4      '       d   VP                  pVf    \         P                  P                  V4      p \         P                  P                  V4      ;_uu_ 4        T;_uu_ 4        \         P                  P                  S	SR7      ;_uu_ 4        \        V\        \        34      '       g   V3pV! V/ VB pR R R 4       R R R 4       R R R 4       S;_uu_ 4        XSV &   R R R 4       R #   + '       g   i     R # ; i  + '       g   i     LN; i  + '       g   i     LY; i  + '       g   i     Ld; i  + '       g   i     R # ; i  \         dB    S;_uu_ 4        \        RT  RT 2R7      ST &   R R R 4        R #   + '       g   i      R # ; ii ; i)Nzin replica zQ, no device was provided and no tensor input was found; device cannot be resolved)Úwhere)Úenabledz on device )r   Úset_grad_enabledr	   r   Ú
get_devicer   r$   ÚindexÚacceleratorÚcurrent_streamÚdevice_indexÚampÚautocastr   r   Ú	Exception)r'   r(   r)   r*   r$   r+   ÚtÚoutputÚautocast_enabledÚdevice_typeÚgrad_enabledÚlockÚresultss   &&&&&&  €€€€€r   Ú_workerÚparallel_apply.<locals>._workerR   s�  ø€ ô 	×Ò˜|Ô,ØŠ>Ü˜%Ó ˆAØŠyß’TÜ!1Ø +¨A¨3ð /4ð 4ô"�G˜A‘J÷ ñ
 Ø—\‘\“^ˆFÜ�fœeŸl™l×+Ò+Ø—\‘\ˆFØŠ>Ü×&Ñ&×5Ñ5°fÓ=ˆFð	ä×!Ñ!×.Ñ.¨v×6Õ6ß’Ü—	‘	×"Ñ" ;Ð8HÐ"×IÕIô " %¬$´¨×7Ò7Ø"˜H�EÙ Ð1¨&Ñ1�÷ J÷ ÷ 7÷ ’Ø#�˜‘
÷ ‘÷+ –Tñ
 ú÷ J×Iú÷ —ú÷ 7×6ú÷ —�ûäô 	ß’Ü-Ø'¨ s¨+°f°XÐ>ô�˜‘
÷ ——”úð	ús›   µE)Â3'G
 ÃF#Ã%*F	Ä(E=Ä7F	Ä?F#ÅG
 ÅF6ÅG
 Å)E:	Å=FÆF	ÆF ÆF#Æ#F3	Æ.G
 Æ6G	ÇG
 ÇG
 Ç
HÇH Ç5HÈ HÈHÈH)Ústrict)ÚtargetÚargs©NN)ÚlenÚAssertionErrorr   r   r"   r   r   r   r4   r5   Úis_availableÚcurrent_acceleratorÚtypeÚ	threadingÚLockÚis_grad_enabledÚis_autocast_enabledÚ	enumerateÚzipÚThreadÚstartÚjoinÚranger   r   ÚreraiseÚappend)r   r   r    r!   ÚxÚstreamsrA   r'   r(   r)   r*   r$   r+   ÚthreadsÚthreadÚoutputsr;   r<   r=   r>   r?   r@   s   &&&&             @@@@@r   r
   r
      sØ  ü€ ô$ ˆ7ƒ|”s˜6“{Ô"ÜØ$¤S¨£\ Nð 3$Ü$'¨£K =ð2ó
ð 	
ð ÒÜˆw‹<œ3˜z›?Ô*Ü Ø(¬¨W«¨ð 7,Ü,/°
«OÐ+<ð>óð ð +ô œ4¤¤S �>¨2Ó.Ð0´3°w³<Õ?ˆ
ØÒÜˆw‹<œ3˜w›<Ô'Ü Ø(¬¨W«¨ð 7)Ü),¨W«¨ð8óð ð (ð �&œ3˜w›<Õ'ˆÙ3:Ó;±7¨aÔ   DÖ)±7€GÐ;Ù<CÓD¹G°qŒu× Ñ ×/Ñ/°Ö2¹G€GÐDÜ×Ñ×)Ñ)×+Ò+ÜÐ>Ó?Ð?Ü×#Ñ#×7Ñ7Ó9×>Ñ>€KÜ�>Š>Ó€DØ€Gä×ÒÓÜ×!Ò!Ó#ð #€LÐ"÷
'ö 'ôR ˆ7ƒ|�aÔô
 ?HÜ�G Z¸'È$ÔOô?÷	
ð 
ñ?Ñ:�Ñ:�F 6°6ô ×ÒØ¨¸ÈÐ%O÷ñ?ð	 	õ 
ó ˆFØ�L‰LŽNñ ãˆFØ�K‰KŽMò ñ 	��7˜1•:˜v a�y¨*°Q­-¸À½ÀWÈQÅZÔPà€GÜ”3�v“;ÖˆØ˜•ˆÜ�fÔ.×/Ò/Ø�N‰NÔØ�‰�vÖñ	  ð
 €NùòY <ùÚDù÷j
s   ÄLÄ((L"È)+L'rF   )rL   Úcollections.abcr   Útypingr   r   r   Útorch._utilsr   Útorch.cuda._utilsr   Útorch.nn.modulesr   Ú__all__r	   r
   © r   r   Ú<module>rd      s8   ðÛ Ý $ß ã Ý )Ý /Ý #ð Ð(Ð
)€õ÷"sñ sr   