+
    "Ý³j“E  ã                   ó  € ^ RI t ^ RIt^ RIt^ RI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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 ]P8                  ! ]P:                  4      P<                  ]P>                  ! R4      P<                  8¬  t ]P8                  ! ]P:                  4      P<                  ]P>                  ! R4      P<                  8¬  t!]P8                  ! ]P:                  4      P<                  ]P>                  ! R4      P<                  8¬  t"]P8                  ! ]P:                  4      P<                  ]P>                  ! R4      P<                  8¬  t#Rt$Rt%Rt&Rt'Rt(]PR                  ! R4      t*]PR                  ! R4      t+ ! R R],]4      t-]-P\                  t/Rs0]! 4       t1R R lt2 ]Pf                  Pi                  4        ]Pf                  Pj                  Pl                  ^€8  d   ^€]Pf                  Pj                  n6         ]Pp                  Ps                  4       t$ ]Pv                  Ps                  4       t% ]Px                  Ps                  4       t&R R lt= ]P|                  ! R4       ]=! 4       ;'       d    ]P~                  Ps                  4       t( ^ RI@tA^ RIBtARt' ]P†                  Pˆ                   RtER R ltGR tHR R ltIRAR R lltJR  tKR! tLRBR" R# lltMR$ R% ltN]! ^R&7      R' R( l4       tOR) R* ltPRCR+ R, lltQRCR- R. lltRRDR/ R0 lltSR1 R2 ltTR3 R4 ltUR5 R6 ltV]T! 4       tW ! R7 R84      tX ! R9 R:4      tY]X! ]W4      tZ]S! ^ R;7      t[]S! ^R;7      t\]Y! ]Z^ 4      t]^ t^R< R= lt_]R> 4       t`]R? 4       ta]R@ 4       tbR#   ]7 d     ELŽi ; i  ]: d    Rt$ ELƒi ; i  ]: d    Rt% ELxi ; i  ]: d    Rt& ELmi ; i  ]: d    Rt( EL;i ; i  ]7 d     EL>i ; i  ]F d    RtE EL5i ; i)Eé    N)Úcontextmanager)ÚEnum)Ú	lru_cache)ÚCallableÚListÚOptionalÚUnion)Úversion©ÚStreamContext)Úsetup_logger)ÚGC)Úgte_python_3_13_3Úgte_python_3_14Úhas_gil_disabledÚlog_gil_requirements_forz2.6z2.8z2.10FÚcpuÚmetac                   ó   € ] tR t^(tRtRtRtR# )ÚBalanceStrategyÚgpu© N)Úmemory)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__ÚMEMORYÚGPUÚ__static_attributes__r   ó    ÚV/home/luca/screen-checking/.venv/lib/python3.14/site-packages/gptqmodel/utils/torch.pyr   r   (   s   † Ø€FØ
„Cr!   r   c                ó$   € V ^8„  d   QhR\         /# ©é   Úreturn©Úint)Úformats   "r"   Ú__annotate__r*   4   s   € ÷ 	ñ 	œ#ñ 	r!   c                 óÌ   € \         P                  ! 4       p \        P                  ! 4       p\         P                  ! 4       V ,
          p\        P                  RV RVR R24       V# )zNRun ``gc.collect`` and log the elapsed time along with reclaimed object count.zgc.collect() reclaimed z objects in z.3fÚs)ÚtimeÚperf_counterr   ÚcollectÚlogÚinfo)ÚstartÚ	collectedÚdurations      r"   Útimed_gc_collectr5   4   sT   € ä×ÒÓ€Eô —
