+
    "Ý³j   ã                  ó¼   € ^ RI Ht ^ 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Ht ^RIHtHt ^R	IHt ^R
IHtHtHtHt  ! R R]4      t]tRR.tR# )é    )Úannotations)ÚOptionalÚUnionN)Únn)ÚAdapterÚLora)ÚDEVICEÚPLATFORM)ÚFORMATÚMETHOD)Úreverse_awq_orderÚ
unpack_awq)ÚBACKEND)ÚBITBLAS_OPTIMIZE_FEATURESÚBITBLAS_PROPAGATE_WEIGHTSÚBitblasBaseQuantLinearÚBitblasQuantizationConfigc            
      ó"  a € ] tR t^t]P
                  .t]P                  .t	]
P                  ^ ]
P                  ^/t^.t. ROtRR.tRR.tRtRtRt^.t^.t]P0                  .t]P6                  ]P8                  .t]P>                  .t ]!.t"]PF                  ]PH                  .t%Rt&R]P>                  ]PF                  RRR]'](RR3
R V 3R lllt)R R	 lt*]PV                  ! 4       RR
 R ll4       t,]PV                  ! 4       R R l4       t-Rt.V ;t/# )ÚAWQBitBlasKernelFTÚawq_bitblasNÚntc          "     ó\   € V ^8„  d   QhRRRRRRRRRRRRR	RR
RRRRRRRRRRRRRRRRRRR/# )é   ÚbitsÚintÚ
group_sizeÚdesc_actÚboolÚsymÚin_featuresÚout_featuresÚbiasÚ
pack_dtypeútorch.dtypeÚdtypeÚadapterr   Úenable_tuningÚfast_decodingÚpropagate_bÚopt_featureszUnion[int, list[int]]ÚlayoutÚstrÚregister_buffersÚreturnÚNone© )Úformats   "Úi/home/luca/screen-checking/.venv/lib/python3.14/site-packages/gptqmodel/nn_modules/qlinear/bitblas_awq.pyÚ__annotate__ÚAWQBitBlasKernel.__annotate__1   s´   € ÷ '
ñ '
àð'
ð ð'
ð ð	'
ð
 ð'
ð ð'
ð ð'
ð ð'
ð  ð'
ð ð'
ð ð'
ð ð'
ð ð'
ð ð'
ð ,ð'
ð  ð!'
ð" ð#'
ð& 
ñ''
ó    c           	     	óÊ   <€ \         SV `  ! R/ R VbRVbRVbRVbRVbRVbRVbRVbRV	bR	V
bR
VbRVbRVbRVbRVbRVbRVP                  R\        P                  4      bVB  R# )r   r   r   r   r    r!   r"   r#   r%   r&   r'   r(   r)   r*   r+   r-   ÚbackendNr0   )ÚsuperÚ__init__Úpopr   ÚAWQ_BITBLAS)Úselfr   r   r   r   r    r!   r"   r#   r%   r&   r'   r(   r)   r*   r+   r-   ÚkwargsÚ	__class__s   &&&&&&&&&&&&&&&&&,€r2   r9   ÚAWQBitBlasKernel.__init__1   sÌ   ø€ ô( 	‰Òò 	
Ùð	
á!ð	
ñ ð	
ñ ð		
ñ
 $ð	
ñ &ð	
ñ ð	
ñ "ð	
ñ ð	
ñ ð	
ñ (ð	
ñ (ð	
ñ $ð	
ñ &ð	
ñ ð	
ñ  .ð!	
ð" —J‘J˜y¬'×*=Ñ*=Ô>Øô%	
r5   c               ó0   € V ^8„  d   QhRRRRRRRRRRR	R
/# )r   r   r   r   r   r   r   r%   r$   r.   r   r0   )r1   s   "r2   r3   r4   Z   sH   € ÷ 
ñ 
ð ð
ð ð	
ð
 ð
ð ð
ð ð
ð 
#ñ
r5   c          	     	ó&   € ?\        VVVR VRR7      # )FÚawq)Úweight_bitsr   r   Úis_symÚtorch_dtypeÚquant_method)r   )r<   r   r   r   r   r%   s   &$$$$$r2   Ú_build_quant_configÚ$AWQBitBlasKernel._build_quant_configZ   s(   € ð ô )ØØ!ØØØØô
ð 	
r5   c          
     ó,   € V ^8„  d   QhRRRRRRRRRR	/# )
r   Úlinearz	nn.ModuleÚscalesztorch.TensorÚzerosÚg_idxzOptional[torch.Tensor]r.   r/   r0   )r1   s   "r2   r3   r4   p   s<   € ÷ 
ñ 
àð
ð ð
ð ð	
ð
 &ð
ð 
ñ
r5   c                	ó  € ?Ve   Vf   \        R4      hVP                  4       P                  4       pVP                  4       P                  4       pVP                  P	                  4       P                  4       p\
        P                  ! V P                  VP                  \
        P                  R7      V P                  ,          p^V P                  ,          ^,
          pW2,          P                  ^ V4      P                  4       pVP                  ^ V4      P                  4       p	\
        P                  ! WX,           V	,          4      P                  ^ V4      P                  \
        P                   4      p
T P#                  T
VP                  4       P                  4       \
        P                  ! V4      P                  \
        P                   4      P                  4       VP$                  e   VP$                  P	                  4       MR R7       R # )Nz5AWQBitBlasKernel.pack requires both scales and zeros.)Údevicer%   ©Úintweight_out_inÚscales_out_groupÚintzeros_group_outr"   )Ú
ValueErrorÚtÚ
contiguousÚweightÚdetachÚtorchÚaranger    rO   Úint64r   r   Úindex_selectÚroundÚclamp_ÚtoÚint8Ú_load_bitblas_quant_stater"   )r<   rJ   rK   rL   rM   rW   Ú	group_idxÚmaxqÚscale_zerosÚscales_by_inputÚ	intweights   &&&&&      r2   ÚpackÚAWQBitBlasKernel.packo   su  € ð àŠ>˜Uš]ÜÐTÓUÐUà—‘“×&Ñ&Ó(ˆØ—‘“	×$Ñ$Ó&ˆà—‘×%Ñ%Ó'×2Ñ2Ó4ˆÜ—L’L ×!1Ñ!1¸&¿-¹-ÌuÏ{É{Ô[Ð_c×_nÑ_nÕnˆ	Ø�T—Y‘Y• !Õ#ˆð •~×3Ñ3°A°yÓA×CÑCÓEˆØ ×-Ñ-¨a°Ó;×=Ñ=Ó?ˆÜ—K’K Õ!5¸Õ HÓI×PÑPÐQRÐTXÓY×\Ñ\Ô]b×]gÑ]gÓhˆ	à×&Ñ&Ø&Ø#ŸX™X›Z×2Ñ2Ó4Ü$Ÿ{š{¨5Ó1×4Ñ4´U·Z±ZÓ@×KÑKÓMØ)/¯©Ò)@�—‘×#Ñ#Ô%Àdð	 	'ö 	
r5   c               ó   € V ^8„  d   QhRR/# )r   r.   r/   r0   )r1   s   "r2   r3   r4   �   s   € ÷ 
ñ 
¨Tñ 
r5   c           
     	ó$  € \        VR R4      pVf   \        R4      h\        VP                  P	                  4       VP	                  4       V P
                  4      w  r4\        W4V P
                  4      w  r4^V P
                  ,          ^,
          p\        P                  ! W54      P                  \        P                  4      P                  4       P                  4       p\        P                  ! WE4      P                  \        P                  4      P                  4       pT P                  TVP                  P	                  4       P                  4       P                  4       T\        VRR4      e   VP                  P	                  4       MRR7       R# )ÚqzerosNz;AWQBitBlasKernel requires qzeros to repack AWQ checkpoints.r"   rP   )ÚgetattrrT   r   ÚqweightrX   r   r   rY   Úbitwise_andr_   r`   rU   rV   ra   rK   r"   )r<   Ú
