+
    "Ý³j;  ã                   óž   € ^ RI t ^ RIHt ^RIHt ^RIHtHtHt ]! 4       t	Rt
R R lt ! R R]P                  4      t ! R	 R
]4      tR.tR# )é    N)Úsetup_logger)ÚBaseQuantizeConfigÚ_normalize_quant_bitsÚresolve_quant_formatÚ
hf_optimumc                ó$   € V ^8„  d   QhR\         /# )é   Úrequires_groupwise_processing©Úbool)Úformats   "Úa/home/luca/screen-checking/.venv/lib/python3.14/site-packages/gptqmodel/quantization/quantizer.pyÚ__annotate__r      s   € ÷ "ñ "Ä$ñ "ó    c                 ó°  € V^ 8  dF   W^,          8„  P                  4       V,          W^,          8  P                  4       V,          ,           # V'       d<   \        P                  ! \        P                  ! W,          4      V) V4      pW,          # \        P                  ! \        P                  ! W,          4      V,           ^ V4      pWV,
          ,          # )r   )ÚfloatÚtorchÚclampÚround)ÚxÚscaleÚzeroÚmaxqr
   Úqs   &&&&& r   Úquantizer      s•   € Øˆa„xØ˜A•I‘×$Ñ$Ó&¨Õ.°!¸Qµh±,×1EÑ1EÓ1GÈ$Õ1NÕNÐNß$Ü�KŠKœŸš A¥IÓ.°°°tÓ<ˆØ�yÐä�KŠKœŸš A¥IÓ.°Õ5°q¸$Ó?ˆØ˜D�Õ!Ð!r   c                   ó¨   a a€ ] tR t^t oRV3R lV 3R llltV3R lR ltV3R lR lt]V3R lR l4       tRV3R	 lR
 llt	RR lt
R tRtVtV ;t# )Ú	Quantizerc                ó&   <€ V ^8„  d   QhRS[ RS[/# )r	   ÚqcfgÚname)r   Ústr)r   Ú__classdict__s   "€r   r   ÚQuantizer.__annotate__   s   ø€ ÷ ñ Ñ/ð Áñ r   c                ó(  <€ \         \        V `  4        Wn        V P	                  R \
        P                  ! ^ 4      4       V P	                  R\
        P                  ! V4      4       V P	                  R\
        P                  ! V4      4       W0n        R# )r   r   r   N)	Úsuperr   Ú__init__r   Úregister_bufferr   ÚtensorÚzerosr    )Úselfr   Úshaper    Ú	__class__s   &&&&€r   r&   ÚQuantizer.__init__   sd   ø€ ÜŒi˜Ñ'Ô)àŒ	Ø×Ñ˜V¤U§\¢\°!£_Ô5Ø×Ñ˜W¤e§k¢k°%Ó&8Ô9Ø×Ñ˜V¤U§[¢[°Ó%7Ô8àŽ	r   c                ó    <€ V ^8„  d   QhRS[ /# ©r	   Úreturnr   )r   r"   s   "€r   r   r#   )   s   ø€ ÷ ñ ©tñ r   c                ó   € R # ©F© ©r*   s   &r   r
   Ú'Quantizer.requires_groupwise_processing)   s   € Ùr   c                ó    <€ V ^8„  d   QhRS[ /# r/   r   )r   r"   s   "€r   r   r#   ,   s   ø€ ÷ 
ñ 
©dñ 
r   c                óÎ   € \        V P                  P                  4       4      ^8H  ;'       d9    V P                  P                  '       * ;'       d    V P                  4       '       * # )zIReturn whether range search should optimize the 2-bit affine orientation.)Úintr   Úitemr   Úsymr
   r4   s   &r   Ú_search_adjacent_zero_pointsÚ&Quantizer._search_adjacent_zero_points,   sR   € ô �—	‘	—‘Ó Ó! QÑ&÷ 9ð 9Ø—I‘I—M‘MÔ!÷9ð 9à×6Ñ6Ó8Ô8ð	
