+
    "Ý³j®+  ã                  ó  € ^ RI Ht ^ RIt^ RIHt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HtH t H!t!H"t" ^RI#H$t$ ^RI%H&t& ^RI'H(t( ]! 4       t) ! R R]4      t*R.t+R# )é    )ÚannotationsN)ÚListÚOptionalÚTuple)ÚAdapterÚLora)ÚDEVICEÚPLATFORM)ÚGPTQQuantLinear)ÚFORMATÚMETHOD)ÚBACKEND)Úsetup_logger)Ú _validate_machete_device_supportÚcheck_machete_supports_shapeÚmachete_extension_availableÚmachete_extension_errorÚ
machete_mmÚmachete_prepack_BÚmachete_runtime_errorÚ pack_quantized_values_into_int32Ú#query_machete_supported_group_sizesÚ#query_machete_supported_quant_typesÚ"unpack_quantized_values_into_int32)Úreplace_parameter)Úscalar_types)ÚIS_ROCMc                  ó8  a € ] tR t^(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,                  .t]P2                  .t]P8                  .t].t]P@                  ]PB                  .t"Rt#Rt$R]%PL                  R]%PN                  R]%PP                  R]%PR                  /t*R]P8                  RR3R V 3R lllt+],R R l4       t-],R	 R
 l4       t.],R V 3R ll4       t/V 3R lt0R V 3R llt1R R lt2Rt3V ;t4# )ÚMacheteLinearTFÚ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/
# )é   ÚbitsÚintÚ
group_sizeÚdesc_actÚboolÚsymÚin_featuresÚout_featuresÚbiasÚ
pack_dtypeztorch.dtypeÚregister_buffersÚadapterr   © )Úformats   "Úe/home/luca/screen-checking/.venv/lib/python3.14/site-packages/gptqmodel/nn_modules/qlinear/machete.pyÚ__annotate__ÚMacheteLinear.__annotate__G   s†   € ÷ YNñ YNàðYNð ðYNð ð	YNð
 ðYNð ðYNð ðYNð ðYNð $ðYNð #ðYNð ñYNó    c                	óü  <€ W3V P                   9  d   \        R V RV 24      h\        SV `  ! RRVRVRVRVRVRVRVR	VR
VP	                  R
\
        P                  4      RV
RR/VB  V P                  R\        P                  P                  \        P                  ! V P                  V P                  ,          V P                  \        P                  R7      RR7      4       V P                  R\        P                  P                  \        P                  ! V P                  \        P                  R7      RR7      4       \         P"                  ! V P                  V P$                  ,          4      pV P                  R\        P                  P                  \        P                  ! VV P                  \        P&                  R7      RR7      4       V P                  R\        P                  P                  \        P                  ! VV P                  V P                  ,          V P(                  R7      RR7      4       V'       dB   V P+                  R\        P,                  ! V P                  \        P&                  R7      4       MRV n        V P                   V P0                  V P2                  3,          V n        RV n        V P+                  R\        P                  ! ^ \        P                  R7      4       R# )z&Unsupported quantization config: bits=ú, sym=r#   r%   r(   r&   r)   r*   r+   r,   Úbackendr.   r-   FÚqweight©Údtype©Úrequires_gradÚg_idxÚscalesÚqzerosNÚ
input_permr/   )ÚTYPE_MAPÚ
ValueErrorÚsuperÚ__init__Úpopr   ÚGPTQ_MACHETEÚregister_parameterÚtorchÚnnÚ	ParameterÚemptyr)   Úpack_factorr*   Úint32ÚmathÚceilr%   Úfloat16r,   Úregister_bufferÚzerosr+   r#   r(   Úweight_typeÚhas_zero_points)Úselfr#   r%   r&   r(   r)   r*   r+   r,   r-   r.   ÚkwargsÚgrouped_rowsÚ	__class__s   &&&&&&&&&&&, €r1   rD   ÚMacheteLinear.__init__G   s£  ø€ ð ˆ;˜dŸm™mÔ+ÜÐEÀdÀVÈ6ÐRUÐQVÐWÓXÐXä‰Òñ 	Øð	à!ð	ð ð	ð ð		ð
 $ð	ð &ð	ð ð	ð "ð	ð —J‘J˜y¬'×*>Ñ*>Ó?ð	ð ð	ð #ð	ð ò	ð 	×ÑØÜ�H‰H×ÑÜ—’Ø×$Ñ$¨×(8Ñ(8Õ8Ø×%Ñ%ÜŸ+™+ôð
 $ð ó ô
	
