+
    ÒÜ³jê  ã                   óŒ   € ^ RI t ^ RIt^ RIHt ]! R4      w  ttR tR	R ltR t ! R R] P                  P                  4      tR# )
é    N)Ú
try_importÚ
awq_v2_extc                 ó.   € W,           ^,
          V,          # )é   © )ÚcÚdivisors   &&Ú]/home/luca/screen-checking/.venv/lib/python3.14/site-packages/awq/modules/linear/gemv_fast.pyÚmake_divisibler      s   € Ø�K˜!�O Õ'Ð'ó    c                 ó–   € V^€8¼  d   ^pMV^@8X  d   ^pMV^ 8X  d   ^pM\         h\        W,          V4      p\        WC4      V,          pV# )é€   )ÚNotImplementedErrorr   )Úin_featuresÚ
group_sizeÚpack_numÚsize_multiplierÚ
base_widths   &&&  r
   Úcalculate_zeros_widthr      sS   € Ø�SÔØ‰Ø	�rÔ	Ø‰Ø	�rÔ	Ø‰ä!Ð!ä Õ 9¸8ÓD€JÜ 
Ó<¸ÕN€JØÐr   c                 óú  € 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   ).r   ).é   ).é   )ÚshapeÚcpuÚnumpyÚreshapeÚ	transposeÚtorchÚtensorÚastypeÚtoÚdeviceÚ
contiguous)Úunpacked_qweightÚ
interleaveÚkstrideÚNÚKÚPacked_KernelÚqweights   &&&    r
   Ú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ð
 	�fÕØ˜Õ  AÕ%õ	'à˜Õ  AÕ%õ	'ð ˜Õ  BÕ&õ	(ð ð "×)Ñ)¨!­/¸1Ó=€Mä�Š�]×)Ñ)¨'Ó2Ó3ß	‰Ð×#Ñ#Ó	$ß	‰‹ð ð
 €Nr   c                   ót   a a€ ] tR t^Dt oV 3R lt]RR l4       t]P                  ! 4       R 4       t	Rt
VtV ;t# )ÚWQLinear_GEMVFastc           	     ó(  <€ \         S	V `  4        W0n        W@n        Wn        VR8w  d   TMTV n        ^V n        ^V n        V P                  V P
                  ,          ^ 8X  g   Q hV^ V P                  ,          ,          ^ 8X  g   Q h^ V P                  ,          p^V P                  ,          pW@P                  ,          ^ 8X  g   Q hV P                  R\        P                  ! W@P                  ,          W8,          V P                  ,          3\        P                  VR7      4       V P                  R\        P                  ! \        W0P
                  4      V,          V3\        P                  VR7      4       V P                  R\        P                  ! \        W0P
                  4      V,          V3\        P                  VR7      4       V'       d:   V P                  R\        P                  ! V\        P                  VR7      4       R# RV n        R# )r   r+   ©Údtyper#   ÚscalesÚqzerosÚbiasNéÿÿÿÿ)ÚsuperÚ__init__r   Úout_featuresÚw_bitr   Úsplit_k_itersr&   Úregister_bufferr   Úzerosr   r   Úfloat16r4   )
Úselfr9   r   r   r8   r4   Údevr   Úint16_pack_numÚ	__class__s
   &&&&&&&  €r
   r7   ÚWQLinear_GEMVFast.__init__E   s¬  ø€ Ü‰ÑÔà&ÔØ(ÔØŒ
Ø(2°bÔ(8™*¸kˆŒØˆÔØˆŒð ×Ñ $§/¡/Õ1°QÔ6Ð6Ð6Ø˜r T§Z¡ZÕ/Õ0°AÔ5Ð5Ð5Ø˜Ÿ™Õ#ˆØ˜tŸz™zÕ)ˆàŸ™Õ/°1Ô4Ð4Ð4Ø×ÑØÜ�KŠKà §O¡OÕ3ØÕ1°D·O±OÕCðô —k‘kØôô
	
ð 	×ÑØÜ�KŠKä)¨+·±ÓGÈ(ÕRØ ðô —m‘mØôô
	
ð 	×ÑØÜ�KŠKä)¨+·±ÓGÈ(ÕRØ ðô —m‘mØôô
	
÷ Ø× Ñ ØœŸš \¼%¿-¹-ÐPSÔTöð ˆDŽIr   c           
     óN  € V ! VVVP                   VP                  VP                  R JVP                  P                  4      pV'       d   V# Ve   Vf   Q hWe,          p^ VP
                  ,          p	\        P                  ! VP                  ^ ,          \        VP                   V4      V	,          3\        P                  VP                  R7      p
WZRR VP                  ^,          13&   V
P                  ^^ 4      P                  4       Vn        VP                  e.   VP                  P                  4       P                  4       Vn        . p\!        VP                   4       F•  pVP#                  \        P$                  ! VP                  P&                  RV3,          VRWÃ,          3,          ,           V
RWÃ,          3,          ,          4      P)                  \        P*                  4      R,          4       K—  	  \        P,                  ! V^R7      pVP)                  \        P.                  R7      p\1        VP                  4       ^^@R7      Vn        VP)                  \        P.                  R7      p\        P4                  ! V
4      pV
RR VP                  ^,          13,          VP)                  \        P6                  4      ,          P)                  \        P                  4      ) VRR VP                  ^,          13&   VP                  ^^ 4      P                  4       Vn        V# )Nr0   ºNNN)Údim)r1   )r&   r'   )rD   N)r   r8   r4   Úweightr#   r9   r   r<   r   r   r=   r   r$   r2   ÚcloneÚhalfÚrangeÚappendÚroundÚdatar"   ÚintÚcatÚint32r,   r+   Ú
zeros_likeÚfloat32r3   )ÚclsÚlinearr9   r   Ú	init_onlyr2   r<   Ú
awq_linearÚscale_zerosr   ÚqscalesÚ	intweightÚidxr3   s   &&&&&&&       r
   Úfrom_linearÚWQLinear_GEMVFast.from_linear   s‹  € ñ ØØØ×ÑØ×ÑØ�K‰K˜tÐ#Ø�M‰M× Ñ ó
