+
    "Ý³j(  ã                   óÄ   € ^ RI HtHt ^ RIt^ RIHt ^RIHtHt ^RIH	t	H
t
 ^RIHt ^RIHtHt ^RIHtHt ^R	IHt ^R
IHt ^RIHt ]! 4       t ! R R]4      tR.tR# )é    )ÚOptionalÚTupleN)Únn)ÚAdapterÚLora)ÚDEVICEÚPLATFORM)ÚAWQuantLinear)ÚFORMATÚMETHOD)Úawq_gemmv2_forwardÚawq_gemv_forward)ÚBACKEND)Úcalculate_zeros_width)Úsetup_loggerc                   óØ  a a€ ] tR t^t o]P
                  .t]P                  .t	]
P                  ^(/t^.t. ROtRR.tRR.tRtRtRt^.t^@.t]P.                  ]P0                  .t]P6                  .t]P<                  .t] .t!]PD                  .t#Rt$]%RV3R lV 3R lll4       t&R]P<                  RR3V3R lV 3R lllt'V 3R	 lt(V3R
 lR lt)RV3R lR llt*V3R lR lt+Rt,Vt-V ;t.# )ÚAwqGEMVLinearTFÚawq_gemvNc                ó  <€ V ^8„  d   QhRS[ RS[ RS[RS[RS[ RS[ RS[P                  RS[S[P                  ,          R	S[S[,          R