ð 	×ÑØÜ�H‰H×ÑÜ—’˜D×,Ñ,´E·K±KÔ@Ø#ð ó ô	
ô —y’y ×!1Ñ!1°D·O±OÕ!CÓDˆØ×ÑØÜ�H‰H×ÑÜ—’Ø Ø×%Ñ%ÜŸ-™-ôð
 $ð ó ô
	
ð 	×ÑØÜ�H‰H×ÑÜ—’Ø Ø×%Ñ%¨×)9Ñ)9Õ9ØŸ/™/ôð
 $ð ó ô
	
÷ Ø× Ñ  ¬¯ª°d×6GÑ6GÔPU×P]ÑP]Ô)^Õ_àˆDŒIàŸ=™=¨$¯)©)°T·X±XÐ)>Õ?ˆÔØ$ˆÔð 	×Ñ˜\¬5¯;ª;°qÄÇÁÔ+LÖMr4   c               ó   € V ^8„  d   QhRR/# ©r"   Úreturnz Tuple[bool, Optional[Exception]]r/   )r0   s   "r1   r2   r3   £   s   € ÷ ñ Ð>ñ r4   c                	óP   € \        4       '       g   R \        \        4       4      3# R# )F©TN)r   ÚImportErrorr   )Úclss   &r1   Úvalidate_onceÚMacheteLinear.validate_once¢   s%   € ä*×,Ò,Øœ+Ô&=Ó&?Ó@Ð@Ð@ØÐr4   c               ó   € V ^8„  d   QhRR/# r[   r/   )r0   s   "r1   r2   r3   ©   s   € ÷ ñ Ð!Añ r4   c                	ó”  € V P                   ! R/ VB w  r#V'       g   W#3# VP                  R 4      pVP                  R4      pVe'   Ve#   \        WE4      w  rgV'       g   R\        V4      3# VP                  R4      pVP                  RR4      p	V P                  P                  W‰34      p
V
f   R\        RV RV	 24      3# V
\        V	'       * R7      9  d   R\        RV RV	 24      3# VP                  R	4      pVP                  R
4      ;'       g    \        P                  pV\        V4      9  d   R\        RV RV 24      3# R# )r)   r*   Fr#   r(   TzMachete does not support bits=r6   )Úzero_pointsr%   r:   z$Machete does not support group_size=z for dtype=r/   r^   )	Ú	_validateÚgetr   rB   rA   r   rH   rP   r   )r`   ÚargsÚokÚerrr)   r*   Ú	supportedÚreasonr#   r(   Ú
quant_typer%   r:   s   &,           r1   ÚvalidateÚMacheteLinear.validate¨   sS  € à—-’-Ñ' $Ñ'‰ˆßØ�7ˆNà—h‘h˜}Ó-ˆØ—x‘x Ó/ˆØÒ" |Ò'?Ü <¸[Ó WÑˆIßØœj¨Ó0Ð0Ð0à�x‰x˜ÓˆØ�h‰h�u˜dÓ#ˆØ—\‘\×%Ñ% t kÓ2ˆ
ØÒØœ*Ð'EÀdÀVÈ6ÐRUÐQVÐ%WÓXÐXÐXØÔ@ÐQTÌWÔUÔUØœ*Ð'EÀdÀVÈ6ÐRUÐQVÐ%WÓXÐXÐXà—X‘X˜lÓ+ˆ
Ø—‘˜Ó!×2Ð2¤U§]¡]ˆØÔ@ÀÓGÔGØœ*Ø6°z°lÀ+ÈeÈWÐUóð ð ð Ðr4   c               ó   € V ^8„  d   QhRR/# )r"   ÚdevicezDEVICE | torch.devicer/   )r0   s   "r1   r2   r3   Ç   s   € ÷ Mñ MÐ%:ñ Mr4   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)rH   rq   )Ú.0Úindexs   & r1   Ú	<genexpr>Ú0MacheteLinear.validate_device.<locals>.<genexpr>Ï   s$   é € ÐgÑFf¸Uœ5Ÿ<š<¨%°¨w¨×8Ð8ÓFfùs   ‚&(zMachete kernel requires CUDA.N)rC   Úvalidate_deviceÚ
isinstancerH   rq   Útyper	   ÚCUDAr   ÚNotImplementedErrorÚtupleÚrangers   Údevice_countr   r   )r`   rq   ÚtargetsÚtargetrX   s   &&  €r1   ry   ÚMacheteLinear.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r4   c                	ó   <€ V P                   P                  pR pV P                  '       d¥   \        P                  ! V P
                  4      P                  \        P                  4      pV P
                  V,          p\        V R\        P                  P                  VP                  VR7      RR7      4       VP                  VR7      V n        M,\        P                  ! ^ \        P                  VR7      V n        \        V P                   P                  V P                  ^ R7      pVe   WBR3,          p\!        W@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	\        P                  P                  VP%                  4       RR7      4       V P(                  P                  P%                  4       p\        V R
\        P                  P                  VRR7      4       V P,                  '       dV   \        V R\        P                  P                  \        P                  ! ^ V P.                  VR7      RR7      4       RV n        M–\        V P2                  P                  V P                  ^R7      pRV,          VP                  VP*                  4      ,          P%                  4       p	\        V R\        P                  P                  V	RR7      4       RV n        V P4                  e"   V P4                  P                  VR7      V n        \6        S
V `q  4        R # )Nr=   ©rq   Fr;   )r:   rq   )Ú
packed_dimºNNN)Úa_typeÚb_typeÚgroup_scales_typer8   r>   r?   Tg      ð¿)r8   rq   r&   rH   Úargsortr=   ÚtorM   r   rI   rJ   r@   rK   r   ÚdatarS   r   ÚtÚ
contiguousr   r>   r:   r(   r,   rT   r?   r+   rC   Ú	post_init)rU   rq   ÚpermÚsorted_g_idxÚqweight_unpackedÚqweight_packedÚ	prepackedr>   Úqzeros_unpackedÚ	qzeros_fprX   s   &         €r1   r�   ÚMacheteLinear.post_init×   s«  ø€ Ø—‘×$Ñ$ˆàˆØ�=�=ˆ=Ü—=’= §¡Ó,×/Ñ/´·±Ó<ˆDØŸ:™: dÕ+ˆLÜØØÜ—‘×"Ñ" <§?¡?¸& ?Ó#AÐQVÐ"ÓWôð
 #Ÿg™g¨V˜gÓ4ˆD�Oä#Ÿkšk¨!´5·;±;ÀvÔNˆDŒOä=Ø�L‰L×Ñ˜t×/Ñ/¸Aô?ÐàÒØ/°a°Õ8Ðä9Ø×.Ñ.¸1ô>ˆà'×)Ñ)Ó+×6Ñ6Ó8×:Ñ:Ó<ˆÜ%ØØ—;‘;×$Ñ$Ø×#Ñ#Ø"Ÿk™k×/Ñ/ô	