r   c          
      óˆ   <€ V ^8„  d   QhRS[ P                  RS[ P                  RS[ P                  RS[RS[ P                  /# )r	   Úxminr   Úprimaryr   r0   )r   ÚTensorr8   )r   r"   s   "€r   r   r#   6   sK   ø€ ÷ ;ñ ;Ù�l‰lð;á�|‰|ð;ñ —‘ð;ñ
 ð;ñ 
�‰ñ;r   c               óà   € V ) V,          p\         P                  ! V4      P                  ^ V4      p\         P                  ! V4      P                  ^ V4      p\         P                  ! W%8H  We4      # )zAReturn the other integer neighboring the ideal affine zero point.)r   ÚfloorÚclamp_ÚceilÚwhere)r>   r   r?   r   ÚidealÚlowerÚuppers   &&&$   r   Ú_adjacent_zero_pointÚQuantizer._adjacent_zero_point5   sY   € ð �˜•ˆÜ—’˜EÓ"×)Ñ)¨!¨TÓ2ˆÜ—
’
˜5Ó!×(Ñ(¨¨DÓ1ˆÜ�{Š{˜7Ñ+¨UÓ:Ð:r   c                óR   <€ V ^8„  d   QhRS[ S[,          R,          RS[R,          /# )r	   ÚbitsNr:   )r8   r!   r   )r   r"   s   "€r   r   r#   E   s.   ø€ ÷ )ñ )ñ ‘C�i˜$Õð)ñ �D�[ñ)r   c                óš  € V P                   \        8X  dg   VeO   \        V\        V P                  P
                  V P                  P                  4      R7      V P                  n        Ve   W`P                  n        V P                  4       '       dF   \        P                  ! ^V P                  P                  ^,
          ,          ^,
          4      V n        M=\        P                  ! ^V P                  P                  ,          ^,
          4      V n        Wn        W n        W0n        V'       d   \        P                  ! R4      V n        R # R # )N)Úformat_valueéÿÿÿÿ)r    Ú
HF_OPTIMUMr   r   r   r   ÚmethodrL   r:   r
   r   r(   r   Ú
perchannelÚgridÚ	maxshrink)r*   rR   rS   rT   ÚtritsrL   r:   s   &&&&&&&r   Ú	configureÚQuantizer.configureE   sæ   € ð �9‰9œ
Ô"ØÒÜ!6°tÔJ^Ð_c×_hÑ_h×_oÑ_oÐqu×qzÑqz÷  rBñ  rBó  KCô  "D�—	‘	”ØŠØ #—	‘	”à×-Ñ-×/Ò/ÜŸš Q¨4¯9©9¯>©>¸AÕ+=Õ%>ÀÕ%BÓCˆD�IäŸš Q¨$¯)©)¯.©.Õ%8¸1Õ%<Ó=ˆDŒIà$ŒØŒ	Ø"ŒßÜŸš RÓ(ˆDŽIñ r   c           
     óf  € VP                   pV P                  P                  V4      V n        VP                  pV P                  '       d¨   V'       d   VP                  ^4      pM¬\        V4      ^8X  d%   VP                  . RO4      pVP                  ^4      p\        V4      ^8X  d)   VP                  RVR,          34      P                  4       p\        V4      ^8X  d   VP                  4       pMVP                  4       P                  ^ 4      p\        P                  ! VP                  ^ ,          VR7      p\        P                  ! VP                  ^4      ^ ,          V4      p\        P                  ! VP!                  ^4      ^ ,          V4      pV P"                  P$                  '       dX   \        P                  ! \        P&                  ! V4      V4      pV^ 8  p\        P(                  ! V4      '       d   Wu,          ) We&   V^ 8H  V^ 8H  ,          pRWe&   ^Wu&   V P                  ^ 8  d   Wpn        W`n        MùV P/                  4       '       d>   WpP                  ,          V n        \        P0                  ! V P*                  4      V n        M¦Wv,
          V P                  ,          V n        V P"                  P$                  '       d@   \        P2                  ! V P*                  V P                  ^,           ^,          4      V n        M-\        P4                  ! V) V P*                  ,          4      V n        \7        \9        V P"                  RR4      ;'       g    R4      pVR8”  Edg   \        P:                  ! VP                  ^ ,          .\7        R4      VR7      p	V P=                  4       p
V
'       d$   \?        V P                  PA                  4       4      M^ p\C        \?        V PD                  V PF                  ,          4      4       EFÁ  p^WÀPF                  ,          ,
          pWÖ,          pW×,          pV P/                  4       '       d   WðP                  ,          MWþ,
          V P                  ,          pV P"                  P$                  '       g   \        P4                  ! V) V,          4      MV P,                  pV3pV
'       d   V PI                  VVVVR7      pVV3pV Fã  p\K        VVP                  ^4      VP                  ^4      V P                  V P/                  4       4      pVV,          pVPM                  4        VPO                  V4       \        PP                  ! V^4      pVV	8  p\        P(                  ! V4      '       g   K¬  VV,          W•&   VV,          V P*                  V&   VV,          V P,                  V&   Kå  	  EKÄ  	  V P                  '       gu   V'       d   V^ ,          pM"\        V4      ^8w  d
   V^,          MV^,          pV P*                  PS                  V4      V n        V P,                  PS                  V4      V n        V'       de   R.^.\        V4      ^,
          ,          ,           pV P*                  P                  V4      V n        V P,                  P                  V4      V n        R# \        V4      ^8X  dA   V P*                  P                  R	4      V n        V P,                  P                  R	4      V n        \        V4      ^8X  dA   V P*                  P                  R
4      V n        V P,                  P                  R
4      V n        \        V4      ^8X  dC   V P*                  P                  ^ 4      V n        V P,                  P                  ^ 4      V n        R# R# )é   )ÚdeviceÚmseg        Úinf)r   N)rY   r   r	   é   rO   )rY   rO   rY   rY   )rY   rY   rO   )*rZ   r   Útor+   rR   ÚflattenÚlenÚpermuteÚreshapeÚtÚ	unsqueezer   r)   ÚminimumÚminÚmaximumÚmaxr   r:   ÚabsÚanyr   r   r
   Ú
zeros_likeÚ	full_liker   r   ÚgetattrÚfullr;   r8   r9   ÚrangerT   rS   rI   r   Úabs_Úpow_ÚsumÚrepeat)r*   r   ÚweightÚdevr+   Útmpr>   Úxmaxr[   ÚbestÚsearch_adjacent_zero_pointsÚ
maxq_valueÚiÚpÚxmin1Úxmax1Úscale1Úzero1Úzero_candidatesÚalternate_zeroÚzero_candidater   Úerrs   &&&                    r   Úfind_paramsÚQuantizer.find_params_   sc  € Ø�h‰hˆØ—I‘I—L‘L Ó%ˆŒ	à—‘ˆØ�?�?ˆ?ßØ—I‘I˜a“L‘ä�u“: ”?ØŸ	™	¢,Ó/�AØŸ	™	 !›�AÜ�u“: ”?ØŸ	™	 2 u¨R¥y /Ó2×4Ñ4Ó6�AÜ�u“: ”?ØŸ™›�Aøà—	‘	“×%Ñ% aÓ(ˆAä�kŠk˜!Ÿ'™' !�*¨SÔ1ˆÜ�}Š}˜QŸU™U 1›X a�[¨#Ó.ˆÜ�}Š}˜QŸU™U 1›X a�[¨#Ó.ˆà�9‰9�=�=ˆ=Ü—=’=¤§¢¨4£°$Ó7ˆDØ˜‘(ˆCÜ�yŠy˜�~Š~Ø!�Y˜J�‘	Ø�q‰y˜T Q™YÕ'ˆØˆ‰	Øˆ‰	à�9‰9�qŒ=ØŒJØ�Ià×1Ñ1×3Ò3Ø!§I¡IÕ-�”
Ü!×,Ò,¨T¯Z©ZÓ8�•	à"�k¨T¯Y©YÕ6�”
Ø—9‘9—=—=�=Ü %§¢°·
±
¸T¿Y¹YÈ½]ÈaÕ<OÓ P�D•Iä %§¢¨T¨E°D·J±JÕ,>Ó ?�D”Iä”G˜DŸI™I u¨cÓ2×9Ð9°cÓ:ˆØ��9Ü—:’:˜qŸw™w q�z˜l¬E°%«LÀÔEˆDØ*.×*KÑ*KÓ*MÐ'ß2Mœ˜TŸY™YŸ^™^Ó-Ô.ÐSTˆJÜœ3˜tŸ~™~°·	±	Õ9Ó:×;�Ø˜ŸI™I�Õ%�Ø��Ø��ð ×9Ñ9×;Ò;ð ŸI™IÖ%à�-¨4¯9©9Õ4ð ð
 =A¿I¹I¿M¿M¸MœŸš U F¨V¥OÔ4ÈtÏyÉy�Ø#( (�ß.Ø%)×%>Ñ%>ØØØØ'ð	 &?ó &�Nð (-¨nÐ&=�Oã&5�NÜ ØØ×(Ñ(¨Ó+Ø&×0Ñ0°Ó3ØŸ	™	Ø×:Ñ:Ó<ó�Að ˜•F�AØ—F‘F”HØ—F‘F˜3”KÜŸ)š) A q›/�CØ ™*�CÜ—y’y —~”~Ø$'¨¥H˜™	Ø*0°­+˜Ÿ
™
 3™Ø)7¸Õ)<˜Ÿ	™	 #›ô! '6ñ) <ðJ ��ˆßØ˜A•h‘ä"% e£*°¤/�e˜A–h°u¸Qµx�ØŸ™×*Ñ*¨3Ó/ˆDŒJØŸ	™	×(Ñ(¨Ó-ˆDŒIçØ�D˜A˜3¤# e£*¨q¥.Õ1Õ1ˆEØŸ™×+Ñ+¨EÓ2ˆDŒJØŸ	™	×)Ñ)¨%Ó0ˆDŒIÙÜˆu‹:˜Œ?ØŸ™×+Ñ+¨MÓ:ˆDŒJØŸ	™	×)Ñ)¨-Ó8ˆDŒIÜˆu‹:˜Œ?ØŸ™×+Ñ+¨JÓ7ˆDŒJØŸ	™	×)Ñ)¨*Ó5ˆDŒIÜˆu‹:˜Œ?ØŸ™×-Ñ-¨aÓ0ˆDŒJØŸ	™	×+Ñ+¨AÓ.ˆDŽIñ r   c                óv   € \        WP                  V P                  V P                  V P	                  4       4      # )N)r   r   r   r   r
   )r*   r   s   &&r   r   ÚQuantizer.quantizeÎ   s(   € Ü˜Ÿ:™: t§y¡y°$·)±)¸T×=_Ñ=_Ó=aÓbÐbr   )rS   r   rT   r    rR   r   r   r   )rY   N)Féd   gš™™™™™é?FNNr2   )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r&   r
   r;   ÚstaticmethodrI   rV   r…   r   Ú__static_attributes__Ú__classdictcell__Ú__classcell__)r,   r"   s   @@r   r   r      sT   ù‡ € ÷õ ÷ð ÷
ð 
ð ÷;ó ð;÷)ò )ô4m/÷^cò cr   r   c                   ó2   a € ] tR t^×t o V 3R lR ltRtV tR# )ÚQQQQuantizerc                ó    <€ V ^8„  d   QhRS[ /# r/   r   )r   r"   s   "€r   r   ÚQQQQuantizer.__annotate__Ø   s   ø€ ÷ <ñ <©tñ <r   c                óp   € V P                   P                  R8H  ;'       d    V P                   P                  # )rY   rO   )r   Ú
group_sizer:   r4   s   &r   r
   Ú*QQQQuantizer.requires_groupwise_processingØ   s'   € Ø�y‰y×#Ñ# rÑ)×;Ð;¨d¯i©i¯m©mÐ;r   r3   N)rŠ   r‹   rŒ   r�   r
   r�   r�   )r"   s   @r   r“   r“   ×   s   ø‡ € ÷<ö <r   r“   )r   Útorch.nnÚnnÚutils.loggerr   Úconfigr   r   r   ÚlogrP   r   ÚModuler   r“   Ú__all__r3   r   r   Ú<module>r       sS   ðó Ý å 'ß SÑ Sñ ƒn€à€
õ"ôqc�—	‘	ô qcôr<�9ô <ð ˆ-‚r   