+
    "Ý³jG  ã                   ó  € ^ 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HtHt ^RIHtHt ^RIHt ^R	IHt ^R
IHt ^RIHt ]! RRR7      t ! R R]P8                  P:                  4      t ! R R]4      tRR.t R# )é    )Únullcontext)ÚOptionalÚTupleN)ÚAdapterÚLora)ÚDEVICEÚPLATFORM)ÚAWQuantLinearÚempty_linear_outputÚ
input_rows)ÚFORMATÚMETHOD)Úhas_gil_disabled)ÚBACKEND)Úenv_flag)ÚHAS_XPUÚGPTQMODEL_FP32_ACCUMT)Údefaultc                   óD   a € ] tR t^t o ]RR l4       t]R 4       tRtV tR# )ÚAwqGemmTritonFnNc
           
     óx  € V P                  W#V4       \        VP                  4      V n        W€n        VP                  R R V3,           p
VP                  \        P                  4      p\        V4      pW°n        V^ 8X  d   \        W4      # ^RI
HpHp V^€8„  pVP                  W±P                  R,          4      pV'       d;   V! W$V4      p\        P                  ! VVP                  VP                  4      4      pMV! VVVV^\         VP                  R7      pVe
   VV,           MTpVP                  V
4      pV# )N)Úawq_dequantize_tritonÚawq_gemm_triton)Úsplit_k_itersÚ
fp32_accumÚoutput_dtypeéÿÿÿÿ)Úsave_for_backwardÚtupleÚshapeÚinput_shapeÚout_featuresÚtoÚtorchÚfloat16r   r   Ú$quantization.awq.modules.triton.gemmr   r   ÚreshapeÚmatmulÚdtypeÚ
FP32_ACCUM)ÚctxÚxÚqweightÚqzerosÚscalesÚw_bitÚ
group_sizeÚbiasr"   Úprefer_backendÚ	out_shapeÚrowsr   r   ÚFULL_DEQUANT_MATMUL_THRESHOLDÚx_2dÚouts   &&&&&&&&&&       Úm/home/luca/screen-checking/.venv/lib/python3.14/site-packages/gptqmodel/nn_modules/qlinear/gemm_awq_triton.pyÚforwardÚAwqGemmTritonFn.forward   s  € ð 	×Ñ˜g¨vÔ6Ü §¡›.ˆŒØ'Ôà—G‘G˜C˜R�L L ?Õ2ˆ	Ø�D‰D”—‘ÓˆÜ˜!‹}ˆØŒØ�1Œ9ô ' qÓ7Ð7çbð )-¨s©
Ð%à�y‰y˜Ÿw™w r�{Ó+ˆß(Ù'¨¸Ó@ˆCÜ—,’,˜t S§V¡V¨A¯G©G£_Ó5‰Cá!ØØØØØÜ%ØŸW™WôˆCð !Ò,ˆc�DŽj°#ˆØ�k‰k˜)Ó$ˆØˆ
ó    c           	     óò  € V P                   w  r#pR pV P                  ^ ,          '       dÄ   V P                  ^ 8X  d'   VP                  V P                  4      pVR R R R R R R R 3	# ^RIHp V! W$V4      P                  VP                  4      pVP                  RVP                  R,          4      p\        P                  ! W‡P                  RR4      4      pVP                  V P                  4      pVR R R R R R R R 3	# )N)r   r   éþÿÿÿ)Úsaved_tensorsÚneeds_input_gradr   Ú	new_emptyr!   r&   r   r#   r)   r'   r    r$   r(   Ú	transpose)	r+   Úgrad_outputr-   r.   r/   Ú
grad_inputr   ÚweightsÚgrad_output_2ds	   &&       r9   ÚbackwardÚAwqGemmTritonFn.backwardN   sæ   € à"%×"3Ñ"3Ñˆ˜àˆ
Ø×Ñ ×"Ô"Ø�~‰~ Ô"Ø(×2Ñ2°3·?±?ÓC�
Ø! 4¨¨t°T¸4ÀÀtÈTÐQÐQÝUá+¨G¸VÓD×GÑGÈ×HYÑHYÓZˆGà(×0Ñ0°°[×5FÑ5FÀrÕ5JÓKˆNÜŸš n×6GÑ6GÈÈBÓ6OÓPˆJØ#×+Ñ+¨C¯O©OÓ<ˆJà˜4  t¨T°4¸¸tÀTÐIÐIr<   © )é   é€   Nr   N)	Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ústaticmethodr:   rG   Ú__static_attributes__Ú__classdictcell__)Ú__classdict__s   @r9   r   r      s.   ø‡ € Øó1ó ð1ðf ñJó öJr<   r   c                   óª  a a€ ] tR t^bt o]P
                  .t]P                  .t	]
P                  ^2/t^.t. ROtRR.tRR.tRtRtRt^.t^.t]P.                  .t]P4                  ]P6                  .t]P<                  .t] .t!]PD                  .t#Rt$Rt%]&V3R lR l4       t'R]P<                  RR3V3R lV 3R lllt(V 3R	 lt)V3R
 lR lt*Rt+Vt,V ;t-# )ÚAwqGEMMTritonLinearTFr   c                óF   <€ V ^8„  d   QhRS[ S[S[S[,          3,          /# )é   Úreturn)r   Úboolr   Ú	Exception)ÚformatrS   s   "€r9   Ú__annotate__Ú AwqGEMMTritonLinear.__annotate__}   s#   ø€ ÷ ñ ™e¡D©(±9Õ*=Ð$=Õ>ñ r<   c                óæ   € ^ RI Hp ^ RIHp VP	                  V4      pW1P	                  R4      8  d   \        RV 24      h\        4       '       d!   W1P	                  R4      8  d   \        R4      hR# )r   )Úversion)Ú__version__z2.0.0z*triton version must be >= 2.0.0: actual = z3.4.0zYGIL is disabled and not compatible with current Triton. Please upgrade to Triton >= 3.4.0)TN)Ú	packagingr_   Útritonr`   ÚparseÚImportErrorr   rZ   )Úclsr_   Útriton_versionÚtriton_vs   &   r9   Úvalidate_onceÚ!AwqGEMMTritonLinear.validate_once|   sd   € å%Ý8Ø—=‘= Ó0ˆà—m‘m GÓ,Ô,ÜÐ JÈ>ÐJZÐ[Ó\Ð\ô ×Ò (¯]©]¸7Ó-CÔ"CÜÐwÓxÐxàÐr<   Nc                ój   <€ V ^8„  d   QhRS[ RS[ RS[RS[RS[ RS[ RS[RS[P                  R	S[R