’
“€Iä× Ò Ó" UÕ*€HÜ‡H�HÐ& y k°¸hÀs¸^È1ÐMÔNØÐr!   c                ó$   € V ^8„  d   QhR\         /# r$   ©Úbool)r)   s   "r"   r*   r*   Y   s   € ÷ ñ ¤4ñ r!   c                  ój   € \         ;QJ d    R  R 4       F  '       g   K   R# 	  R# ! R  R 4       4      # )c              3   ó`   "  € T F$  p\         P                  P                  V4      x € K&  	  R # 5i©N)ÚosÚenvironÚget)Ú.0Únames   & r"   Ú	<genexpr>Ú,_ascend_runtime_env_ready.<locals>.<genexpr>^   s'   é € ð áRˆDô 	�
‰
�‰�t×ÐÛRùs   ‚,.TF)ÚASCEND_HOME_PATHÚASCEND_TOOLKIT_HOMEÚASCEND_OPP_PATH)Úanyr   r!   r"   Ú_ascend_runtime_env_readyrG   Y   s?   € ÷
 ‹3ñ áRó�3Œ3ð Š3ð ˆ3ñ áRóó ð r!   Ú	torch_npuTc                ó(   € V ^8„  d   QhR\         RR/# )r%   Úenabledr&   Nr7   )r)   s   "r"   r*   r*   z   s   € ÷ .ñ .œTð . dñ .r!   c                 ó(  € \         '       d¾   V '       d   R MRpV\        P                  n        V\        P                  P                  P
                  n        V\        P                  P                  n        V\        P                  P                  P                  n        V\        P                  P                  P                  n        R# V \        P                  P                  P
                  n	        V \        P                  P                  n	        R# )Útf32ÚieeeN©
ÚBACKENDS_HAS_FP32_PRECISIONÚtorchÚbackendsÚfp32_precisionÚcudaÚmatmulÚcudnnÚconvÚrnnÚ
allow_tf32)rJ   Úmodes   & r"   Ú_set_tf32_staterZ   z   s¤   € ß"Ó"ß ‰v fˆØ(,Œ�‰Ô%Ø48Œ�‰×Ñ×"Ñ"Ô1Ø.2Œ�‰×ÑÔ+Ø37Œ�‰×Ñ×!Ñ!Ô0Ø26Œ�‰×Ñ× Ñ Ô/Ùà,3„E‡N�N×Ñ×ÑÔ)Ø&-„E‡N�N×ÑÖ#r!   c                  óH  € \         '       dÆ   \        P                  P                  \        P                  P                  P
                  P                  \        P                  P                  P                  \        P                  P                  P                  P                  \        P                  P                  P                  P                  3# \        P                  P                  P
                  P                  \        P                  P                  P                  3# r;   rN   r   r!   r"   Ú_snapshot_tf32_stater\   ˆ   sµ   € ß"Ó"ä�N‰N×)Ñ)Ü�N‰N×Ñ×&Ñ&×5Ñ5Ü�N‰N× Ñ ×/Ñ/Ü�N‰N× Ñ ×%Ñ%×4Ñ4Ü�N‰N× Ñ ×$Ñ$×3Ñ3ð