S[S[,          RS[S[,          RS[S[,          RS[S[S[S[	,          3,          /# )é   ÚbitsÚ
group_sizeÚdesc_actÚsymÚin_featuresÚout_featuresÚ
pack_dtypeÚdtypeÚdynamicÚdeviceÚ	trainableÚadapterÚreturn)
ÚintÚboolÚtorchr   r   Údictr   r   r   Ú	Exception)ÚformatÚ__classdict__s   "€Úf/home/luca/screen-checking/.venv/lib/python3.14/site-packages/gptqmodel/nn_modules/qlinear/gemv_awq.pyÚ__annotate__ÚAwqGEMVLinear.__annotate__6   s»   ø€ ÷ %
ñ %
áð%
ñ ð%
ñ ð	%
ñ
 ð%
ñ ð%
ñ ð%
ñ —K‘Kð%
ñ ™Ÿ™Õ$ð%
ñ ™$•ð%
ñ ™Õ ð%
ñ ™D•>ð%
ñ ™'Õ"ð%
ñ 
‰t‘X™iÕ(Ð(Õ	)ñ%
ó    c                ó   <€ VR8X  d   Ve   TMTpV P                    Uu. uF  qîR8w  g   K  VNK  	  ppVR8w  d&   Wß9  d    R\        V P                   RV RV 24      3# \        SV `  VVVVVVVVV	V
VVR7      # u upi )z;Validate the native group-size contract after resolving -1.Fz, native GEMV supports normalized group_size z: actual group_size=)r   r   r   r   r   r   r   r   r   r    r!   r"   éÿÿÿÿ)ÚSUPPORTS_GROUP_SIZEÚNotImplementedErrorÚ__name__ÚsuperÚvalidate)Úclsr   r   r   r   r   r   r   r   r   r    r!   r"   Úeffective_group_sizeÚsizeÚnative_group_sizesÚ	__class__s   &&&&&&&&&&&&&   €r+   r5   ÚAwqGEMVLinear.validate5   sÅ   ø€ ð" /9¸BÔ.>À;ÒCZ™{Ð`jÐØ/2×/FÒ/FÓUÑ/F tÐRTÉ*Ÿd˜dÑ/FÐÐUØ 2Ô%Ð*>Ô*XØÔ-Ø—<‘<�.Ð LØ%Ð&Ð&:Ð;OÐ:PðRóð ð ô
 ‰wÑØØ+ØØØ#Ø%Ø!ØØØØØð  ó 
ð 	
ùò Vs
   ŸA;¬A;c                ój   <€ V ^8„  d   QhRS[ RS[ RS[RS[RS[ RS[ RS[RS[P                  R	S[R
S[/
# )r   r   r   r   r   r   r   Úbiasr   r"   Úregister_buffers)r$   r%   r&   r   r   )r)   r*   s   "€r+   r,   r-   ]   s   ø€ ÷ 8]ñ 8]áð8]ñ ð8]ñ ð	8]ñ
 ð8]ñ ð8]ñ ð8]ñ ð8]ñ —K‘Kð8]ñ ð8]ñ ñ8]r.   c                ó  <€ VP                  R \        P                  4      p\        SV `  ! RRVRVRVRVRVRVRVRVR VR	V	R
R/VB  ^V n        RV n        V
'       Ed(   V P                  R\        P                  ! WeV P                  ,          3V P                  R7      4       V P                  R\        P                  ! V\        WPP                  4      V P                  R7      4       V P                  R\        P                  ! V\        WPP                  4      V P                  ,          \        P                  R7      4       V'       d9   V P                  R\        P                  ! V\        P                  R7      4       R# R# R# )Úbackendr   r   r   r   r   r   r=   r   r"   r>   FNÚqweight©r   ÚqzerosÚscales© )Úpopr   ÚAWQ_GEMVr4   Ú__init__Úsplit_k_itersr=   Úregister_bufferr&   ÚzerosÚpack_factorr   r   r   Úfloat16)Úselfr   r   r   r   r   r   r=   r   r"   r>   Úkwargsr@   r:   s   &&&&&&&&&&&, €r+   rH   ÚAwqGEMVLinear.__init__]   sŠ  ø€ ð —*‘*˜Y¬×(8Ñ(8Ó9ˆÜ‰Òñ 	Øð	à!ð	ð ð	ð ð		ð
 $ð	ð &ð	ð ð	ð "ð	ð ð	ð ð	ð #ð	ð ò	ð ˆÔàˆŒ	çÐØ× Ñ ØÜ—’˜\¸$×:JÑ:JÕ+JÐKÐSW×SbÑSbÔcôð × Ñ ØÜ—’Ø Ü)¨+·±ÓGØŸ/™/ôôð × Ñ ØÜ—’Ø Ü)¨+·±ÓGÈ$×JZÑJZÕZÜŸ-™-ôô÷ Ø×$Ñ$ V¬U¯[ª[¸ÌUÏ]É]Ô-[Ö\ñ ñ- r.   c                ó‚   <€ V P                   P                  \        P                  R 7      V n         \        SV `  4        R# )rB   N)rD   Útor&   rM   r4   Ú	post_init)rN   r:   s   &€r+   rS   ÚAwqGEMVLinear.post_init—   s*   ø€ ð —k‘k—n‘n¬5¯=©=�nÓ9ˆŒä‰ÑÖr.   c                ó4   <€ V ^8„  d   QhRS[ P                  /# )r   Úx)r&   ÚTensor)r)   r*   s   "€r+   r,   r-   §   s   ø€ ÷ %&ñ %&™Ÿ™ñ %&r.   c                ó¸  € VP                   R R V P                  3,           pV P                  V4      ^ 8X  d   V P                  V4      # VP	                  RVP                   R,          4      pVP                  4       '       g   VP                  4       pVP                  pV\        P                  8w  d   VP                  4       pVP                   ^ ,          ^8”  dD   \        VV P                  V P                  V P                  V P                  V P                   4      pM6\#        W0P                  V P                  V P                  V P                  4      pV\        P                  8w  d   VP%                  VR7      pV P&                  e   WPP&                  ,           MTpV P(                  '       d   V P(                  P+                  WR7      pVP	                  V4      # )NrB   )rV   Úoutr0   )Úshaper   Ú
input_rowsÚempty_linear_outputÚreshapeÚis_contiguousÚ
contiguousr   r&   rM   Úhalfr   rA   rD   rC   r   rI   r   rR   r=   r"   Úapply)rN   rV   Ú	out_shapeÚinputsÚinput_dtyperY   s   &&    r+   ÚforwardÚAwqGEMVLinear.forward§   sb  € Ø—G‘G˜C˜R�L D×$5Ñ$5Ð#7Õ7ˆ	Ø�?‰?˜1Ó Ô"à×+Ñ+¨AÓ.Ð.Ø—‘˜2˜qŸw™w r�{Ó+ˆØ×#Ñ#×%Ò%ð ×&Ñ&Ó(ˆFà—l‘lˆØœ%Ÿ-™-Ô'Ø—[‘[“]ˆFà�<‰<˜�?˜QÔÜ$ØØ—‘Ø—‘Ø—‘Ø—‘Ø×"Ñ"ó‰Cô #ØŸ™ d§k¡k°4·;±;ÀÇÁóˆCð œ%Ÿ-™-Ô'Ø—&‘&˜{�&Ó+ˆCà!%§¡Ò!6ˆc—I‘IŽo¸Cˆà�<�<ˆ<Ø—,‘,×$Ñ$ qÐ$Ó2ˆCà�{‰{˜9Ó%Ð%r.   c                ó‚   <€ V ^8„  d   QhRS[ P                  RS[P                  RS[P                  RS[P                  /# )r   ÚlinearrD   rK   Úg_idx)r   ÚModuler&   rW   )r)   r*   s   "€r+   r,   r-   Î   sB   ø€ ÷ @/ñ @/™2Ÿ9™9ð @/©e¯l©lð @/Á5Ç<Á<ð @/ÑX]×XdÑXdñ @/r.   c           
     ó`	  € Ve   Vf   Q hW2,          p^ V P                   ,          p\        P                  ! VP                  ^ ,          \	        VP
                  V P                  4      V,          3\        P                  VP                  R7      pW'RR VP                  ^,          13&   V P                  RV4       VP                  e:   V P                  RVP                  P                  4       P                  4       4       MR V n
        . p\        V P
                  4       F³  p	VP                  \        P                  ! VP                   P"                  RV	3,          VRW�P                  ,          3,          ,           V P$                  RW�P                  ,          3,          ,          4      P'                  \        P(                  4      R
,          4       Kµ  	  \        P*                  ! V^R7      pVP'                  \        P,                  R7      p\        P                  ! VP                  ^ ,          VP                  ^,          ^ ,          V P                   ,          3\        P,                  VP                  R7      p
\        VP                  ^,          V,          4       F‚  pV P                   ^8X  d   . ROpM\/        R4      h\        V4       FO  pVRW¶,          WÍ,          ,           3,          pV
RV3;;,          WíV P                   ,          ,          ,          uu&   KQ  	  K„  	  V P                  RV
4       VP'                  \        P,                  R7      p\        P                  ! VP                  ^ ,          \	        VP
                  V P                  4      3\        P,                  VP                  R7      p\        VP                  ^,          V,           ^,
          V,          4       F¯  pV P                   ^8X  d   . ROpM\/        R4      h\        V4       F|  pW¶,          WÍ,          ,           VP                  ^,          8¼  d   K0  VRW¶,          WÍ,          ,           3,          pVRV3;;,          VWÐP                   ,          ,          ,          uu&   K~  	  K±  	  V P                  R	V4       R # )N)r   r    ºNNNrD   r=   )ÚdimrB   z!Only 4-bit are supported for now.rA   rC   )rl   N)r   é   r   é   é   é   é   é   )r   r&   rK   rZ   r   r   r   rM   r    rJ   r=   Úcloner`   ÚrangeÚappendÚroundÚweightÚdatarD   rR   r$   ÚcatÚint32r2   )rN   rh   rD   rK   ri   Úscale_zerosÚpack_numÚqscalesÚ	intweightÚidxrA   ÚcolÚ	order_mapÚiÚqweight_colrC   Ú	qzero_cols   &&&&&            r+   ÚpackÚAwqGEMVLinear.packÎ   si  € àÒ! eÒ&7Ð7Ð7Ø•nˆà˜Ÿ™•?ˆÜ—+’+à—‘˜Q•Ü% f×&8Ñ&8¸$¿/¹/ÓJÈXÕUðô —-‘-Ø—=‘=ô
ˆð )/�Ð$�V—\‘\ !•_Ð$Ð$Ñ%Ø×Ñ˜X wÔ/Ø�;‰;Ò"Ø× Ñ  ¨¯©×):Ñ):Ó)<×)AÑ)AÓ)CÕDàˆDŒIàˆ	Ü˜×)Ñ)Ö*ˆCØ×ÑÜ—’Ø—]‘]×'Ñ'¨¨3¨Õ/°+¸aÀÏÉÕAWÐ>WÕ2XÕXØ—k‘k ! S¯O©OÕ%;Ð";Õ<õ=ó÷ ‘"”U—Y‘Y“- õ)öñ +ô —I’I˜i¨QÔ/ˆ	Ø—L‘L¤u§{¡{�LÓ3ˆ	Ü—+’+Ø�_‰_˜QÕ §¡°Õ!3°rÕ!9¸D¿I¹IÕ!EÐFÜ—+‘+Ø×#Ñ#ô
ˆô ˜Ÿ™¨Õ+¨xÕ7Ö8ˆCØ�y‰y˜AŒ~Ú4‘	ä)Ð*MÓNÐNÜ˜8–_�Ø'¨¨3­>¸I½LÕ+HÐ(HÕI�Ø˜˜3˜— ;°t·y±yµ=Õ#AÕA•ó %ñ 9ð 	×Ñ˜Y¨Ô0à—‘œuŸ{™{�Ó+ˆÜ—’Ø�[‰[˜�^Ô2°6×3EÑ3EÀtÇÁÓWÐXÜ—+‘+Ø—<‘<ô
ˆô ˜%Ÿ+™+ a�.¨8Õ3°aÕ7¸HÕDÖEˆCØ�y‰y˜AŒ~Ú4‘	ä)Ð*MÓNÐNÜ˜8–_�Ø•> I¥LÕ0°E·K±KÀµNÔBÙØ! ! S¥^°iµlÕ%BÐ"BÕC�	Ø�q˜#�v— )°·I±IµÕ">Õ>•ó	 %ñ Fð 	×Ñ˜X vÖ.r.   c                ó    <€ V ^8„  d   QhRS[ /# )r   r#   )Ústr)r)   r*   s   "€r+   r,   r-     s   ø€ ÷ 	
ñ 	
™Cñ 	
r.   c                ó”   € R P                  V P                  V P                  V P                  RJV P                  V P
                  4      # )z@in_features={}, out_features={}, bias={}, bits={}, group_size={}N)r)   r   r   r=   r   r   )rN   s   &r+   Ú
extra_reprÚAwqGEMVLinear.extra_repr  sA   € àN×UÑUØ× Ñ Ø×!Ñ!Ø—	‘	 Ð%Ø—	‘	Ø—‘óð	
r.   )r=   rD   rI   )r0   é@   é€   )r0   FTNNNNNNNN)N)/r3   Ú
__module__Ú__qualname__Ú__firstlineno__r   rG   ÚSUPPORTS_BACKENDSr   ÚAWQÚSUPPORTS_METHODSr   ÚGEMVÚSUPPORTS_FORMATSÚSUPPORTS_BITSr1   ÚSUPPORTS_DESC_ACTÚSUPPORTS_SYMÚSUPPORTS_SHARDSÚSUPPORTS_TRAININGÚSUPPORTS_AUTO_PADDINGÚ!SUPPORTS_IN_FEATURES_DIVISIBLE_BYÚ"SUPPORTS_OUT_FEATURES_DIVISIBLE_BYr   ÚCUDAÚROCMÚSUPPORTS_DEVICESr	   ÚALLÚSUPPORTS_PLATFORMr&   r{   ÚSUPPORTS_PACK_DTYPESr   ÚSUPPORTS_ADAPTERSrM   ÚSUPPORTS_DTYPESÚ
QUANT_TYPEÚclassmethodr5   rH   rS   re   r†   r‹   Ú__static_attributes__Ú__classdictcell__Ú__classcell__)r:   r*   s   @@r+   r   r      s  ù‡ € Ø ×)Ñ)Ð*ÐØŸ
™
�|ÐØŸ™ RÐ(ÐØ�C€Mò (ÐØ˜u˜ÐØ˜%�=€LØ€OØÐØ!ÐØ)*¨Ð%ð +-¨Ð&àŸ™ V§[¡[Ð1ÐØ!Ÿ™˜ÐØ!ŸK™K˜=ÐØ˜Ðà—}‘}�o€Oð €Jà÷%
ô %
ó ð%
ð^ Ø"'§+¡+ØØ!&÷8]õ 8]õt÷ %&ð %&÷N@/ò @/÷D	
÷ 	
ð 	
r.   r   )Útypingr   r   r&   r   Úadapter.adapterr   r   Úmodels._constr   r	   Únn_modules.qlinearr
   Úquantizationr   r   Ú	utils.awqr   r   Úutils.backendr   Ú
utils.gemvr   Úutils.loggerr   Úlogr   Ú__all__rE   r.   r+   Ú<module>r·      sJ   ð÷ #ã Ý ç ,ß -Ý /ß *ß =Ý $Ý /Ý (ñ ƒn€ôB
�Mô B
ðH Ð
‚r.   