+
    ÒÜ³j  ã                   óÀ   € ^ RI t ^ RIt^ RIt^ RIt]P                  P                  R4      RJt ^ RItRt	R R ltR tR tRR	 ltR
 tR tR tR#   ]
 d    Rt	 L'i ; i)é    NÚintel_extension_for_pytorchTFc                ó$   € V ^8„  d   QhR\         /# )é   Úmodule_name)Ústr)Úformats   "ÚP/home/luca/screen-checking/.venv/lib/python3.14/site-packages/awq/utils/utils.pyÚ__annotate__r
      s   € ÷ ñ ´#ñ ó    c                 ón   € V P                  4        F   w  r#VP                  V4      '       g   K  Vu # 	  R # ©N)Únamed_modulesÚendswith)Úmodelr   ÚnameÚmodules   &&  r	   Úget_module_by_name_suffixr      s+   € Ø×+Ñ+Ö-‰ˆØ�=‰=˜×%Ô%ØŠMó .r   c                 ó*  € ^ RI HpHp RV9   d7   VR,          pV P                  \        P
                  ! V4      4      p Wn        V # \        P                  P                  P                  V 4      p\        VP                  4       4      R08X  g!   \        VP                  4       4      RR08X  d   RpM/VP                  4        Uu. uF  qDR	9  g   K  VNK  	  up^ ,          pVP                  4        UUu. uF  w  rtVR8X  g   K  Wt3NK  	  pppRp	\        V4       F-  w  p
w  rt\        W4      p\        P                   ! W¶V	R7      w  rÉK/  	  \#        V4      ^8”  d)   V	\        W^ ,          ^ ,          4      P$                  n        VP                  4        FB  w  rt\        W4      pVR8w  g   K  \        P
                  ! V4      pV! VRRR7      pV! W½4       KD  	  \        P                  P                  P)                  W4       Wn        V # u upi u uppi )
r   )Úadd_hook_to_moduleÚAlignDevicesHookÚ ÚcpuÚdiskN)Úexecution_deviceÚprev_module_hookT)Úio_same_deviceÚplace_submodules)r   r   )Úaccelerate.hooksr   r   ÚtoÚtorchÚdeviceÚhf_device_mapÚ
accelerateÚutilsÚmodelingÚfind_tied_parametersÚsetÚvaluesÚitemsÚ	enumerater   Úcpu_offload_with_hookÚlenÚ_hf_hookr   Úretie_parameters)r   Ú
device_mapr   r   ÚdÚtied_paramsÚmain_deviceÚnÚcpu_offload_groupÚ	prev_hookÚidxÚmÚ_Úhooks   &&            r	   Úsimple_dispatch_modelr:      sÖ  € ßEà	ˆZÔØ�r�NˆØ—‘œŸš a›Ó)ˆØ(ÔØˆä×"Ñ"×+Ñ+×@Ñ@ÀÓG€KÜ
ˆ:×ÑÓÓ E 7Ô*¬c°*×2CÑ2CÓ2EÓ.FØØðKô /ð ‰à",×"3Ñ"3Ô"5ÓRÑ"5˜QÀ/Ñ9Q—q�qÑ"5ÑRÐSTÕUˆà,6×,<Ñ,<Ô,>ÔMÑ,>¡D AÀ!ÀuÁ*œ˜!›Ñ,>ÐÑMØ€IÜ Ð!2Ö3‰ˆ‰VˆaÜ% eÓ/ˆÜ!×7Ò7Ø¸iô
‰ˆ‰9ñ 4ô ÐÓ Ô!ð '0ô 	"Ø QÕ'¨Õ*ó	
ç
‰(Ô#à× Ñ Ö"‰ˆÜ% eÓ/ˆØ�Ž:Ü—’˜Q“ˆAÙ# A°dÈTÔRˆDÙ˜qÖ'ñ #ô ×Ñ×Ñ×.Ñ.¨uÔBØ$Ôà€Lùò1 SùãMs   ÃH
ÃH
Ã3HÄHc                 ó¸   € R V9   dA   VP                  R ^4      ^ ,          pV\        V4      ^,           R pV P                  V4      pMRpT pTp\        WTV4       R# )Ú.Nr   )Úrsplitr,   Úget_submoduleÚsetattr)r   r   ÚvalueÚparent_nameÚ
child_nameÚparents   &&&   r	   Úset_module_namerD   A   s^   € Ø
ˆd„{Ø—k‘k # qÓ)¨!Õ,ˆØœ#˜kÓ*¨QÕ.Ð0Ð1ˆ
Ø×$Ñ$ [Ó1‰àˆØˆØˆ
äˆF Ö&r   c                 ó   € V e   ? R # R # r   © )Úweights   &r	   Úclear_memoryrH   N   s   € ØÒÚñ r   c                 óÎ   € \         P                  P                  V 4      R,          pV\         P                  P                  V 4      P                  R,          ,          ^d,          pV# )i   i   @)r    ÚcudaÚmax_memory_allocatedÚget_device_propertiesÚtotal_memory)r!   Úmemory_usedÚ
memory_pcts   &  r	   Úcompute_memory_used_pctrP   U   sV   € Ü—*‘*×1Ñ1°&Ó9¸WÕE€KàÜ�:‰:×+Ñ+¨FÓ3×@Ñ@ÀGÕLõ	Nà
õ	ð ð
 Ðr   c                  óþ   € \         P                  P                  P                  4       '       d   R # \         P                  P                  4       '       d   R# \         P
                  P                  4       '       d   R# R# )Úmpszcuda:0zxpu:0r   )r    ÚbackendsrR   Úis_availablerJ   ÚxpurF   r   r	   Úget_best_devicerV   _   sM   € Ü‡~�~×Ñ×&Ñ&×(Ò(ÙÜ	�‰×	 Ñ	 ×	"Ò	"ÙÜ	�‰×	Ñ	×	!Ò	!Ùár   c                  ó    € R p ^ p\        \        P                  P                  4       4       F  p\	        V4      pV e	   W18  g   K  Tp TpK   	  V # r   )Úranger    rJ   Údevice_countrP   )r!   Úcurr_device_memory_pctÚdevice_indexÚdevice_memory_pcts       r	   Úget_lowest_memory_device_indexr]   j   sQ   € Ø€FØÐÜœeŸj™j×5Ñ5Ó7Ö8ˆÜ3°LÓAÐØŠ>Ð.ÖGØ!ˆFØ%6Ò"ñ	 9ð €Mr   r   )ÚgcÚ	importlibr    r#   ÚutilÚ	find_specÚipex_availableÚtritonÚtlÚtriton_availableÚImportErrorr   r:   rD   rH   rP   rV   r]   rF   r   r	   Ú<module>rg      sx   ðÛ 	Û Û Û ð —‘×)Ñ)Ð*GÓHÐPTÐT€ðÛØÐõò(òV
'ôòòô	øð ô ØÒðús   ¯A Á	AÁA