+
    "Ý³j,  ã                   óÀ   € ^ 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HtHt ^RIHt ^R	IHt R
 t ! R R]	4      t ! R R]4      tRR.tR# )é    N)Únn)ÚAdapterÚLora)ÚDEVICEÚPLATFORM)ÚAWQuantLinear)ÚFORMATÚMETHOD)Úawq_fast_gemm_forward_prefillÚawq_fast_gemv_forward_decodeÚawq_runtime_availableÚawq_runtime_error)ÚBACKEND)Úcalculate_zeros_widthc                 óú  € V P                   ^ ,          pV P                   ^,          pV P                  4       P                  4       P                  W4^ ,          ^ 4      pVP                  W4^ ,          ^^^4      P	                  ^ ^^^^4      pVP                  W4^ ,          ^ 4      pVP                  W4^ ,          ^^4      pVP                  W4^ ,          ^^^4      P	                  ^ ^^^^4      pVP                  W44      pVP                  W1,          WV,          V4      pVP	                  ^ ^^^4      pVP                  W1,          WB,          W!4      pVR,          VR,          ^,          ,          VR,          ^,          ,          VR,          ^,          ,          pVP                  W1,          V4      p\
        P                  ! VP                  R4      4      P                  V P                  4      P                  4       pV# )r   Úint16).r   ).é   ).é   ).é   )ÚshapeÚcpuÚnumpyÚreshapeÚ	transposeÚtorchÚtensorÚastypeÚtoÚdeviceÚ
contiguous)Úunpacked_qweightÚ
interleaveÚkstrideÚNÚKÚPacked_KernelÚqweights   &&&    Úk/home/luca/screen-checking/.venv/lib/python3.14/site-packages/gptqmodel/nn_modules/qlinear/gemv_fast_awq.pyÚpack_intweightr)      sÒ  € à×Ñ˜qÕ!€AØ×Ñ˜qÕ!€Aà$×(Ñ(Ó*×0Ñ0Ó2×:Ñ:¸1À2½gÀrÓJ€Mà!×)Ñ)¨!°"­W°a¸¸AÓ>×HÑHÈÈAÈqÐRSÐUVÓW€MØ!×)Ñ)¨!°"­W°bÓ9€Mð "×)Ñ)¨!°"­W°a¸Ó;€MØ!×)Ñ)¨!°"­W°a¸¸AÓ>×HÑHÈÈAÈqÐRSÐUVÓW€MØ!×)Ñ)¨!Ó/€Mð "×)Ñ)Ø	�˜¨'¥\°7ó€Mð "×+Ñ+¨A¨q°!°QÓ7€MØ!×)Ñ)Ø	�˜� wó€Mð
 ˜&Õ!Ø˜VÕ$¨Õ)õ+à˜VÕ$¨Õ)õ+ð ˜VÕ$¨Õ*õ,ð ð "×)Ñ)¨!­/¸1Ó=€Mä�Š�]×)Ñ)¨'Ó2Ó3ß	‰Ð×#Ñ#Ó	$ß	‰‹ð ð
 €Nó    c                   óÎ  a a€ ] tR t^At 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t%R]P<                  RR3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t)RV3R lR llt*V3R lR lt+Rt,Vt-V ;t.# )ÚAwqGEMVFastLinearTFÚawq_gemv_fastÚqzerosNc                ó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   ÚbitsÚ
group_sizeÚsymÚdesc_actÚin_featuresÚout_featuresÚbiasÚ
pack_dtypeÚadapterÚregister_buffers)ÚintÚboolr   Údtyper   )ÚformatÚ__classdict__s   "€r(   Ú__annotate__ÚAwqGEMVFastLinear.__annotate__[   ss   ø€ ÷ ?!ñ ?!áð?!ñ ð?!ñ ð	?!ñ
 ð?!ñ ð?!ñ ð?!ñ ð?!ñ Ÿ™ð?!ñ ð?!ñ #ñ?!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        ^V n        ^ V P                  ,          pV
