+
    "Ý³j$  ã                  ó  € ^ RI Ht ^ RIHtHt ^ RI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 ^R	IHt ^R
IHtHtHtHtHtHtHt ^RIHtHtH t  ^RI!H"t" ^RI#H$t$ ]! 4       t%R R lt&R R lt' ! R R]4      t(R.t)R# )é    )Úannotations)ÚOptionalÚTupleN)ÚAdapterÚLora)ÚDEVICEÚPLATFORM)ÚAWQuantLinear)ÚFORMATÚMETHOD)ÚBACKEND)Úsetup_logger)Ú _validate_machete_device_supportÚmachete_extension_availableÚmachete_extension_errorÚ
machete_mmÚmachete_prepack_BÚmachete_runtime_errorÚ pack_quantized_values_into_int32)Úreplace_parameterÚreplace_tensorÚunpack_cols)Úscalar_types)ÚIS_ROCMc               ó$   € V ^8„  d   QhRRRRRR/# )é   Úvaluesútorch.TensorÚnum_bitsÚintÚreturn© )Úformats   "Úi/home/luca/screen-checking/.venv/lib/python3.14/site-packages/gptqmodel/nn_modules/qlinear/machete_awq.pyÚ__annotate__r%   "   s!   € ÷ ñ  ð ¸ð Àñ ó    c                óä   € V^8X  d   . ROpMV^8X  d   . ROpM\        RV 24      hV P                  R\        V4      4      RV3,          P                  V P                  4      P	                  4       # )é   zUnsupported AWQ num_bits=:NNN)r   r(   é   é   r   é   é   é   )r   r   r)   r,   éÿÿÿÿ)Ú
ValueErrorÚreshapeÚlenÚshapeÚ
contiguous)r   r   Úundo_interleaves   && r$   Ú_undo_awq_interleaver5   "   sf   € Ø�1„}Ú2‰Ø	�QŒÚ&‰äÐ4°X°JÐ?Ó@Ð@ð 	�‰�rœ3˜Ó/Ó0°°OÐ1CÕDß	‰�—‘Ó	ß	‰‹ðr&   c               ó(   € V ^8„  d   QhRRRRRRRR/# )	r   Úmoduleztorch.nn.ModuleÚnameÚstrÚ
new_tensorr   r!   ÚNoner"   )r#   s   "r$   r%   r%   1   s6   € ÷ Uñ UØðUà
ðUð ðUð 
ñ	Ur&   c           	     óî  € WP                   9   d/   \        V V\        P                  P	                  VR R7      4       R# WP
                  9   d„   \        W4      pVP                  VP                  8X  dN   VP                  4       P                  4       VP                  4       P                  4       8X  d   \        WV4       R# W P
                  V&   R# \        V P                  P                   RV R24      h)F)Úrequires_gradNÚ.z is not a registered tensor)Ú_parametersr   ÚtorchÚnnÚ	ParameterÚ_buffersÚgetattrÚdtypeÚuntyped_storageÚnbytesr   ÚKeyErrorÚ	__class__Ú__name__)r7   r8   r:   Úcurrents   &&& r$   Ú_replace_registered_tensorrL   1   sÒ   € ð
 ×!Ñ!Ô!ÜØØÜ�H‰H×Ñ˜z¸ÐÓ?ô	
ñ
 	à�‰ÔÜ˜&Ó'ˆà�M‰M˜Z×-Ñ-Ô-Ø×'Ñ'Ó)×0Ñ0Ó2°j×6PÑ6PÓ6R×6YÑ6YÓ6[Ô[ä˜6¨Ô4ñ 	ð %/�O‰O˜DÑ!Ùä
�f×&Ñ&×/Ñ/Ð0°°$°Ð7RÐSÓ
TÐTr&   c                  óö  a € ] tR t^Lt]P
                  .t]P                  .t	]