ð 	
ô 	�‰×Ñ×"Ñ"×-Ñ-Ü�‰×Ñ×'Ñ'ðð r!   c                ó   € V ^8„  d   QhRR/# )r%   r&   Nr   )r)   s   "r"   r*   r*   ˜   s   € ÷ 
/ñ 
/ $ñ 
/r!   c                 ór  € \         '       dÕ   V ^ ,          \        P                  n        V ^,          \        P                  P                  P
                  n        V ^,          \        P                  P                  n        V ^,          \        P                  P                  P                  n        V ^,          \        P                  P                  P                  n        R# V ^ ,          \        P                  P                  P
                  n	        V ^,          \        P                  P                  n	        R# )r   NrN   )Ústates   &r"   Ú_restore_tf32_stater`   ˜   s·   € ß"Ó"Ø(-¨a­Œ�‰Ô%Ø49¸!µHŒ�‰×Ñ×"Ñ"Ô1Ø.3°A­hŒ�‰×ÑÔ+Ø38¸µ8Œ�‰×Ñ×!Ñ!Ô0Ø27¸µ(Œ�‰×Ñ× Ñ Ô/Ùà,1°!­H„E‡N�N×Ñ×ÑÔ)Ø&+¨A¥h„E‡N�N×ÑÖ#r!   c                ó†   € V ^8„  d   QhR\         \        P                  P                  \        3,          R\
        R\
        /# )r%   ÚmoduleÚbackendrY   )r	   rP   ÚnnÚModuler   Ústr)r)   s   "r"   r*   r*   ¥   s4   € ÷ ñ œ%¤§¡§¡´Ð 9Õ:ð ÄCð Ô[^ñ r!   c                 ój  € \        4       '       d   \        4       '       g   \        R 4       V # \        4       '       d   \        '       g   \        R 4       V # \
        '       g   V # \        '       dm   \        '       ga   \        P                  P                  P                  '       g5   \        P                  R4       R\        P                  P                  n        V #  \        P                  ! WW#R7      #   \         d2   p\        P                  P!                  RT  RT 24       T u Rp?# Rp?ii ; i)zTorch Compilez†To use compile() with MPS, you need to have torch version >= 2.8.0, please upgrade it by `pip install -U torch torchaudio torchvision`T)rc   rY   Ú	fullgraphzFailed to compile `z`, N)r   r   r   r   ÚTORCH_GTE_210ÚTORCH_HAS_COMPILEÚHAS_MPSÚTORCH_GTE_28rP   Ú_dynamoÚconfigÚsuppress_errorsr0   ÚwarnÚcompileÚBaseExceptionÚonce)rb   rc   rY   rh   Úes   &&&& r"   Útorch_compileru   ¥   sØ   € ä×ÒÔ"3×"5Ò"5Ü  Ô1Øˆä×Ò§£Ü  Ô1ØˆçÓØˆßƒw—|“|Ü�}‰}×#Ñ#×3×3Ð3Ü�H‰Hð Zô [à37ŒE�M‰M× Ñ Ô0ØˆðÜ�}Š}˜V¸4ÔUÐUøÜô Ü�‰�‰Ð+¨F¨8°3°q°cÐ:Ô;Ø�ûðús   ÃC6 Ã6D2Ä&D-Ä'D2Ä-D2c                  óB  € \         e   \         # \        '       d%   \        P                  P	                  4       s \         # \
        '       d%   \        P                  P	                  4       s \         # \        '       d%   \        P                  P	                  4       s \         # R # r;   )	ÚSTREAMÚHAS_CUDArP   rS   ÚStreamÚHAS_XPUÚxpuÚHAS_NPUÚnpur   r!   r"   Útorch_new_streamr~   ½   sd   € äÒÜˆçƒxÜ—‘×"Ñ"Ó$ˆÜˆßƒwÜ—‘×!Ñ!Ó#ˆÜˆßƒwÜ—‘×!Ñ!Ó#ˆÜˆÙr!   c                  ó^  € \         '       d(   \        P                  P                  \	        4       4      # \
        '       d(   \        P                  P                  \	        4       4      # \        '       d(   \        P                  P                  \	        4       4      # \        P                  ! 4       # r;   )rx   rP   rS   Ústreamr~   rz   r{   r|   r}   Ú
contextlibÚnullcontextr   r!   r"   Útorch_new_stream_ctxrƒ   Í   sk   € ßƒxÜ�z‰z× Ñ Ô!1Ó!3Ó4Ð4ßƒwÜ�y‰y×ÑÔ 0Ó 2Ó3Ð3ßƒwÜ�y‰y×ÑÔ 0Ó 2Ó3Ð3Ü×!Ò!Ó#Ð#r!   c                ó8   € V ^8„  d   QhR\         P                  /# )r%   Údevice)rP   r…   )r)   s   "r"   r*   r*   Ö   s   € ÷ 1 ñ 1 ”u—|‘|ñ 1 r!   c                ó  € V Ef†   Rp\         '       dZ   \        P                  P                  4       pV'       d4   Rp\	        V4       F"  p\        P                  P                  V4       K$  	  \        '       dZ   \        P                  P                  4       pV'       d4   Rp\	        V4       F"  p\        P                  P                  V4       K$  	  \        '       d!   Rp\        P                  P                  4        \        '       dZ   \        P                  P                  4       pV'       d4   Rp\	        V4       F"  p\        P                  P                  V4       K$  	  V'       g   \        P                  P                  4        R# V P                  R8X  d#   \        P                  P                  V R7       R# V P                  R8X  d#   \        P                  P                  V R7       R# V P                  R8X  d!   \        P                  P                  4        R# V P                  R8X  d#   \        P                  P                  V R7       R# V P                  R	8X  d!   \        P                  P                  4        R# R# )
zÄSynchronize accelerator queues.

When no device is provided we synchronize every detected accelerator index so
replication work staged on multiple GPUs/NPUs completes before issuing more
kernels.
NFTrS   ©r…   r{   Úmpsr}   r   )rx   rP   rS   Údevice_countÚrangeÚsynchronizerz   r{   rk   rˆ   r|   r}   r   Útype)r…   Úsynchronized_anyÚ	dev_countÚidxs   &   r"   Ú
torch_syncr�   Ö   s©  € ð ƒ~Ø Ðç‹8ÜŸ
™
×/Ñ/Ó1ˆIßØ#'Ð Ü  Ö+�CÜ—J‘J×*Ñ*¨3Ö/ñ ,÷ ‹7ÜŸ	™	×.Ñ.Ó0ˆIßØ#'Ð Ü  Ö+�CÜ—I‘I×)Ñ)¨#Ö.ñ ,÷ ‹7Ø#ÐÜ�I‰I×!Ñ!Ô#ç‹7ÜŸ	™	×.Ñ.Ó0ˆIßØ#'Ð Ü  Ö+�CÜ—I‘I×)Ñ)¨#Ö.ñ ,÷  Ü�I‰I×!Ñ!Ô#Ùà‡{�{�fÔÜ�
‰
×Ñ fÐÖ-Ø	�‰˜Ô	Ü�	‰	×Ñ VÐÖ,Ø	�‰˜Ô	Ü�	‰	×ÑÖØ	�‰˜Ô	Ü�	‰	×Ñ VÐÖ,Ø	�‰˜Ô	Ü�	‰	×ÑÖñ 
r!   c                óœ   € V ^8„  d   QhR\         \        P                  \        \        R3,          R\
        \        P                  ,          /# )r%   r…   Nr&   )r	   rP   r…   rf   r(   r   )r)   s   "r"   r*   r*   	  s9   € ÷ Jñ Jœe¤E§L¡L´#´s¸DÐ$@ÕAð JÄhÌuÏ|É|ÕF\ñ Jr!   c                 óÆ  € V f   R # \        V \        P                  4      '       d   V # \        V \        4      '       d   \        P                  ! V 4      # \        V \        4      '       dâ   \
        '       d;   \        P                  P                  4       V 8”  d   \        P                  ! RV 4      # \        '       d;   \        P                  P                  4       V 8”  d   \        P                  ! RV 4      # \        '       d;   \        P                  P                  4       V 8”  d   \        P                  ! RV 4      # \        RV  R24      h\        R\        V 4       24      h)NrS   r{   r}   zUnable to map integer `z ` to a known accelerator device.z#Unsupported device specifier type: )Ú
