+
    ÒÜ³j¦  ã                   ó~   € ^ RI t ^ RIt^ RIHt ^ RIHt ]! R4      w  ttR tRR lt	 ! R R]P                  4      tR# )	é    N)Ú
try_importÚawq_extc                 ó.   € W,           ^,
          V,          # )é   © )ÚcÚdivisors   &&ÚX/home/luca/screen-checking/.venv/lib/python3.14/site-packages/awq/modules/linear/gemv.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                   ó†   a a€ ] tR t^t oV 3R lt]RR l4       t]P                  ! 4       R 4       t	V3R lR lt
RtVtV ;t# )ÚWQLinear_GEMVc           
     ó–  <€ \         SV `  4        VR9  d   \        R4      hW0n        W@n        Wn        VR	8w  d   TMTV n        ^V n        V P                  V P                  ,          ^ 8X  g   Q hV^ V P
                  ,          ,          ^ 8X  g   Q h^ V P
                  ,          pV P                  R\        P                  ! WCV,          3\        P                  VR7      4       V P                  R\        P                  ! V\        W0P                  4      3\        P                  VR7      4       V P                  R\        P                  ! V\        W0P                  4      V,          3\        P                  VR7      4       V'       d:   V P                  R\        P                  ! V\        P                  VR7      4       R# RV n        R# )
é   ú!Only 4-bit are supported for now.Úqweight©ÚdtypeÚdeviceÚqzerosÚscalesÚbiasN)r   éÿÿÿÿ)ÚsuperÚ__init__r   r   Úout_featuresÚw_bitr   Úsplit_k_itersÚregister_bufferÚtorchÚzerosÚint32r   Úfloat16r!   )	Úselfr&   r   r   r%   r!   Údevr   Ú	__class__s	   &&&&&&& €r
   r$   ÚWQLinear_GEMV.__init__   sw  ø€ Ü‰ÑÔà˜ÔÜ%Ð&IÓJÐJà&ÔØ(ÔØŒ
Ø(2°bÔ(8™*¸kˆŒØˆÔð ×Ñ $§/¡/Õ1°QÔ6Ð6Ð6Ø˜r T§Z¡ZÕ/Õ0°AÔ5Ð5Ð5Ø˜Ÿ™Õ#ˆà×ÑØÜ�KŠKØ¨hÕ6Ð7¼u¿{¹{ÐSVôô	
ð 	×ÑØÜ�KŠKØÔ4°[Ç/Á/ÓRÐSÜ—k‘kØôô	
ð 	×ÑØÜ�KŠKà Ü)¨+·±ÓGÈ(ÕRðô —m‘mØôô
	
÷ Ø× Ñ ØœŸš \¼%¿-¹-ÐPSÔTöð ˆDŽIr   c           
     óD	  € 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&   W§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P                  RWÃ,          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       FQ  pVRWé,          VV,          ,           3,          pVRV3;;,          VVVP
                  ,          ,          ,          uu&   KS  	  K†  	  W×n        VP%                  \        P*                  R7      p\        P                  ! VP                  ^ ,          \        VP                   V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é,          VV,          ,           VP                  ^,          8¼  d   K1  VRWé,          VV,          ,           3,          pVRV3;;,          VVVP
                  ,          ,          ,          uu&   K�  	  K´  	  VVn        V# )Nr   ºNNN)Údim©r   r   )r2   N)r   r   é   é   r   é   é   é   )r   r%   r!   Úweightr   r&   r)   r*   Úshaper   r,   r    ÚcloneÚhalfÚrangeÚappendÚroundÚdataÚtoÚintÚcatr+   r   r   r   )ÚclsÚlinearr&   r   Ú	init_onlyr    r*   Ú
awq_linearÚscale_zerosr   ÚqscalesÚ	intweightÚidxr   ÚcolÚ	order_mapÚiÚqweight_colr   Ú	qzero_cols   &&&&&&&             r
   Úfrom_linearÚWQLinear_GEMV.from_linearM   sš  € ñ ØØØ×ÑØ×ÑØ�K‰K˜tÐ#Ø�M‰M× Ñ ó
ˆ
÷ ØÐð Ò! eÒ&7Ð7Ð7Ø•nˆà˜×)Ñ)Õ)ˆÜ—+’+à—‘˜Q•Ü% f×&8Ñ&8¸*ÓEÈÕPðô —-‘-Ø—=‘=ô
ˆð )/�Ð$�V—\‘\ !•_Ð$Ð$Ñ%Ø#ÔØ�;‰;Ò"Ø$Ÿk™k×/Ñ/Ó1×6Ñ6Ó8ˆJŒOàˆ	Ü˜×/Ñ/Ö0ˆCØ×ÑÜ—’Ø—]‘]×'Ñ'¨¨3¨Õ/°+¸aÀÕARÐ>RÕ2SÕSØ ×'Ñ'¨¨3Õ+<Ð(<Õ=õ>ó÷ ‘"”U—Y‘Y“- õ)öñ 1ô —I’I˜i¨QÔ/ˆ	Ø—L‘L¤u§{¡{�LÓ3ˆ	Ü—+’+Ø�_‰_˜QÕ §¡°Õ!3°rÕ!9¸J×<LÑ<LÕ!LÐMÜ—+‘+Ø×#Ñ#ô
ˆô ˜Ÿ™¨Õ+¨xÕ7Ö8ˆCØ×Ñ 1Ô$Ú4‘	ä)Ð*MÓNÐNÜ˜8–_�Ø'¨¨3­>¸IÀa½LÕ+HÐ(HÕI�Ø˜˜3˜— ;°1°z×7GÑ7GÕ3GÕ#HÕH•ó %ñ 9ð %Ôà—‘œuŸ{™{�Ó+ˆÜ—’Ø�[‰[˜�^Ô2°6×3EÑ3EÀzÓRÐSÜ—+‘+Ø—<‘<ô
ˆô ˜%Ÿ+™+ a�.¨8Õ3°aÕ7¸HÕDÖEˆCØ×Ñ 1Ô$Ú4‘	ä)Ð*MÓNÐNÜ˜8–_�Ø•> I¨a¥LÕ0°E·K±KÀµNÔBÙØ! ! S¥^°iÀµlÕ%BÐ"BÕC�	Ø�q˜#�v— )°°J×4DÑ4DÕ0DÕ"EÕE•ó	 %ñ Fð #ˆ
ÔØÐr   c                ó&  € \         f   \        R\        ,           4      hVP                  R R V P                  3,           pVP                  RVP                  R,          4      pVP                  pV\        P                  8w  d   VP                  4       pVP                  ^ ,          ^8”  dN   \         P                  VV P                  V P                  V P                  V P                  V P                  4      pM@\         P!                  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                  V4      # )Nz0External AWQ kernels are not properly installed.r4   r"   )r   ÚModuleNotFoundErrorÚmsgr;   r%   Úreshaper   r)   r,   r=   Úgemmv2_forward_cudar   r    r   r   r'   Úgemv_forward_cudarB   r!   )r-   ÚxÚ	out_shapeÚinputsÚinput_dtypeÚouts   &&    r
   ÚforwardÚWQLinear_GEMV.forwardœ   s$  € äŠ?Ü%Ð&XÔ[^Õ&^Ó_Ð_à—G‘G˜C˜R�L D×$5Ñ$5Ð#7Õ7ˆ	Ø—‘˜2˜qŸw™w r�{Ó+ˆà—l‘lˆØœ%Ÿ-™-Ô'Ø—[‘[“]ˆFà�<‰<˜�?˜QÔÜ×-Ñ-ØØ—‘Ø—‘Ø—‘Ø—‘Ø×"Ñ"ó‰Cô ×+Ñ+ØŸ™ d§k¡k°4·;±;ÀÇÁóˆCð œ%Ÿ-™-Ô'Ø—&‘&˜{�&Ó+ˆCà!%§¡Ò!6ˆc—I‘IŽo¸CˆØ�{‰{˜9Ó%Ð%r   c                ó    <€ V ^8„  d   QhRS[ /# )r5   Úreturn)Ústr)ÚformatÚ__classdict__s   "€r
   Ú__annotate__ÚWQLinear_GEMV.__annotate__¼   s   ø€ ÷ 	
ñ 	
™Cñ 	
r   c                ó”   € R P                  V P                  V P                  V P                  RJV P                  V P
                  4      # )zAin_features={}, out_features={}, bias={}, w_bit={}, group_size={}N)rd   r   r%   r!   r&   r   )r-   s   &r
   Ú
extra_reprÚWQLinear_GEMV.extra_repr¼   sA   € àO×VÑVØ× Ñ Ø×!Ñ!Ø—	‘	 Ð%Ø—
‘
Ø—‘óð	
r   )r!   r   r   r%   r'   r&   )FNN)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r$   ÚclassmethodrR   r)   Úno_gradr_   ri   Ú__static_attributes__Ú__classdictcell__Ú__classcell__)r/   re   s   @@r
   r   r      sK   ù‡ € õ/ðb óLó ðLð\ ‡]‚]ƒ_ñ&ó ð&÷>	
÷ 	
ð 	
r   r   )r   é   )r)   ÚwarningsÚtorch.nnÚnnÚawq.utils.moduler   r   rV   r   r   ÚModuler   r   r   r
   Ú<module>rz      s;   ðÛ Û Ý Ý 'á˜)Ó$�€ˆò(ôôj
�B—I‘Iö j
r   