P                  ^d]
P                  ^d/t^^.t. ROtR.tRR.tRtRtRt^@.t^€.t]P0                  .t]P6                  .t]P<                  .t] .t!]PD                  ]PF                  .t$Rt%Rt&^]'PP                  ^]'PR                  /t*R]P<                  RR3R V 3R lllt+],R R l4       t-],R	 V 3R
 ll4       t.V 3R lt/R R lt0Rt1V ;t2# )ÚAwqMacheteLinearFTÚawq_macheteNc               ó@   € 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   Úbitsr    Ú
group_sizeÚdesc_actÚboolÚsymÚin_featuresÚout_featuresÚbiasÚ
pack_dtypeztorch.dtypeÚadapterr   Úregister_buffersr"   )r#   s   "r$   r%   ÚAwqMacheteLinear.__annotate__j   sn   € ÷ $ñ $àð$ð ð$ð ð	$ð
 ð$ð ð$ð ð$ð ð$ð $ð$ð ð$ð #ñ$r&   c                	óf  <€ WP                   9  d3   \        R V R\        V P                   P                  4       4       24      h\        SV `  ! RRVRVRVRRRVRVR	VR
VRVP                  R\        P                  4      RV	RV
/VB  V P                   V P                  ,          V n
        RV n        R# )zUnsupported num_bits = z. Supported: rQ   rR   rU   rS   FrV   rW   rX   rY   ÚbackendrZ   r[   TNr"   )ÚTYPE_MAPr/   ÚlistÚkeysÚsuperÚ__init__Úpopr   ÚAWQ_MACHETErQ   Úweight_typeÚhas_zero_points)ÚselfrQ   rR   rS   rU   rV   rW   rX   rY   rZ   r[   ÚkwargsrI   s   &&&&&&&&&&&,€r$   rc   ÚAwqMacheteLinear.__init__j   sì   ø€ ð —}‘}Ô$ÜÐ6°t°f¸MÌ$ÈtÏ}É}×OaÑOaÓOcÓJdÐIeÐfÓgÐgä‰Òñ 	Øð	à!ð	ð ð	ð ð		ð
 $ð	ð &ð	ð ð	ð "ð	ð —J‘J˜y¬'×*=Ñ*=Ó>ð	ð ð	ð .ð	ð ò	ð  Ÿ=™=¨¯©Õ3ˆÔØ#ˆÖr&   c               ó   € V ^8„  d   QhRR/# )r   r!   z Tuple[bool, Optional[Exception]]r"   )r#   s   "r$   r%   r\   Œ   s   € ÷ ñ Ð>ñ r&   c                	óP   € \        4       '       g   R \        \        4       4      3# R# )F)TN)r   ÚImportErrorr   )Úclss   &r$   Úvalidate_onceÚAwqMacheteLinear.validate_once‹   s%   € ä*×,Ò,Øœ+Ô&=Ó&?Ó@Ð@Ð@ØÐr&   c               ó   € V ^8„  d   QhRR/# )r   ÚdevicezDEVICE | torch.devicer"   )r#   s   "r$   r%   r\   ’   s   € ÷ Mñ MÐ%:ñ Mr&   c                	ó’  <€ \         SV `  V4       \        V\        P                  4      '       d   VP
                  MTR \        P                  39   dô   \        '       d   \        R4      h\        V\        P                  4      '       d   V3Mu\        ;QJ d9    . R \        \        P                  P                  4       4       4       F  NK  	  5M2! R \        \        P                  P                  4       4       4       4      pV'       g   \        R4      hV F(  p\        V4      '       d   K  \        \        V4      4      h	  R# R# )Úcudaz(Machete kernel is not supported on ROCm.c              3  óT   "  € T F  p\         P                  ! R V 24      x € K   	  R# 5i)zcuda:N)r@   rr   )Ú.0Úindexs   & r$   Ú	<genexpr>Ú3AwqMacheteLinear.validate_device.<locals>.<genexpr>š   s$   é € ÐgÑFf¸Uœ5Ÿ<š<¨%°¨w¨×8Ð8ÓFfùs   ‚&(zMachete kernel requires CUDA.N)rb   Úvalidate_deviceÚ