ˆ	ô 	ØØÜ�H‰H×Ñ˜y×3Ñ3Ó5ÀUÐÓKô	
ð —‘×!Ñ!×,Ñ,Ó.ˆÜØØÜ�H‰H×Ñ˜v°UÐÓ;ô	
ð �8�8ˆ8ÜØØÜ—‘×"Ñ"Ü—K’K ¨¯©ÀÔHØ"'ð #ó ôð $)ˆDÕ ä@Ø—‘× Ñ Ø× Ñ ØôˆOð
  �¨×);Ñ);¸F¿L¹LÓ)IÕI×UÑUÓWˆIÜØØÜ—‘×"Ñ" 9¸EÐ"ÓBôð
 $(ˆDÔ à�9‰9Ò ØŸ	™	Ÿ™¨F˜Ó3ˆDŒIä‰ÑÖr4   c               ó   € V ^8„  d   QhRR/# )r"   r\   r   r/   )r0   s   "r1   r2   r3     s   € ÷ ñ ˜dñ r4   c                	óš   <€ \         SV `  4       p\        V R 4      '       d*   V P                  e   VP	                  V P                  4       V# )r@   )rC   Úlist_buffersÚhasattrr@   Úappend)rU   ÚbufrX   s   & €r1   r›   ÚMacheteLinear.list_buffers  s;   ø€ Ü‰gÑ"Ó$ˆÜ�4˜×&Ò&¨4¯?©?Ò+FØ�J‰J�t—‘Ô'Øˆ
r4   c               ó   € V ^8„  d   QhRR/# )r"   Úxztorch.Tensorr/   )r0   s   "r1   r2   r3   %  s   € ÷ )ñ )˜ñ )r4   c           	     	ó  € V P                  V4      ^ 8X  d   V P                  V4      # VP                  RVP                  R,          4      pV P                  P                  4       ^ 8”  dO   V P                  pVP                  VP                  8w  d   VP                  VP                  R7      pVRV3,          pV P                  pVP                  VP                  8w  d   VP                  VP                  R7      pV P                  '       dB   V P                  e    V P                  P                  4       ^ 8”  g   Q R4       hV P                  pMR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…   r‡   r9   NzEAsymmetric MacheteLinear requires non-empty qzeros after post_init().)ÚaÚb_qr‰   Úb_group_scalesÚb_group_zerosÚb_group_size)r¡   Úoutéÿÿÿÿ)Ú
input_rowsÚempty_linear_outputÚreshapeÚshaper@   Únumelrq   rŒ   r>   r:   rT   r?   r   r8   rS   r%   r+   Úadd_r*   r.   Úapply)rU   r¡   Úinput_2dr‘   Úgroup_scalesÚgroup_zerosÚoutputÚresults   &&      r1   ÚforwardÚMacheteLinear.forward%  s–  € Ø�?‰?˜1Ó Ô"Ø×+Ñ+¨AÓ.Ð.à—9‘9˜R §¡¨¥Ó-ˆà�?‰?× Ñ Ó" QÔ&Ø—?‘?ˆDØ�{‰{˜hŸo™oÔ-Ø—w‘w h§o¡o�wÓ6�Ø  4 Õ(ˆHà—{‘{ˆØ×Ñ §¡Ô/Ø'Ÿ?™?°·±˜?Ó@ˆLà××ÐØ—;‘;Ò*¨t¯{©{×/@Ñ/@Ó/BÀQÔ/Fð ØWóÐFð Ÿ+™+‰KàˆKäØØ—‘Ø×#Ñ#Ø'Ø%ØŸ™ô
ˆð �9‰9Ò Ø�K‰K˜Ÿ	™	Ô"à—‘ §¡¨¨ °×0AÑ0AÐ/CÕ CÓDˆà�<�<ˆ<Ø—\‘\×'Ñ'¨!Ð'Ó8ˆFàˆr4   )r+   rT   r@   rS   )r©   é@   é€   )é   T)é   T)rº   F)r»   F)5Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r   rF   ÚSUPPORTS_BACKENDSr   ÚGPTQÚSUPPORTS_METHODSr   Ú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_PLATFORMrH   rM   ÚSUPPORTS_PACK_DTYPESr   ÚSUPPORTS_ADAPTERSrP   Úbfloat16ÚSUPPORTS_DTYPESÚREQUIRES_FORMAT_V2Ú
QUANT_TYPEr   Úuint4b8Ú	uint8b128Úuint4Úuint8rA   rD   Úclassmethodra   rn   ry   r�   r›   r¶   Ú__static_attributes__Ú__classcell__)rX   s   @r1   r   r   (   si  ø† Ø ×-Ñ-Ð.ÐØŸ™�}ÐØŸ™ SÐ)ÐØ˜�F€MÚ'ÐØ˜u˜ÐØ˜%�=€LØ€OØÐØ!ÐØ)+¨Ð%Ø*-¨Ð&àŸ™�}ÐØ!Ÿ™Ð(ÐØ!ŸK™K˜=ÐØ˜ÐØ—}‘} e§n¡nÐ5€OàÐà€Jð 	�<×'Ñ'Ø�<×)Ñ)Ø�L×&Ñ&Ø�L×&Ñ&ð	€Hð Ø&+§k¡kØ%*Ø#÷YNò YNðv ôó ðð
 ôó ðð: ÷Mó ðMõ F÷Pð ÷)ó )r4   r   ),Ú
__future__r   rN   Útypingr   r   r   rH   Úadapter.adapterr   r   Úmodels._constr	   r
   Únn_modules.qlinearr   Úquantizationr   r   Úutils.backendr   Úutils.loggerr   Úutils.macheter   r   r   r   r   r   r   r   r   r   r   Úutils.marlinr   Úutils.marlin_scalar_typer   Ú
utils.rocmr   Úlogr   Ú__all__r/   r4   r1   Ú<module>rë      si   ðõ #ã ß (Ñ (ã ç ,ß -Ý 1ß *Ý $Ý (÷÷ ÷ ñ õ .Ý 4Ý !ñ ƒn€ôf�Oô fðR	 Ð
‚r4   