isinstancerP   r…   rf   r(   rx   rS   r‰   rz   r{   r|   r}   Ú
ValueErrorÚ	TypeErrorrŒ   r‡   s   &r"   Ú_normalize_devicer–   	  sô   € Ø‚~ÙÜ�&œ%Ÿ,™,×'Ò'ØˆÜ�&œ#×ÒÜ�|Š|˜FÓ#Ð#Ü�&œ#×Òß‹8œŸ
™
×/Ñ/Ó1°FÔ:Ü—<’< ¨Ó/Ð/ß‹7”u—y‘y×-Ñ-Ó/°&Ô8Ü—<’<  vÓ.Ð.ß‹7”u—y‘y×-Ñ-Ó/°&Ô8Ü—<’<  vÓ.Ð.ÜÐ2°6°(Ð:ZÐ[Ó\Ð\Ü
Ð9¼$¸v»,¸ÐHÓ
IÐIr!   )Úmaxsizec                óX   € V ^8„  d   QhR\         R\        \        . R3,          ,          /# )r%   Údevice_typer&   N)rf   r   r   )r)   s   "r"   r*   r*     s(   € ÷ ñ ¬cð ´h¼xÈÈDÈÕ?QÕ6Rñ r!   c                 óÊ  €  V R 8X  d(   \         '       d   \        P                  P                  pM�V R8X  d(   \        '       d   \        P
                  P                  pM_V R8X  d(   \        '       d   \        P                  P                  pM1V R8X  d(   \        '       d   \        P                  P                  pMRp \        V4      '       d   V# R#   \         d    Rp L$i ; i)rS   r{   rˆ   r}   N)rx   rP   rS   Úempty_cacherz   r{   rk   rˆ   r|   r}   Ú	ExceptionÚcallable)r™   Ú	candidates   & r"   Úresolve_empty_cache_callablerŸ     s¤   € ðØ˜&Ô §X£XÜŸ
™
×.Ñ.‰IØ˜EÔ!§g£gÜŸ	™	×-Ñ-‰IØ˜EÔ!§g£gÜŸ	™	×-Ñ-‰IØ˜EÔ!§g£gÜŸ	™	×-Ñ-‰Ià‰Iô �	×ÒØÐáøô ô ØŠ	ðús?   ‚C •C °C ÁC ÁC Á1C ÂC ÂC Â:C ÃC"Ã!C"c                óD   € V ^8„  d   QhR\         P                  R\        /# )r%   r…   r&   ©rP   r…   r8   )r)   s   "r"   r*   r*   1  s   € ÷ (ñ (¤5§<¡<ð (´Dñ (r!   c                 ó¨  € V P                   R 8X  dq   \        R 4      pVf   R# V P                  e   T M\        P                  ! R 4      p\        P
                  P	                  V4      ;_uu_ 4        V! 4        RRR4       R# V P                   R8X  dq   \        R4      pVf   R# V P                  e   T M\        P                  ! R4      p\        P                  P	                  V4      ;_uu_ 4        V! 4        RRR4       R# V P                   R8X  dE   \        R4      pVf   R# V! 4        \        '       d   \        P                  P                  4        R# V P                   R8X  dq   \        R4      pVf   R# V P                  e   T M\        P                  ! R4      p\        P                  P	                  V4      ;_uu_ 4        V! 4        RRR4       R# V P                   R8X  d-   \        '       d!   \        P                  P                  4        R# R#   + '       g   i     R# ; i  + '       g   i     R# ; i  + '       g   i     R# ; i)rS   NFTr{   rˆ   r}   r   )rŒ   rŸ   ÚindexrP   r…   rS   r{   ÚHAS_MLXÚmlxÚcoreÚclear_cacher}   )r…   ÚfnÚtargets   &  r"   Úempty_cache_for_devicerª   1  s“  € Ø‡{�{�fÔÜ)¨&Ó1ˆØŠ:ÙØ!Ÿ<™<Ò3‘¼¿ºÀfÓ9MˆÜ�Z‰Z×Ñ˜v×&Õ&ÙŒD÷ 'áà‡{�{�eÔÜ)¨%Ó0ˆØŠ:ÙØ!Ÿ<™<Ò3‘¼¿ºÀeÓ9LˆÜ�Y‰Y×Ñ˜f×%Õ%ÙŒD÷ &áà‡{�{�eÔÜ)¨%Ó0ˆØŠ:ÙÙ
Œß‹7Ü�H‰H× Ñ Ô"Ùà‡{�{�eÔÜ)¨%Ó0ˆØŠ:ÙØ!Ÿ<™<Ò3‘¼¿ºÀeÓ9LˆÜ�Y‰Y×Ñ˜f×%Õ%ÙŒD÷ &áà‡{�{�eÔ§£Ü�‰×ÑÔÙÙ÷E 'Ö&áú÷ &Ö%áú÷  &Ö%áús$   Á0HÃ1H,ÇI ÈH)	È,H=	É I	c                óŠ   € V ^8„  d   QhR\         \        P                  \        \        R3,          R\
        R\
        R\
        /# )r%   r…   NÚgcÚsyncr&   )r	   rP   r…   rf   r(   r8   )r)   s   "r"   r*   r*   \  sB   € ÷ ).ñ ).Ü”%—,‘,¤¤S¨$Ð.Õ/ð).äð).ô ð).ô 
ñ	).r!   c                 ó  € \        V 4      pV'       d   \        4        V'       d   \        VR 7       RpVf¿   \        '       d   \	        R4      pVe
   V! 4        Rp\
        '       d   \	        R4      pVe
   V! 4        Rp\        '       d   \	        R4      pVe
   V! 4        Rp\        '       d   \	        R4      pVe
   V! 4        Rp\        '       d!   \        P                  P                  4        RpV# \        V4      # )r‡   FrS   Tr{   rˆ   r}   )r–   r5   r�   rx   rŸ   rz   rk   r|   r¤   r¥   r¦   r§   rª   )r…   r¬   r­   Ú
normalizedÚsuccessr¨   s   &&&   r"   Útorch_empty_cache_anyr±   \  sÏ   € ô
 # 6Ó*€Jç	ÜÔçÜ˜*Õ%à€GàÒß‹8Ü-¨fÓ5ˆBØŠ~Ù”Ø�ß‹7Ü-¨eÓ4ˆBØŠ~Ù”Ø�ß‹7Ü-¨eÓ4ˆBØŠ~Ù”Ø�ß‹7Ü-¨eÓ4ˆBØŠ~Ù”Ø�ß‹7Ü�H‰H× Ñ Ô"ØˆGØˆä! *Ó-Ð-r!   c                ó\   € V ^8„  d   QhR\         P                  R\        R\        R\        /# )r%   r…   r¬   r­   r&   r¡   )r)   s   "r"   r*   r*   ˆ  s3   € ÷ Bñ BœeŸl™lð B´tð BÌ$ð BÔ[_ñ Br!   c                 ó   € \        WVR 7      # )©r…   r¬   r­   )r±   r´   s   &&&r"   Útorch_empty_cacherµ   ˆ  s   € Ü ¨¸DÔAÐAr!   c                ó$   € V ^8„  d   QhR\         /# ©r%   r£   r'   )r)   s   "r"   r*   r*   ‹  s   € ÷ ñ ¤Cñ r!   c                 óp  € V ^ 8¼  g   Q RV  R24       h\         '       dH   V ^ 8”  d&   \        P                  P                  4       V 8:  d   ^ p \        P                  ! RV  24      pV# \
        '       dH   V ^ 8”  d&   \        P                  P                  4       V 8:  d   ^ p \        P                  ! RV  24      pV# \        '       dH   V ^ 8”  d&   \        P                  P                  4       V 8:  d   ^ p \        P                  ! RV  24      pV# \        '       d   \        P                  ! R4      pV# \        pV# )r   z5device index should be a positive integer: actual = `Ú`úcuda:úxpu:únpu:rˆ   )rx   rP   rS   r‰   r…   rz   r{   r|   r}   rk   ÚCPU)r£   r…   s   & r"   Úauto_select_torch_devicer¾   ‹  s
  € Ø�AŒ:ÐWÐNÈuÈgÐUVÐWÓWˆ:çƒxà�1Œ9œŸ™×0Ñ0Ó2°eÔ;ØˆEÜ—’  e W˜oÓ.ˆð  €M÷ 
‹à�1Œ9œŸ™×/Ñ/Ó1°UÔ:ØˆEÜ—’  U G˜nÓ-ˆð €M÷ 
‹à�1Œ9œŸ™×/Ñ/Ó1°UÔ:ØˆEÜ—’  U G˜nÓ-ˆð €M÷ 
‹Ü—’˜eÓ$ˆð €Mô ˆà€Mr!   c                óN   € V ^8„  d   QhR\         \        P                  ,          /# r$   ©r   rP   r…   )r)   s   "r"   r*   r*   ¥  s   € ÷ 
ñ 
”tœEŸL™LÕ)ñ 
r!   c                  ó�  € \         '       dO   \        \        P                  P	                  4       4       U u. uF  p \        P
                  ! R V  24      NK  	  up # \        '       dO   \        \        P                  P	                  4       4       U u. uF  p \        P
                  ! RV  24      NK  	  up # \        '       dO   \        \        P                  P	                  4       4       U u. uF  p \        P
                  ! RV  24      NK  	  up # \        '       d   \        P
                  ! R4      .# \        .# u up i u up i u up i )rº   r»   r¼   rˆ   )rx   rŠ   rP   rS   r‰   r…   rz   r{   r|   r}   rk   r½   )Úis    r"   Útorch_devicesrÃ   ¥  sã   € ßƒxÜ38¼¿¹×9PÑ9PÓ9RÔ3SÓTÑ3S¨a”—’˜u Q C˜[Ö)Ñ3SÑTÐTß	‹Ü27¼¿	¹	×8NÑ8NÓ8PÔ2QÓRÑ2Q¨Q”—’˜t A 3˜ZÖ(Ñ2QÑRÐRß	‹Ü27¼¿	¹	×8NÑ8NÓ8PÔ2QÓRÑ2Q¨Q”—’˜t A 3˜ZÖ(Ñ2QÑRÐRß	‹Ü—’˜UÓ#Ð$Ð$äˆuˆùò UùâRùâRs   ¶"D9Â"D>Ã*"Ec                óN   € V ^8„  d   QhR\         \        P                  ,          /# r$   rÀ   )r)   s   "r"   r*   r*   ²  s   € ÷ ñ ¤d¬5¯<©<Õ&8ñ r!   c                 óV  € \         '       g   . #  \        \        P                  P	                  4       4      p T ^ 8:  d   . # . p\        T 4       F*  p TP                  \        P                  ! RT4      4       K,  	  T#   \
         d    . u # i ; i  \        \        3 d    . u u # i ; i)a  Return visible NPU devices in torch runtime order.

Ascend exposes process-level NPU visibility through ASCEND_RT_VISIBLE_DEVICES.
torch-npu remaps that visible set to logical indices, so callers should set
the env var before process start and then use the resulting torch order.
r}   )r|   r(   rP   r}   r‰   rœ   rŠ   Úappendr…   ÚRuntimeErrorr”   )ÚcountÚdevicesÚlogical_indexs      r"   Únpu_devices_by_pci_bus_orderrË   ²  sž   € ÷ ‹7Øˆ	ðÜ”E—I‘I×*Ñ*Ó,Ó-ˆð �„zØˆ	à"$€GÜ˜užˆð	Ø�N‰Nœ5Ÿ<š<¨¨}Ó=Ö>ñ &ð
 €Nøô ô ØŠ	ðûô œjÐ)ô 	ØŒIð	ús#   �'A= Á&BÁ=BÂBÂB(Â'B(c                óN   € V ^8„  d   QhR\         \        P                  ,          /# r$   )r   rP   r…   )r)   s   "r"   r*   r*   Í  s   € ÷ ñ ¬(´5·<±<Õ*@ñ r!   c                 ó<   € \        4       p V '       g   R# V R,          # )zMReturn the last visible NPU in torch runtime order, or None when unavailable.Néÿÿÿÿ)rË   )rÉ   s    r"   Ú last_npu_device_by_pci_bus_orderrÏ   Í  s   € ô +Ó,€GßÙØ�2�;Ðr!   c                   óT   a € ] tR tRt o RtV 3R lR ltR tR tV 3R lR ltR	t	V t