isinstancer@   rr   Útyper   ÚCUDAr   ÚNotImplementedErrorÚtupleÚrangert   Údevice_countr   r   )rn   rr   ÚtargetsÚtargetrI   s   &&  €r$   rz   Ú AwqMacheteLinear.validate_device‘   sç   ø€ ä‰Ñ Ô'Ü% f¬e¯l©l×;Ò;ˆF�KŠKÀÈVÔU[×U`ÑU`ÐLaÔaß‹wÜ)Ð*TÓUÐUô ˜f¤e§l¡l×3Ò3ð ‘	ç”UÑgÄeÌEÏJÉJ×LcÑLcÓLeÔFfÓg—U‘UÑgÄeÌEÏJÉJ×LcÑLcÓLeÔFfÓgÓgð ÷
 Ü)Ð*IÓJÐJÛ!�Ü7¸×?Ô?Ü-Ô.CÀFÓ.KÓLÐLó "ñ br&   c                	óÜ  <€ V P                   P                  p\        V P                   V P                  V P                  V P
                  4      P                  VR 7      p\        W P                  4      p\        VV P                  ^ R7      pVP                  4       P                  4       P                  4       p\        VV P                  P                  V P                  V P                  P                  R7      p\        V RVP                  4       4       \        V RV P                  P                  4       4       V P                   R8X  d   V P                  MV P                   pV P                  V,          p\        V P"                  V P                  VV P
                  4      P                  VR 7      p\        WpP                  4      pV P                  pR	VP                  VP                  R7      ,          VP                  VP                  4      ,          P                  4       p	\        V RV	4       V P$                  e"   V P$                  P                  VR 7      V n        \&        S