S[/
# )rW   Úbitsr1   ÚsymÚdesc_actÚin_featuresr"   r2   Ú
pack_dtypeÚadapterÚregister_buffers)ÚintrY   r$   r)   r   )r[   rS   s   "€r9   r\   r]   ‹   ss   ø€ ÷ ñ áðñ ðñ ð	ñ
 ðñ ðñ ðñ ðñ —K‘Kðñ ðñ ñr<   c                ó�   <€ \         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
V
/VB  R# )rk   r1   rl   rm   rn   r"   r2   ro   Úbackendrp   rq   NrI   )ÚsuperÚ__init__Úpopr   ÚAWQ_GEMM_TRITON)Úselfrk   r1   rl   rm   rn   r"   r2   ro   rp   rq   ÚkwargsÚ	__class__s   &&&&&&&&&&&,€r9   rv   ÚAwqGEMMTritonLinear.__init__‹   s—   ø€ ô 	‰Òñ 	Øð	à!ð	ð ð	ð ð		ð
 $ð	ð &ð	ð ð	ð "ð	ð —J‘J˜y¬'×*AÑ*AÓBð	ð ð	ð .ð	ð ô	r<   c                óž   <€ V P                   e0   V P                   P                  \        P                  R7      V n         \        SV `  4        R # )N©r)   )r/   r#   r$   r%   ru   Ú	post_init)ry   r{   s   &€r9   r   ÚAwqGEMMTritonLinear.post_init§   s2   ø€ Ø�;‰;Ò"ØŸ+™+Ÿ.™.¬u¯}©}˜.Ó=ˆDŒKÜ‰ÑÖr<   c                ó4   <€ V ^8„  d   QhRS[ P                  /# )rW   r,   )r$   ÚTensor)r[   rS   s   "€r9   r\   r]   ¬   s   ø€ ÷ /&ñ /&™Ÿ™ñ /&r<   c                óz  € VP                   R R
 V P                  3,           pR F[  p\        WR 4      pVf   K  VP                  VP                  8w  g   K2  \	        RV RVP                   RV RVP                   24      h	  VP
                  pV\        P                  8w  d   VP                  4       pVP                  4       '       g   VP                  4       pVP                  P                  R8X  d6   \        '       d*   \        P                  P                  VP                  4      MMVP                  P                  R8X  d*   \        P                  P                  VP                  4      M	\        4       pT;_uu_ 4        V P                   '       d   \        4       M\        P"                  ! 4       ;_uu_ 4        \$        P'                  VV P(                  V P*                  V P,                  V P.                  V P0                  V P2                  V P                  R4	      pR R R 4       R R R 4       V\        P                  8w  d   XP5                  VR7      pV P6                  '       d   V P6                  P'                  VXR	7      pXP9                  V4      #   + '       g   i     L; i  + '       g   i     LŠ; i)NzAWQ Triton input and z# must be on the same device: input=z, Ú=ÚxpuÚcudarb   r~   )r,   r8   r   )r-   r.   r/   )r    r"   ÚgetattrÚdeviceÚRuntimeErrorr)   r$   r%   ÚhalfÚis_contiguousÚ
contiguousÚtyper   r…   r†   r   ÚtrainingÚinference_moder   Úapplyr-   r.   r/   rk   r1   r2   r#   rp   r'   )ry   r,   r4   ÚnameÚtensorÚinput_dtypeÚdevice_contextr8   s   &&      r9   r:   ÚAwqGEMMTritonLinear.forward¬   sú  € Ø—G‘G˜C˜R�L D×$5Ñ$5Ð#7Õ7ˆ	ó 4ˆDÜ˜T¨Ó.ˆFØÔ! f§m¡m°q·x±xÖ&?Ü"Ø+¨D¨6ð 2ØŸX™X˜J b¨¨¨a°·±¨ð@óð ñ 4ð —g‘gˆØœ%Ÿ-™-Ô'Ø—‘“ˆAØ�‰× Ò Ø—‘“ˆAð
 �x‰x�}‰} Ô%¯'«'ô �I‰I×Ñ˜QŸX™XÔ&ð �x‰x�}‰} Ô&ô —‘×"Ñ" 1§8¡8Ô,ä“ð 	÷ Š^Ø"&§-§- -””´U×5IÒ5IÓ5K×KÑKÜ%×+Ñ+ØØ—L‘LØ—K‘KØ—K‘KØ—I‘IØ—O‘OØ—I‘IØ×%Ñ%Øó