awq_modulerk   rf   Úintzerosrc   s   &&    r2   Úrepack_from_awqÚ AWQBitBlasKernel.repack_from_awq�   s.  € ä˜ X¨tÓ4ˆØŠ>ÜÐZÓ[Ð[ä(Ø×Ñ×%Ñ%Ó'Ø�M‰M‹OØ�I‰Ió
Ñˆ	ô
 0°	ÀTÇYÁYÓOÑˆ	à�T—Y‘Y• !Õ#ˆÜ×%Ò% iÓ6×9Ñ9¼%¿*¹*ÓE×GÑGÓI×TÑTÓVˆ	Ü×$Ò$ XÓ4×7Ñ7¼¿
¹
ÓC×NÑNÓPˆà×&Ñ&Ø&Ø'×.Ñ.×5Ñ5Ó7×9Ñ9Ó;×FÑFÓHØ'Ü-4°ZÀÈÓ-NÒ-Z�—‘×'Ñ'Ô)Ð`dð	 	'ö 	
r5   r0   )éÿÿÿÿé    é@   é€   )N)0Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r   r;   ÚSUPPORTS_BACKENDSr   ÚAWQÚSUPPORTS_METHODSr   ÚGEMMÚBITBLASÚ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ÚSUPPORTS_DEVICESr
   ÚLINUXÚWIN32ÚSUPPORTS_PLATFORMrY   Úint32ÚSUPPORTS_PACK_DTYPESr   ÚSUPPORTS_ADAPTERSÚfloat16Úbfloat16ÚSUPPORTS_DTYPESÚ
QUANT_TYPEr   r   r9   rG   Úinference_moderg   rq   Ú__static_attributes__Ú__classcell__)r>   s   @r2   r   r      s2  ø† Ø ×,Ñ,Ð-ÐØŸ
™
�|ÐØŸ™ Q¨¯©¸Ð;ÐØ�C€MÚ+ÐØ ˜ÐØ˜4�=€LØ€OØÐØ!ÐØ)+¨Ð%Ø*,¨Ð&àŸ™�}ÐØ!Ÿ™¨¯©Ð8ÐØ!ŸK™K˜=ÐØ˜Ðà—}‘} e§n¡nÐ5€Oà€Jð Ø"'§+¡+Ø"Ÿ]™]ØØ#Ø"Ø5Ø.GØØ!&÷#'
ò '
õR
ð* ×ÒÓö
ó ð
ð> ×ÒÓô
ó ö
r5   r   ÚAwqBitBLASLinear)Ú
__future__r   Útypingr   r   rY   r   Úadapter.adapterr   r   Úmodels._constr	   r
   Úquantizationr   r   Ú$quantization.awq.utils.packing_utilsr   r   Úutils.backendr   Úbitblasr   r   r   r   r   r™   Ú__all__r0   r5   r2   Ú<module>r£      sO   ðõ #ç "ã Ý ç ,ß -ß *ß QÝ $÷ó ôK
Ð-ô K
ð\ $Ð àÐ1Ð
2‚r5   