R
# )Ú_LazyAcceleratorStreamsiØ  zBCreate accelerator streams only when a caller actually needs them.c                óD   <€ V ^8„  d   QhRS[ S[P                  ,          /# )r%   rÉ   rÀ   )r)   Ú__classdict__s   "€r"   r*   Ú$_LazyAcceleratorStreams.__annotate__Û  s    ø€ ÷ Fñ F¡¡U§\¡\Õ 2ñ Fr!   c                óB   € Wn         R .\        V4      ,          V n        R # r;   )Ú_devicesÚlenÚ_streams)ÚselfrÉ   s   &&r"   Ú__init__Ú _LazyAcceleratorStreams.__init__Û  s   € ØŒØ15°¼¸W»Õ0EˆŽr!   c                ó@   € \        ^\        V P                  4      4      # )é   )Úmaxr×   rÖ   ©rÙ   s   &r"   Ú__len__Ú_LazyAcceleratorStreams.__len__ß  s   € Ü�1”c˜$Ÿ-™-Ó(Ó)Ð)r!   c              #  óX   "  € \        \        V 4      4       F  pW,          x € K  	  R # 5ir;   )rŠ   r×   )rÙ   r£   s   & r"   Ú__iter__Ú _LazyAcceleratorStreams.__iter__â  s    é € Üœ3˜t›9Ö%ˆEØ•+Ôó &ùs   ‚(*c                ó    <€ V ^8„  d   QhRS[ /# r·   r'   )r)   rÓ   s   "€r"   r*   rÔ   æ  s   ø€ ÷ ñ ¡ñ r!   c                óB  € V P                   '       g(   V^ 8X  d   \        P                  ! 4       # \        V4      hV P                  V,          pVe   V# V P                   V,          pVP
                  R8X  d"   \        P                  P                  VR7      pMyVP
                  R8X  d"   \        P                  P                  VR7      pMGVP
                  R8X  d"   \        P                  P                  VR7      pM\        P                  ! 4       pW P                  V&   V# )r   rS   r‡   r{   r}   )rÖ   r�   r‚   Ú