V `Q  4        R# )
)rr   )Ú
packed_dim)Úa_typeÚb_typeÚgroup_scales_typeÚqweightÚscales©rE   ÚqzerosNr.   g      ð¿)rŠ   rr   r   rQ   rV   rW   Útor5   r   rf   Útr3   r   r‹   rE   rL   rR   r�   rX   rb   Ú	post_init)rh   rr   Úqweight_intÚpackedÚ	prepackedÚeffective_group_sizeÚ
num_groupsÚqzeros_unpackedr‹   Ú	qzeros_fprI   s   &         €r$   r�   ÚAwqMacheteLinear.post_init¢   sä  ø€ Ø—‘×$Ñ$ˆô "Ø�L‰LØ�I‰IØ×ÑØ×Ñó	
÷
 ‰"�Fˆ"Ó
ð 	ô +¨;¿	¹	ÓBˆä1ØØ×ÑØô
ˆð
 —‘“×&Ñ&Ó(×*Ñ*Ó,ˆÜ%ØØ—;‘;×$Ñ$Ø×#Ñ#Ø"Ÿk™k×/Ñ/ô	
ˆ	ô 	# 4¨°I×4HÑ4HÓ4JÔKô 	# 4¨°4·;±;×3IÑ3IÓ3KÔLð 48·?±?ÀbÔ3H˜t×/Ò/ÈdÏoÉoÐØ×%Ñ%Ð)=Õ=ˆ
ä%Ø�K‰KØ�I‰IØØ×Ñó	
÷
 ‰"�Fˆ"Ó
ð 	ô /¨Ç	Á	ÓJˆà—‘ˆØ˜FŸI™I¨F¯L©L˜IÓ9Õ9¸O×<NÑ<NÈvÏ|É|Ó<\Õ\×hÑhÓjˆ	Ü" 4¨°9Ô=à�9‰9Ò ØŸ	™	Ÿ™¨F˜Ó3ˆDŒIä‰ÑÖr&   c               ó   € V ^8„  d   QhRR/# )r   Úxr   r"   )r#   s   "r$   r%   r\   Ô   s   € ÷ ñ ˜ñ r&   c           	     	óž  € V P                  V4      ^ 8X  d   V P                  V4      # VP                  RVP                  R,          4      pV P                  P                  VP                  R7      pV P                  P                  VP                  R7      p\        VV P                  V P                  VVV P                  R7      pV P                  e   VP                  V P                  4       VP                  VP                  RR V P                  3,           4      pV P                  '       d   V P                  P!                  WR7      pV# )r   rŒ   )ÚaÚb_qrˆ   Úb_group_scalesÚb_group_zerosÚb_group_sizeN)rš   Úoutr.   )Ú
input_rowsÚempty_linear_outputr0   r2   r‹   rŽ   rE   r�   r   rŠ   rf   rR   rX   Úadd_rW   rZ   Úapply)rh   rš   Úinput_2dÚgroup_scalesÚgroup_zerosÚoutputÚresults   &&     r$   ÚforwardÚAwqMacheteLinear.forwardÔ   sý   € Ø�?‰?˜1Ó Ô"Ø×+Ñ+¨AÓ.Ð.à—9‘9˜R §¡¨¥Ó-ˆØ—{‘{—~‘~¨H¯N©N�~Ó;ˆØ—k‘k—n‘n¨8¯>©>�nÓ:ˆäØØ—‘Ø×#Ñ#Ø'Ø%ØŸ™ô
ˆð �9‰9Ò Ø�K‰K˜Ÿ	™	Ô"à—‘ §¡¨¨ °×0AÑ0AÐ/CÕ CÓDˆà�<�<ˆ<Ø—\‘\×'Ñ'¨!Ð'Ó8ˆFàˆr&   )rX   rg   rf   )r.   é    é@   é€   )3rJ   Ú
__module__Ú__qualname__Ú__firstlineno__r   re   ÚSUPPORTS_BACKENDSr   ÚAWQÚSUPPORTS_METHODSr   ÚGEMMÚMARLINÚ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   r}   ÚSUPPORTS_DEVICESr	   ÚLINUXÚSUPPORTS_PLATFORMr@   Úint32ÚSUPPORTS_PACK_DTYPESr   ÚSUPPORTS_ADAPTERSÚfloat16Úbfloat16ÚSUPPORTS_DTYPESÚREQUIRES_FORMAT_V2Ú
QUANT_TYPEr   Úuint4Úuint8r_   rc   Úclassmethodro   rz   r�   r«   Ú__static_attributes__Ú__classcell__)rI   s   @r$   rN   rN   L   s6  ø† Ø ×,Ñ,Ð-ÐØŸ
™
�|ÐØŸ™ S¨&¯-©-¸Ð=ÐØ˜�F€MÚ+ÐØ˜ÐØ˜%�=€LØ€OØÐØ!ÐØ)+¨Ð%Ø*-¨Ð&àŸ™�}ÐØ!Ÿ™Ð(ÐØ!ŸK™K˜=ÐØ˜Ðà—}‘} e§n¡nÐ5€OàÐà€Jð 	
ˆ<×ÑØ	ˆ<×Ñð€Hð Ø&+§k¡kØ#Ø%*÷$ò $ðB ôó ðð
 ÷Mó ðMõ 0÷dó r&   rN   )*Ú
__future__r   Útypingr   r   r@   Úadapter.adapterr   r   Úmodels._constr   r	   Únn_modules.qlinearr
   Úquantizationr   r   Úutils.backendr   Úutils.loggerr   Úutils.macheter   r   r   r   r   r   r   Úutils.marlinr   r   r   Úutils.marlin_scalar_typer   Ú
utils.rocmr   Úlogr5   rL   rN   Ú__all__r"   r&   r$   Ú<module>rà      sm   ðõ
 #ç "ã ç ,ß -Ý /ß *Ý $Ý (÷÷ ñ ÷ KÑ JÝ 4Ý !ñ ƒn€õõUô6a�}ô aðH Ð
‚r&   