'       Ed[   V P                  R\        P                  ! W`P                  ,          WPP                  ,          V P                  ,          3V P                  R7      4       V P                  V P                  \        P                  ! \        WPP                  4      V,          V\        P                   R7      4       V P                  R\        P                  ! \        WPP                  4      V,          V\        P                   R7      4       V'       d9   V P                  R\        P                  ! V\        P                   R7      4       R# RV n        R# R# )Úbackendr0   r1   r2   r3   r4   r5   r6   r7   r8   r9   Fr'   ©r<   ÚscalesN© )Úpopr   ÚAWQ_GEMV_FASTÚsuperÚ__init__Úsplit_k_itersr"   r0   Úregister_bufferr   ÚzerosÚpack_factorr7   Ú
zeros_namer   r1   Úfloat16r6   )Úselfr0   r1   r2   r3   r4   r5   r6   r7   r8   r9   ÚkwargsrB   Úint32_pack_factorÚ	__class__s   &&&&&&&&&&&,  €r(   rI   ÚAwqGEMVFastLinear.__init__[   s´  ø€ ð —*‘*˜Y¬×(=Ñ(=Ó>ˆÜ‰Òñ 	Øð	à!ð	ð ð	ð ð		ð
 $ð	ð &ð	ð ð	ð "ð	ð ð	ð ð	ð #ð	ð ò	ð ˆÔØˆŒð
  $§)¡)�OÐçÐØ× Ñ ØÜ—’˜\¯_©_Õ<¸k×M]ÑM]Õ>]Ð`d×`oÑ`oÕ>oÐpØ"&§/¡/ô3ôð
 × Ñ Ø—‘Ü—’Ü)¨+·±ÓGÐJ[Õ[Ø ÜŸ-™-ôôð × Ñ ØÜ—’Ü)¨+·±ÓGÐJ[Õ[Ø ÜŸ-™-ôô÷ Ø×$Ñ$ V¬U¯[ª[¸ÌUÏ]É]Ô-[Ö\à �–	ñ5 r*   c                ó4   <€ V ^8„  d   QhRS[ P                  /# )r   Úx©r   ÚTensor)r=   r>   s   "€r(   r?   r@   œ   s   ø€ ÷ 1ñ 1™Ÿ™ñ 1r*   c           
     ól  € V P                  V4      ^ 8X  d   V P                  V4      # \        4       '       g   \        R\	        4       ,           4      hTpVP                  4       pRpRpV^8X  d   VP                  w  rEpVP                  pV\        P                  8w  d!   VP                  \        P                  R7      pVP                  4       '       g   VP                  4       pV P                  VP                  VP                  R7       V P                  4       pV^8X  dz   V^8  ds   V^8X  dl   \!        VV P"                  V P$                  VVP'                  4       VP                  R,          ,          V P(                  V P*                  V P,                  4      p	M!\/        W P"                  V P$                  V4      p	V\        P                  8w  d   V	P                  VR7      p	V P0                  e   W�P0                  ,           MT	p	V P2                  '       d   V P2                  P5                  WR7      p	V	# )r   z9AWQ torch.ops kernels are not properly installed. Error: NrC   ©r   r<   )rV   Úoutéÿÿÿÿ)Ú
input_rowsÚempty_linear_outputr   ÚModuleNotFoundErrorr   Údimr   r<   r   rO   r   Úis_contiguousr    Ú_ensure_runtime_buffersr   Ú_runtime_zerosr   r'   rD   Únumelr5   r4   r1   r   r6   r8   Úapply)
rP   rV   ÚinputsÚ
inputs_dimÚ
batch_sizeÚn_tokensÚ_Úinput_dtyperL   r[   s
   &&        r(   ÚforwardÚAwqGEMVFastLinear.forwardœ   s·  € Ø�?‰?˜1Ó Ô"Ø×+Ñ+¨AÓ.Ð.Ü$×&Ò&Ü%Ð&aÔduÓdwÕ&wÓxÐxàˆØ—Z‘Z“\ˆ
àˆ
Øˆð ˜Œ?Ø&,§l¡lÑ#ˆJ !à—l‘lˆØœ%Ÿ-™-Ô'Ø—Y‘Y¤U§]¡]�YÓ3ˆFØ×#Ñ#×%Ò%Ø×&Ñ&Ó(ˆFà×$Ñ$¨F¯M©MÀÇÁÐ$ÔNà×#Ñ#Ó%ˆØ˜Œ?˜z¨Aœ~°(¸a´-Ü.ØØ—‘Ø—‘ØØ—‘“ &§,¡,¨rÕ"2Õ2Ø×!Ñ!Ø× Ñ Ø—‘ó	‰Cô 0ØŸ™ d§k¡k°5óˆCð œ%Ÿ-™-Ô'Ø—&‘&˜{�&Ó+ˆCà!%§¡Ò!6ˆc—I‘IŽo¸Cˆà�<�<ˆ<Ø—,‘,×$Ñ$ qÐ$Ó2ˆCàˆ
r*   c                óN   <€ V ^8„  d   QhRS[ P                  RS[ P                  /# )r   r   r<   )r   r   r<   )r=   r>   s   "€r(   r?   r@   Ï   s'   ø€ ÷ Nñ N±·±ð NÁeÇkÁkñ Nr*   c               ór  € V P                   P                  V8w  g!   V P                   P                  4       '       g0   V P                   P                  VR 7      P	                  4       V n         V P                  4       pVP                  V8w  g(   VP                  V8w  g   VP                  4       '       gi   VP                  WR7      P	                  4       pV P                  R8X  d   W0n        M0V P                  R8X  d   W0n	        M\        RV P                   24      hV P                  P                  V8w  g<   V P                  P                  V8w  g!   V P                  P                  4       '       g0   V P                  P                  WR7      P	                  4       V n        V P                  eŠ   V P                  P                  V8w  g<   V P                  P                  V8w  g!   V P                  P                  4       '       g2   V P                  P                  WR7      P	                  4       V n        R# R# R# ))r   rZ   r.   Úscaled_zerosúUnsupported zeros buffer: N)r'   r   ra   r   r    rc   r<   rN   r.   rp   Ú
ValueErrorrD   r6   )rP   r   r<   rL   s   &$$ r(   rb   Ú)AwqGEMVFastLinear._ensure_runtime_buffersÏ   sˆ  € Ø�<‰<×Ñ &Ô(°·±×0JÑ0J×0LÒ0LØŸ<™<Ÿ?™?°&˜?Ó9×DÑDÓFˆDŒLà×#Ñ#Ó%ˆØ�<‰<˜6Ô! U§[¡[°EÔ%9À×ATÑAT×AVÒAVØ—H‘H F�HÓ8×CÑCÓEˆEØ�‰ (Ô*Ø#•Ø—‘ NÔ2Ø$)Õ!ä Ð#=¸d¿o¹oÐ=NÐ!OÓPÐPà�;‰;×Ñ Ô'¨4¯;©;×+<Ñ+<ÀÔ+EÈTÏ[É[×MfÑMf×MhÒMhØŸ+™+Ÿ.™.°˜.ÓD×OÑOÓQˆDŒKà�9‰9Ò Ø�I‰I×Ñ Ô&¨$¯)©)¯/©/¸UÔ*BÈ$Ï)É)×JaÑJa×JcÒJcàŸ	™	Ÿ™¨F˜Ó@×KÑKÓMˆDŽIñ Kdñ !r*   c                ó4   <€ V ^8„  d   QhRS[ P                  /# ©r   ÚreturnrW   )r=   r>   s   "€r(   r?   r@   å   s   ø€ ÷ Iñ I¡§¡ñ Ir*   c                ó¦   € V P                   R 8X  d   V P                  # V P                   R8X  d   V P                  # \        RV P                    24      h)r.   rp   rq   )rN   r.   rp   rr   ©rP   s   &r(   rc   Ú AwqGEMVFastLinear._runtime_zeroså   sH   € Ø�?‰?˜hÔ&Ø—;‘;ÐØ�?‰?˜nÔ,Ø×$Ñ$Ð$ÜÐ5°d·o±oÐ5FÐGÓHÐHr*   c                ó‚   <€ V ^8„  d   QhRS[ P                  RS[P                  RS[P                  RS[P                  /# )r   ÚlinearrD   rL   Úg_idx)r   ÚModuler   rX   )r=   r>   s   "€r(   r?   r@   ì   sB   ø€ ÷ )Sñ )S™2Ÿ9™9ð )S©e¯l©lð )SÁ5Ç<Á<ð )SÑX]×XdÑXdñ )Sr*   c           
     óp  € 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P                  ^^ 4      P                  4       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RW�P                  ,          3,          ,          4      P)                  \        P*                  4      R	,          4       K«  	  \        P,                  ! V^R7      pVP)                  \        P.                  R7      pV P                  R\1        VP                  4       ^^@R7      4       VP)                  \        P.                  R7      p\        P2                  ! V4      p
VRR VP                  ^,          13,          VP)                  \        P4                  4      ,          P)                  \        P                  4      ) V
RR VP                  ^,          13&   V P                  V P6                  V
P                  ^^ 4      P                  4       4       R # )
N)r<   r   ºNNNrD   r6   )r`   rC   r'   )r"   r#   )r   N)r0   r   rL   r   r   r4   r1   rO   r   rK   r   r    r6   ÚcloneÚhalfÚrangeÚappendÚroundÚweightÚdatar   r:   ÚcatÚint32r)   Ú
zeros_likeÚfloat32rN   )rP   r{   rD   rL   r|   Úscale_zerosÚpack_numÚqscalesÚ	intweightÚidxr.   s   &&&&&      r(   ÚpackÚAwqGEMVFastLinear.packì   sr  € àÒ! eÒ&7Ð7Ð7Ø•nˆà˜Ÿ™•?ˆÜ—+’+à—‘˜Q•Ü% f×&8Ñ&8¸$¿/¹/ÓJÈXÕUðô —-‘-Ø—=‘=ô
ˆð )/�Ð$�V—\‘\ !•_Ð$Ð$Ñ%Ø×Ñ˜X w×'8Ñ'8¸¸AÓ'>×'IÑ'IÓ'KÔLØ�;‰;Ò"Ø× Ñ  ¨¯©×):Ñ):Ó)<×)AÑ)AÓ)CÕDàˆDŒIàˆ	Ü˜×)Ñ)Ö*ˆCØ×ÑÜ—’Ø—]‘]×'Ñ'¨¨3¨Õ/°+¸aÀÏÉÕAWÐ>WÕ2XÕXØ˜a ¯©Õ!7Ð7Õ8õ9ó÷ ‘"”U—Y‘Y“- õ)öñ +ô —I’I˜i¨QÔ/ˆ	Ø—L‘L¤u§{¡{�LÓ3ˆ	Ø×Ñ˜Y¬Ø× Ñ Ó"¨q¸"ô)
ô 	ð —‘œuŸ{™{�Ó+ˆÜ×!Ò! 'Ó*ˆð ˜Ð,˜VŸ\™\¨!�_Ð,Ð,Õ-°·±¼%¿-¹-Ó1HÕIß
‰"ŒU�]‰]Ó
ð(ˆˆqÐ#�F—L‘L •OÐ#Ð#Ñ$ð 	×Ñ˜TŸ_™_¨f×.>Ñ.>¸qÀ!Ó.D×.OÑ.OÓ.QÖRr*   c                ó    <€ V ^8„  d   QhRS[ /# ru   )Ú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=   r4   r5   r6   r0   r1   rx   s   &r(   Ú
extra_reprÚAwqGEMVFastLinear.extra_repr  sA   € àN×UÑUØ× Ñ Ø×!Ñ!Ø—	‘	 Ð%Ø—	‘	Ø—‘óð	
r*   )r6   r"   r'   r.   rp   rD   rJ   ©r\   é   é    é@   é€   )N)/Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r   rG   ÚSUPPORTS_BACKENDSr
   ÚAWQÚSUPPORTS_METHODSr	   Ú	GEMV_FASTÚSUPPORTS_FORMATSÚSUPPORTS_BITSÚSUPPORTS_GROUP_SIZEÚ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_ADAPTERSrO   ÚSUPPORTS_DTYPESÚ
QUANT_TYPErN   rI   rl   rb   rc   r�   r•   Ú__static_attributes__Ú__classdictcell__Ú__classcell__)rS   r>   s   @@r(   r,   r,   A   s  ù‡ € Ø ×.Ñ.Ð/ÐØŸ
™
�|ÐØ×(Ñ(¨"Ð-ÐØ�C€MÚ/ÐØ˜u˜ÐØ˜%�=€LØ€OØÐØ!ÐØ)*¨Ð%Ø*+¨Ð&àŸ™ V§[¡[Ð1ÐØ!Ÿ™˜ÐØ!ŸK™K˜=ÐØ˜Ðà—}‘}�o€Oð !€Jà€Jð Ø&+§k¡kØ#Ø%*÷?!õ ?!÷B1ð 1÷fNð N÷,Ið I÷)Sò )S÷V	
÷ 	
ð 	
r*   r,   c                   ó(  € ] tR tRt]P
                  .t]P                  .t	]
P                  ^d/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t%Rt&R# )	ÚLLMAwqLineari#  TFzllm-awqrp   rE   Nr—   )'rœ   r�   rž   rŸ   r   rG   r    r
   r¡   r¢   r	   ÚLLM_AWQr¤   r¥   r¦   r§   r¨   r©   rª   r«   r¬   r­   r   r®   r¯   r°   r   r±   r²   r   r   r³   r   r´   rO   rµ   r¶   rN   r·   rE   r*   r(   r»   r»   #  s·   † Ø ×.Ñ.Ð/ÐØŸ
™
�|ÐØŸ™¨Ð,ÐØ�C€MÚ/ÐØ˜u˜ÐØ˜%�=€LØ€OØÐØ!ÐØ)*¨Ð%Ø*+¨Ð&àŸ™ V§[¡[Ð1ÐØ!Ÿ™˜ÐØ!ŸK™K˜=ÐØ˜Ðà—}‘}�o€Oð €Jà„Jr*   r»   )r   r   Úadapter.adapterr   r   Úmodels._constr   r   Únn_modules.qlinearr   Úquantizationr	   r
   Ú	utils.awqr   r   r   r   Úutils.backendr   Ú
utils.gemvr   r)   r,   r»   Ú__all__rE   r*   r(   Ú<module>rÅ      sY   ðó Ý ç ,ß -Ý /ß *÷ó õ %Ý /ò'ôT_
˜ô _
ôD Ð$ô  ð6  Ð
/‚r*   