IndexErrorrØ   rŒ   rP   rS   ry   r{   r}   )rÙ   r£   r€   r…   s   &&  r"   Ú__getitem__Ú#_LazyAcceleratorStreams.__getitem__æ  sÛ   € Ø�}�}ˆ}Ø˜ŒzÜ!×-Ò-Ó/Ð/Ü˜UÓ#Ð#à—‘˜uÕ%ˆØÒØˆMà—‘˜uÕ%ˆØ�;‰;˜&Ô Ü—Z‘Z×&Ñ&¨fÐ&Ó5‰FØ�[‰[˜EÔ!Ü—Y‘Y×%Ñ%¨VÐ%Ó4‰FØ�[‰[˜EÔ!Ü—Y‘Y×%Ñ%¨VÐ%Ó4‰Fä×+Ò+Ó-ˆFØ%�‰�eÑØˆr!   )rÖ   rØ   N)r   r   r   r   Ú__doc__rÚ   rà   rã   rè   r    Ú__classdictcell__©rÓ   s   @r"   rÑ   rÑ   Ø  s(   ø‡ € ÙL÷Fð Fò*ò÷ö r!   rÑ   c                   ó<   a € ] tR tRt o RtV 3R lR ltR tRtV tR# )Ú_LazyAcceleratorStreamRefiý  zBReference one lazy stream without materializing it at import time.c                ó&   <€ V ^8„  d   QhRS[ RS[/# )r%   Ústreamsr£   )rÑ   r(   )r)   rÓ   s   "€r"   r*   Ú&_LazyAcceleratorStreamRef.__annotate__   s   ø€ ÷ ñ Ñ 7ð Áñ r!   c                ó   € Wn         W n        R # r;   ©rØ   Ú_index)rÙ   rð   r£   s   &&&r"   rÚ   Ú"_LazyAcceleratorStreamRef.__init__   s   € ØŒØŽr!   c                ó<   € V P                   V P                  ,          # r;   ró   rß   s   &r"   r>   Ú_LazyAcceleratorStreamRef.get  s   € Ø�}‰}˜TŸ[™[Õ)Ð)r!   )rô   rØ   N)	r   r   r   r   rê   rÚ   r>   r    rë   rì   s   @r"   rî   rî   ý  s   ø‡ € ÙL÷ð ÷*ð *r!   rî   )r£   c                ó$   € V ^8„  d   QhR\         /# r$   r   )r)   s   "r"   r*   r*   '  s   € ÷ 	$ñ 	$œ}ñ 	$r!   c                 óz  € \        V \        4      '       d   V P                  4       p \        '       d    \        P
                  P                  V 4      # \        '       d    \        P                  P                  V 4      # \        '       d    \        P                  P                  V 4      # \        P                  ! 4       # r;   )r“   rî   r>   rx   rP   rS   r€   rz   r{   r|   r}   r�   r‚   )r€   s   &r"   Útorch_streamCtxrú   '  sx   € Ü�&Ô3×4Ò4Ø—‘“ˆßƒxÜ�z‰z× Ñ  Ó(Ð(ßƒwÜ�y‰y×Ñ Ó'Ð'ßƒwÜ�y‰y×Ñ Ó'Ð'Ü×!Ò!Ó#Ð#r!   c               #   óœ   "  € \         '       g   R x € R # \        4       p \        R4        R x € \        V 4       R #   \        T 4       i ; i5i©NF©rx   r\   rZ   r`   ©Úprevious_states    r"   Útf32_high_precision_guardr   3  ó9   é € ç‹8ÛÙä)Ó+€NÜ�EÔð,Ûä˜NÖ+øÔ˜NÕ+üó   ‚(A«< ¯A¼A	Á	Ac               #   óœ   "  € \         '       g   R x € R # \        4       p \        R4        R x € \        V 4       R #   \        T 4       i ; i5irü   rý   rþ   s    r"   Útf32_disable_guardr  A  r  r  c               #   óœ   "  € \         '       g   R x € R # \        4       p \        R4        R x € \        V 4       R #   \        T 4       i ; i5i)NTrý   rþ   s    r"   Útf32_enable_guardr  O  s9   é € ç‹8ÛÙä)Ó+€NÜ�DÔð,Ûä˜NÖ+øÔ˜NÕ+ür  )ÚinductorNFr;   )NTF)r   )cr�   Ú	importlibr<   r-   r   Úenumr   Ú	functoolsr   Útypingr   r   r   r	   rP   Ú	packagingr
   Ú	torch.cpur   Úutils.loggerr   Ú