ˆ
÷ ØÐð Ò! eÒ&7Ð7Ð7Ø•nˆà˜×)Ñ)Õ)ˆÜ—+’+à—‘˜Q•Ü% f×&8Ñ&8¸*ÓEÈÕPðô —-‘-Ø—=‘=ô
ˆð )/�Ð$�V—\‘\ !•_Ð$Ð$Ñ%à#×-Ñ-¨a°Ó3×>Ñ>Ó@ˆ
ÔØ�;‰;Ò"Ø$Ÿk™k×/Ñ/Ó1×6Ñ6Ó8ˆJŒOàˆ	Ü˜×/Ñ/Ö0ˆCØ×ÑÜ—’Ø—]‘]×'Ñ'¨¨3¨Õ/°+¸aÀÕARÐ>RÕ2SÕSØ˜a Õ!2Ð2Õ3õ4ó÷ ‘"”U—Y‘Y“- õ)öñ 1ô —I’I˜i¨QÔ/ˆ	Ø—L‘L¤u§{¡{�LÓ3ˆ	Ü+Ø× Ñ Ó"¨q¸"ô
ˆ
Ôð —‘œuŸ{™{�Ó+ˆÜ×!Ò! 'Ó*ˆð �AÐ(˜Ÿ™ a�Ð(Ð(Õ)¨U¯X©X´e·m±mÓ-DÕEß
‰"ŒU�]‰]Ó
ð(ˆˆqÐ#�F—L‘L •OÐ#Ð#Ñ$ð #×,Ñ,¨Q°Ó2×=Ñ=Ó?ˆ
ÔàÐr   c           
     ó0  € \         f   \        R\        ,           4      hTpVP                  w  r4pV^8  d‡   V^8X  d€   \         P	                  VV P
                  V P                  V P                  VP                  4       VP                  R,          ,          V P                  V P                  V P                  4      pM5\         P                  W P
                  V P                  V P                  4      pV P                  e   W`P                  ,           pV# TpV# )Nz3External AWQ V2 kernels are not properly installed.r5   )r   ÚModuleNotFoundErrorÚmsgr   Úgemv_forward_cuda_decoder+   r2   r3   Únumelr8   r   r   Úgemm_forward_cuda_prefillr4   )r>   ÚxÚinputsÚ
batch_sizeÚn_tokensÚ_Úouts   &&     r
   ÚforwardÚWQLinear_GEMVFast.forward¹   sß   € äÒÜ%Ð&[Ô^aÕ&aÓbÐbØˆØ"(§,¡,Ñˆ
˜aØ˜Œ>˜h¨!œmÜ×5Ñ5ØØ—‘Ø—‘Ø—‘Ø—‘“ &§,¡,¨rÕ"2Õ2Ø×!Ñ!Ø× Ñ Ø—‘ó	‰Cô ×6Ñ6ØŸ™ d§k¡k°4·;±;óˆCð "&§¡Ò!6ˆc—I‘I�oˆàˆ
ð =@ˆàˆ
r   )r4   r   r   r&   r8   r:   r9   )FNN)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r7   ÚclassmethodrZ   r   Úno_gradrh   Ú__static_attributes__Ú__classdictcell__Ú__classcell__)rA   Ú__classdict__s   @@r
   r.   r.   D   s?   ù‡ € õ8ðt ó7ó ð7ðr ‡]‚]ƒ_ñó ÷ð r   r.   )r   é   )r   ÚwarningsÚawq.utils.moduler   r   r^   r   r   r,   ÚnnÚModuler.   r   r   r
   Ú<module>ry      sB   ðÛ Û Ý 'á˜\Ó*�€
ˆCò(ôò'ôTL˜Ÿ™Ÿ™ö Lr   