�÷ L÷ ð œ%Ÿ-™-Ô'Ø—&‘&˜{�&Ó+ˆCà�<�<ˆ<Ø—,‘,×$Ñ$ q¨cÐ$Ó2ˆCà�{‰{˜9Ó%Ð%÷' L×Kú÷ �^ús%   Æ:J*Æ<A$J	È J*ÊJ'Ê"J*Ê*J:	)r/   )r   é   é    é@   rK   ).rL   rM   rN   rO   r   rx   ÚSUPPORTS_BACKENDSr   ÚAWQÚSUPPORTS_METHODSr   ÚGEMMÚ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_PLATFORMr$   Úint32ÚSUPPORTS_PACK_DTYPESr   ÚSUPPORTS_ADAPTERSr%   ÚSUPPORTS_DTYPESÚREQUIRES_FORMAT_V2Ú
QUANT_TYPEÚclassmethodrh   rv   r   r:   rQ   rR   Ú__classcell__)r{   rS   s   @@r9   rU   rU   b   sý   ù‡ € Ø ×0Ñ0Ð1ÐØŸ
™
�|ÐØŸ™ RÐ(ÐØ�C€MÚ/ÐØ˜u˜ÐØ˜%�=€LØ€OØÐØ!ÐØ)*¨Ð%Ø*+¨Ð&ð Ÿ™�}ÐØ!Ÿ™¨¯©Ð8ÐØ!ŸK™K˜=ÐØ˜Ðà—}‘}�o€OàÐà"€Jà÷ó ðð, Ø"'§+¡+ØØ!&÷õ õ8÷
/&÷ /&ð /&r<   rU   )!Ú
contextlibr   Útypingr   r   r$   Úadapter.adapterr   r   Úmodels._constr   r	   Únn_modules.qlinearr
   r   r   Úquantizationr   r   Úutilsr   Úutils.backendr   Ú	utils.envr   Úutils.torchr   r*   ÚautogradÚFunctionr   rU   Ú__all__rI   r<   r9   Ú<module>rÁ      ss   ðõ #ß "ã ç ,ß -ß PÑ Pß *Ý %Ý $Ý !Ý "ñ Ð,°dÔ;€
ôFJ�e—n‘n×-Ñ-ô FJôRy&˜-ô y&ðz Øð‚r<   