utils.safer   Ú r   r   r   r   ÚparseÚ__version__ÚreleaseÚVersionrj   rl   ri   ÚTORCH_HAS_FUSED_OPSrx   rz   rk   r¤   r|   r…   r½   ÚMETArf   r   r   ÚDEFAULT_BALANCE_STRATEGYrw   r0   r5   rm   Úresetrn   Úcache_size_limitrr   rS   Úis_availablerœ   r{   rˆ   rG   Úimport_moduler}   Úmlx.corer¥   Úmlx.core.metalrQ   rR   rO   ÚAttributeErrorrZ   r\   r`   ru   r~   rƒ   r�   r–   rŸ   rª   r±   rµ   r¾   rÃ   rË   rÏ   ÚALL_DEVICESrÑ   rî   ÚALL_STREAMSÚDEVICE_0ÚDEVICE_1ÚDEVICE_0_STREAMÚNEXT_DEVICE_INDEXrú   r   r  r  r   r!   r"   Ú<module>r%     sÆ  ðó Û Û 	Û Ý %Ý Ý ß 2Ó 2ã Ý Ý #å 'Ý ß \Ó \ð —M’M %×"3Ñ"3Ó4×<Ñ<ÀÇÂÐPUÓ@V×@^Ñ@^Ñ^Ð Ø�}Š}˜U×.Ñ.Ó/×7Ñ7¸7¿?º?È5Ó;Q×;YÑ;YÑY€Ø—’˜e×/Ñ/Ó0×8Ñ8¸G¿OºOÈFÓ<S×<[Ñ<[Ñ[€à—m’m E×$5Ñ$5Ó6×>Ñ>À'Ç/Â/ÐRWÓBX×B`ÑB`Ñ`Ð à€Ø
€Ø
€Ø
€Ø
€à‡l‚l�5Ó€Ø‡|‚|�FÓ€ô�c˜4ô ð +×.Ñ.Ð ð 
€áƒn€õ	ð	Ø	‡M�M×ÑÔà‡}�}×Ñ×,Ñ,¨sÔ2Ø03ˆ�‰×ÑÔ-ð
Ø�z‰z×&Ñ&Ó(€HðØ�i‰i×$Ñ$Ó&€GðØ�i‰i×$Ñ$Ó&€Gõ
ðØ×Ò˜KÔ(Ù'Ó)×FÐF¨e¯i©i×.DÑ.DÓ.F€Gð	ÛÛØ€Gð(Ø	‡N�N×!Ò!Ø"&Ðõ
.òõ 
/÷ò0ò $÷1 õfJñ$ �2Ôôó ðõ*(÷V).÷XB÷õ4
õõ6ñ ‹o€÷"ñ "÷J*ñ *ñ & kÓ2€á#¨!Ô,€á#¨!Ô,€á+¨K¸Ó;€àÐ õ.	$ð ñ
,ó ð
,ð ñ
,ó ð
,ð ñ
,ó ò
,øðW ô 	âð	ûð ô ØƒHðûð
 ô ØƒGðûð
 ô ØƒGðûð$ ô ØƒGðûð ô 	Úð	ûð ô (Ø"'Óð(ús…   Æ9AN ÈN% È/N5 É
O É+O ÊO Ê'
O% Ê2O3 ÎN"Î!N"Î%	N2Î1N2Î5	OÏOÏ	OÏOÏ	O"Ï!O"Ï%O0Ï/O0Ï3	P Ï?P 