+
    "Ý³j^|  ã                   ó¼  € ^ RI t ^ RIt^ RIt^ RIHtHtHtHtHtH	t	 ^ RI
t
^ RIHt ^RIHtHtHtHt ^RIHt ^RI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# ^R
I$H%t% ^RI&H't'H(t(H)t) ^RI*H+t+H,t,H-t-H.t.H/t/H0t0 ^RI1H2t2 ^RI3H4t4 ^RI5H6t6H7t7 ^RI8H9t9H:t: ^RI;H<t< ^RI=H>t> ]7! 4       t?]P€                  ! 4       tAR R ltBRR/R R lltC ! R R]4      tDR# )é    N)ÚAnyÚCallableÚDictÚListÚOptionalÚTuple)ÚModule)ÚDTYPE_SIZE_COLUMNÚMODULE_FEATURE_COLUMNÚExecutionConfigÚLoopProcessor©ÚNamedModule©Ú
BaseQModel)ÚCPU)ÚSharedInputPlan)	ÚPROCESS_LOG_FWD_TIMEÚPROCESS_LOG_LAYERÚPROCESS_LOG_MODULEÚPROCESS_LOG_NAMEÚPROCESS_LOG_TIMEÚPROCESS_USED_MEMORYÚQUANT_LOG_DAMPÚQUANT_LOG_LOSSÚQUANT_LOG_NSAMPLES)ÚTorchQuantEmbeddings)ÚFOEMÚGPTAQÚGPTQ)ÚGPTAQConfigÚ
FOEMConfigÚHessianConfigÚMETHODÚQuantizeConfigÚresolve_quant_format)Ú
get_device)Únormalize_fallback)Úlog_time_blockÚsetup_logger)Úcreate_quant_moduleÚpack_module)Úparent_module_lock)ÚHAS_NPUc                óX   € V ^8„  d   QhR\         P                  R\         P                  /# )é   ÚweightÚreturn©ÚtorchÚTensor)Úformats   "Ú`/home/luca/screen-checking/.venv/lib/python3.14/site-packages/gptqmodel/looper/gptq_processor.pyÚ__annotate__r8   -   s"   € ÷ 
5ñ 
5¬u¯|©|ð 
5ÄÇÁñ 
5ó    c                óL   € V P                  4       P                  \        RR7      # )aŒ  Keep EoRA's reconstructed weight independent from module rematerialization.

Sequential processors can reload the dense checkpoint into the module's
parameter storage before EoRA runs. A plain tensor alias would then stop
containing GPTQ's reconstruction and make the base packer derive different
logical codes. The CPU copy also avoids retaining a second full weight on
the quantization device.
T)ÚdeviceÚcopy)ÚdetachÚtor   )r1   s   &r7   Ú"snapshot_eora_reconstructed_weightr?   -   s    € ð �=‰=‹?×Ñ¤S¨tÐÓ4Ð4r9   Úfallbackc                óR   € V ^8„  d   QhR\         R\        R\        \         ,          /# )r0   ÚqcfgÚmodule_full_namer2   )r%   Ústrr   )r6   s   "r7   r8   r8   :   s+   € ÷ <ñ <Ü
ð<äð<ô
 ŒnÕñ<r9   c               ó¨  € V P                  VR7      RJ d   R# \        P                  ! V 4      pV P                  Ee{   V P                  VRVP                  4      Vn        V P                  VRVP
                  4      Vn        V P                  VRVP                  4      Vn        V P                  VRVP                  4      Vn        V P                  VRR4      pVe   WCn        V P                  VR	R4      pVe   WSn	        V P                  VR
VP                  4      Vn
        V P                  VRVP                  4      Vn        V P                  VRR4      pVe   \        WcP                  4      Vn        V P                  VRR4      pVeP   \        V\        4      '       d   \!        R/ VB Vn        M(\        V\         4      '       d   Wsn        M\%        R4      hV P                  VRR4      pV P                  VRR4      p	VeP   \        V\        4      '       d   \'        R/ VB Vn        M(\        V\&        4      '       d   Wƒn        M\%        R4      hV	eP   \        V	\        4      '       d   \+        R/ V	B Vn        M(\        V	\*        4      '       d   W“n        M\%        R4      hVP/                  WE4       \        W#P                  4      Vn        V# )zJClones and applies per-module GPTQ dynamic overrides, or skips the module.©Ú
layer_nameFNÚbitsÚsymÚmseÚ
group_sizeÚdesc_actÚact_group_awareÚdamp_percentÚstatic_groupsr@   ÚhessianzBQuantizeConfig: dynamic `hessian` must be a HessianConfig or dict.ÚgptaqÚfoemz>QuantizeConfig: dynamic `gptaq` must be a GPTAQConfig or dict.z<QuantizeConfig: dynamic `foem` must be a FOEMConfig or dict.© )Údynamic_getr<   ÚdeepcopyÚdynamicrH   rI   rJ   rK   rL   rM   rN   rO   r(   r@   Ú
isinstanceÚdictr#   rP   Ú
ValueErrorr!   rQ   r"   rR   Ú_resolve_activation_ordering)
rB   rC   r@   Ú
qcfg_cloneÚdesc_act_overrideÚact_group_aware_overrideÚfallback_overrideÚhessian_overrideÚgptaq_overrideÚfoem_overrides
   &&$       r7   Úclone_gptq_config_for_modulerb   :   s‹  € ð ×ÑÐ#3ÐÓ4¸Ó=Ùä—’˜tÓ$€Jð ‡|�|ÓØ×*Ñ*Ð+;¸VÀZÇ_Á_ÓUˆ
ŒØ×)Ñ)Ð*:¸EÀ:Ç>Á>ÓRˆ
ŒØ×)Ñ)Ð*:¸EÀ:Ç>Á>ÓRˆ
Œà $× 0Ñ 0Ð1AÀ<ÐQ[×QfÑQfÓ gˆ
ÔØ ×,Ñ,Ð-=¸zÈ4ÓPÐØÒ(Ø"3ÔØ#'×#3Ñ#3Ð4DÐFWÐY]Ó#^Ð Ø#Ò/Ø)AÔ&Ø"&×"2Ñ"2Ð3CÀ^ÐU_×UlÑUlÓ"mˆ
ÔØ#'×#3Ñ#3Ð4DÀoÐWa×WoÑWoÓ#pˆ
Ô Ø ×,Ñ,Ð-=¸zÈ4ÓPÐØÒ(Ü"4Ð5F×H[ÑH[Ó"\ˆJÔØ×+Ñ+Ð,<¸iÈÓNÐØÒ'ÜÐ*¬D×1Ò1Ü%2Ñ%FÐ5EÑ%F�
Õ"ÜÐ,¬m×<Ò<Ø%5Õ"ä Ð!eÓfÐfØ×)Ñ)Ð*:¸GÀTÓJˆØ×(Ñ(Ð)9¸6À4ÓHˆØÒ%Ü˜.¬$×/Ò/Ü#.Ñ#@°Ñ#@�
Õ Ü˜N¬K×8Ò8Ø#1Õ ä Ð!aÓbÐbØÒ$Ü˜-¬×.Ò.Ü",Ñ"=¨}Ñ"=�
•Ü˜M¬:×6Ò6Ø"/•ä Ð!_Ó`Ð`à×/Ñ/Ð0AÔ\ä,¨X×7JÑ7JÓK€JÔØÐr9   c                   óv  a a€ ] tR t^xt oRtR$V3R lV 3R llltR tR%V3R lR lltV3R lR ltV3R	 lR
 lt	]
V3R lR l4       tR&V3R lR lltV3R lR ltV3R lR ltV3R lR ltR'V3R lR lltV3R lR ltV3R lV 3R lltV3R lR ltV3R lR ltV3R lR  ltV3R! lR" ltR#tVtV ;t# )(ÚGPTQProcessorzCCaptures activations and quantizes modules with GPTQ or GPTAQ/FOEM.c                ót   <€ V ^8„  d   QhRS[ RS[S[,          RS[S[,          RS[RS[RS[RS[S[,          /# )r0   rB   Úcalibration_concat_sizeÚcalibration_sortÚ
batch_sizeÚrequire_fwdÚcalculate_w_wq_diffÚcalibration_concat_separator)r%   r   ÚintrD   Úbool)r6   Ú__classdict__s   "€r7   r8   ÚGPTQProcessor.__annotate__{   s_   ø€ ÷ .?ñ .?ñ ð.?ñ "*©#¥ð.?ñ #¡3�-ð.?ñ ð.?ñ ð.?ñ "ð.?ñ '/©s¥mñ.?r9   c                óò   <€ \         SV `  VVVVVV
VV\        VRRR7      R7	       W�n        . V n        RV n        RV n        RV n        \        P                  ! 4       V n
        / V n        ^ V n        / V n        R# )z?Initializes GPTQ processing and optional weight-delta tracking.T)ri   Úfwd_replay_after_processÚsubset_forward_early_stop)	Ú	tokenizerrB   Úcalibrationrf   rg   rk   Úprepare_dataset_funcrh   Úexecution_configN)ÚsuperÚ__init__r   rj   Ú
avg_lossesÚpreserve_batch_keep_maskÚ_shared_input_planÚ_shared_input_plan_ownerÚ	threadingÚLockÚ_shared_input_plan_lockÚ_shared_input_leadersÚshared_input_dedup_countÚshared_input_dedup_telemetry)Úselfrs   rB   rt   ru   rf   rg   rh   ri   rj   rk   Ú	__class__s   &&&&&&&&&&&€r7   rx   ÚGPTQProcessor.__init__{   s“   ø€ ô 	‰ÑØØØ#Ø$;Ø-Ø)EØ!5Ø!Ü,Ø'Ø)-Ø*.ôð 	ô 	
ð  $7Ô ØˆŒð )-ˆÔ%ð
 >BˆÔØ8<ˆÔ%Ü'0§~¢~Ó'7ˆÔ$Ø57ˆÔ"Ø()ˆÔ%Ø<>ˆÖ)r9   c                ó   € \        R4      h)zJRejects dataset replacement because GPTQ capture is fixed at construction.z6GPTQProcessor's calibration_dataset cannot be modified)ÚNotImplementedError)rƒ   Úcalibration_datasets   &&r7   Úset_calibration_datasetÚ%GPTQProcessor.set_calibration_dataset«   s   € ô "Ð"ZÓ[Ð[r9   c                ó    <€ V ^8„  d   QhRS[ /# )r0   Úmoduler   )r6   rn   s   "€r7   r8   ro   °   s   ø€ ÷ &ñ &¡ñ &r9   c                ó¾  € \        V P                  VP                  VR7      pVf   R# W@n        VP	                  RR4      pVP
                  e   \        WVR7      pMLVP                  e   \        WVR7      pM0\        WVR7      pVP                  Vn
        \        V RR4      Vn        VP                  P                  RR7       W`P                  VP                   &   R# )zLBuilds the per-module GPTQ/GPTAQ/FOEM task after applying dynamic overrides.)r@   NÚregion_timer)rŒ   rB   rŽ   Útotal_calibration_tokensT)Ú
perchannel)rb   rB   Ú	full_nameÚqcfg_dynamicÚgetrQ   r   rR   r   r    r@   ÚgetattrÚexpected_nsamplesÚ	quantizerÚ	configureÚtasksÚname)rƒ   rŒ   r@   Úkwargsr[   rŽ   Útmps   &&&,   r7   Ú
preprocessÚGPTQProcessor.preprocess°   sÉ   € ô 2Ø�I‰IØ×ÑØô
ˆ
ð
 ÒÙð 'Ôà—z‘z .°$Ó7ˆà×ÑÒ'Ü˜vÀ\ÔR‰CØ�_‰_Ò(Ü˜fÀLÔQ‰Cä˜fÀLÔQˆCØ%×.Ñ.ˆCŒLÜ$+¨DÐ2LÈdÓ$SˆCÔ!à�‰×ÑØð 	 ô 	
ð #&�
‰
�6—;‘;Ór9   c                ó&   <€ V ^8„  d   QhRS[ RS[/# )r0   rŒ   r2   )r   rm   )r6   rn   s   "€r7   r8   ro   Î   s   ø€ ÷ ñ ¡ð ±ñ r9   c                ób   € V P                   P                  VP                  R4      pVRJ d   R# R# )zAReports whether preprocessing omitted this module from GPTQ work.FT)r˜   r“   r™   )rƒ   rŒ   Úts   && r7   Ú
is_skippedÚGPTQProcessor.is_skippedÎ   s)   € ð �J‰J�N‰N˜6Ÿ;™;¨Ó.ˆØ�‹:Ùár9   c                ó0   <€ V ^8„  d   QhRS[ S[,          /# ©r0   r2   )r   r   )r6   rn   s   "€r7   r8   ro   Ø   s   ø€ ÷ ñ ±8¹OÕ3Lñ r9   c           
     ó€  € \        V4      pV P                  ;_uu_ 4        V P                  VJ d   V P                  uuRRR4       # Rp\	        VRR4      p\        V4      '       d.   \	        VRR4      pV! \	        VRR4      \	        VRR4      R7      pW0n        W n        VuuRRR4       #   + '       g   i     R# ; i)zSDerives (once per model class) the explicit `:in=<tag>` plan for one decoder layer.NÚshared_input_planÚmodelÚconfigÚquantize_config)Úmodel_configr©   )Útyper   r|   r{   r”   Úcallable)rƒ   r§   ÚownerÚplanr¦   Úinners   &&    r7   Ú_resolve_shared_input_planÚ(GPTQProcessor._resolve_shared_input_planØ   s¬   € ô �U“ˆØ×)×)Ó)Ø×,Ñ,°Ó5Ø×.Ñ.÷ *Ò)ð /3ˆDÜ '¨Ð/BÀDÓ IÐÜÐ)×*Ò*Ü  w°Ó5�Ù(Ü!(¨°¸$Ó!?Ü$+¨EÐ3DÀdÓ$Kô�ð
 '+Ô#Ø,1Ô)Ø÷ *×)×)Ó)ús    B,ÁAB,Â,B=	c                ó`   <€ V ^8„  d   QhRS[ RS[S[S[S[,          S[S[,          3,          /# )r0   Útaskr2   )r    r   rD   r   rl   )r6   rn   s   "€r7   r8   ro   î   s6   ø€ ÷ Uñ U©Tð U±e¹CÁÉ#ÅÑPXÑY\ÕP]Ð<]Õ6^ñ Ur9   c                ó†   € V P                   P                  p\        VP                  4      VP                  VP
                  3# )zbSettings that alter the numerical result of Hessian accumulation; members must match to share `H`.)rB   rP   rD   Ústaging_dtypeÚ
chunk_sizeÚchunk_bytes)r³   rP   s   & r7   Ú_hessian_accumulation_settingsÚ,GPTQProcessor._hessian_accumulation_settingsí   s7   € ð —)‘)×#Ñ#ˆÜ�G×)Ñ)Ó*¨G×,>Ñ,>À×@SÑ@SÐTÐTr9   c                óR   <€ V ^8„  d   QhRS[ S[,          RS[RS[S[S[3,          /# )r0   Úsubset_namesÚis_lm_head_moduler2   )r   rD   rm   r   )r6   rn   s   "€r7   r8   ro   ó   s7   ø€ ÷ 9ñ 9ñ ™3•ið9ñ  ð	9ñ
 
‰c‘3ˆh�ñ9r9   c                óz  € V P                   ;_uu_ 4        / V n        RRR4       V'       g'   V P                  P                  P                  '       g   / # V P                  V4      pVe   VP                  '       g   / # / pV P                   ;_uu_ 4        \        V P                  4      pRRR4       VP                   EFŒ  pVP                  '       g   K  V Uu. uFi  pW‡P                  9   g   K  \        XP                  V4      4      \        J g   K9  Wh,          P                  P                  P                  '       g   Kg  VNKk  	  p	p\        V	4      ^8  d   KŸ  V	^ ,          p
XV
,          P                  pV P!                  Wj,          4      pV	R,           F­  pWm,          P                  V8w  dB   \"        P%                  RVP&                   RV
 RV RV RWm,          P                   R24       K[  V P!                  Wm,          4      pWì8w  d2   \"        P%                  RVP&                   RV
 RV RV RV R24       K©  W¥V&   K¯  	  EK�  	  V P                   ;_uu_ 4        WPn        RRR4       \        V4      #   + '       g   i     ELi; i  + '       g   i     ELð; iu upi   + '       g   i     LH; i)	zûElects one Hessian capture leader per explicit shared-input group present in this subset.

Only plain `GPTQ` tasks participate (GPTAQ/FOEM also consume outputs). Groups that
are split across subsets dedup only among the members captured in this pass.
N:é   NNz"Quantization: shared-input group `z` mixes input widths (Ú=z, z); not sharing Hessian.z'` mixes Hessian accumulation settings ()Úlockr€   rB   rP   Údedup_shared_inputsr°   Úshared_groupsrX   r˜   ÚexplicitÚmodulesr«   r“   r    ÚlenÚcolumnsr¸   ÚlogÚwarnÚkey)rƒ   r§   r»   r¼   r®   Úleadersr˜   Úgroupr™   ÚmembersÚleaderrÆ   Úleader_settingsÚfollowerÚfollower_settingss   &&&&           r7   Úbegin_shared_input_captureÚ(GPTQProcessor.begin_shared_input_captureó   sK  € ð �Y�Y‹YØ)+ˆDÔ&÷ ÷  D§I¡I×$5Ñ$5×$I×$IÐ$IØˆIà×.Ñ.¨uÓ5ˆØŠ<˜t×1×1Ð1ØˆIà"$ˆØ�Y�Y‹YÜ˜Ÿ™Ó$ˆE÷ à×'Õ'ˆEØ—>—>�>Ùá!-óÙ!-˜ØŸ=™=Ñ(ô ä˜Ÿ™ 4›Ó)¬TÐ1ô ð •K×$Ñ$×,Ñ,×@Õ@÷ �¡ð ð ô �7‹|˜aÔÙØ˜Q•ZˆFØ˜F•m×+Ñ+ˆGØ"×AÑAÀ%Å-ÓPˆOØ# BŸK˜K�Ø•?×*Ñ*¨gÔ5Ü—H‘HØ<¸U¿Y¹Y¸Kð HØ"˜8 1 W I¨R°¨z¸¸5½?×;RÑ;RÐ:SÐSjðlôñ Ø$(×$GÑ$GÈÍÓ$XÐ!Ø$Ô7Ü—H‘HØ<¸U¿Y¹Y¸Kð HØ"˜8 1 _Ð$5°R¸°zÀÐCTÐBUÐUlðnôñ Ø$*˜Ó!ô (ñ (ð< �Y�Y‹YØ)0Ô&÷ ä�G‹}Ð÷[ �YˆYú÷ �YˆYüò
÷6 �Yús;   •I=ÂJÃJ%Ã1J%Ä)J%ÅJ%É#J*É=J	ÊJ"	Ê*J:	c                óL   <€ V ^8„  d   QhRS[ S[,          RS[S[S[3,          /# )r0   r»   r2   )r   rD   r   r   )r6   rn   s   "€r7   r8   ro   .  s'   ø€ ÷ ñ ±T¹#µYð Á4ÉÉSÈÅ>ñ r9   c                óJ  € V P                   ;_uu_ 4        V P                  p/ V n        \        V P                  4      pRRR4       ^ pXP	                  4        FK  w  rVXP                  V4      pVP                  V4      pVe   Vf   K1  VP                  V4       V^,          pKM  	  V P                   ;_uu_ 4        V ;P                  V,          un        R\        V P                  P                  P                  4      R\        V4      RTRV P                  R\        \        VP                  4       4      4      R\        V4      R\        V4      R	V\        V4      8X  d   R
MR/p	W�n        RRR4       \        X	4      #   + '       g   i     ELI; i  + '       g   i     L/; i)zPCopies finalized Hessians and returns lifecycle telemetry for this capture pass.NÚenabledÚexpected_followersÚadopted_followersÚcumulative_adopted_followersÚleader_countÚfollower_to_leaderÚsubset_module_countÚstatusÚverifiedÚmismatch)rÀ   r€   rX   r˜   Úitemsr“   Úadopt_hessian_fromr�   rm   rB   rP   rÁ   rÅ   ÚsetÚvaluesr‚   )
rƒ   r»   rÊ   r˜   ÚadoptedrÏ   rÍ   Úfollower_taskÚleader_taskÚ	telemetrys
   &&        r7   Úend_shared_input_captureÚ&GPTQProcessor.end_shared_input_capture.  sJ  € ð �Y�Y‹YØ×0Ñ0ˆGØ)+ˆDÔ&Ü˜Ÿ™Ó$ˆE÷ ð
 ˆØ '§¡¦ÑˆHØ!ŸI™I hÓ/ˆMØŸ)™) FÓ+ˆKØÒ$¨Ò(;ÙØ×,Ñ,¨[Ô9Ø�q�LŠGñ !0ð �Y�Y‹YØ×)Ò)¨WÕ4Õ)àœ4 §	¡	× 1Ñ 1× EÑ EÓFØ$¤c¨'£lØ# WØ.°×0MÑ0MØ¤¤C¨¯©Ó(8Ó$9Ó :Ø$¤d¨7£mØ%¤s¨<Ó'8Ø¨´3°w³<Ô(?™*ÀZð	ˆIð 1:Ô-÷ ô �I‹Ð÷7 �YˆYú÷ �Yús   •)E>Â;B0FÅ>F	ÆF"	c                ó6   <€ V ^8„  d   QhRS[ RS[S[ ,          /# ©r0   r™   r2   )rD   r   )r6   rn   s   "€r7   r8   ro   N  s   ø€ ÷ %ñ %©ð %±¹µñ %r9   c                óè   € \        V RR4      pV'       g   R# \        V RR4      pVf   VP                  V4      # V;_uu_ 4        VP                  V4      uuRRR4       #   + '       g   i     R# ; i)zOReturns the module whose Hessian `name` will adopt in the current pass, if any.r€   NrÀ   )r”   r“   )rƒ   r™   rÊ   rÀ   s   &&  r7   Úshared_input_leaderÚ!GPTQProcessor.shared_input_leaderN  sX   € ô ˜$Ð 7¸Ó>ˆßÙä�t˜V TÓ*ˆØŠ<Ø—;‘;˜tÓ$Ð$ßŠTØ—;‘;˜tÓ$÷ �T�T‹Tús   ÁA Á A1	c                ó€   <€ V ^8„  d   QhRS[ RS[S[S[S[P
                  R3,          S[P
                  .R3,          /# )r0   r™   r2   .N)rD   r   r	   r   r4   r5   )r6   rn   s   "€r7   r8   ro   [  sC   ø€ ÷ >ñ >©ð >±¹6Á5ÉÏÉÐWZÐIZÕC[Ñ]b×]iÑ]iÐ:jÐlpÐ:pÕ1qñ >r9   c                óT   a a€ S P                  S4      e	   R R lpV# R VV 3R llpV# )zHReturns the forward hook that feeds captured batches into the GPTQ task.c                ór   € V ^8„  d   QhR\         \        P                  R3,          R\        P                  /# ©r0   Úinp.Úout©r   r4   r5   )r6   s   "r7   r8   Ú8GPTQProcessor.pre_process_fwd_hook.<locals>.__annotate___  s,   € ÷ %ñ %¤%¬¯©°cÐ(9Õ":ð %ÄÇÁñ %r9   c                ó   € ? ??R# )zLFollower of a shared-input group: the leader collects this module's Hessian.NrS   )rŒ   rò   ró   s   &&&r7   ÚskipÚ0GPTQProcessor.pre_process_fwd_hook.<locals>.skip_  s   € ð ˜C¢r9   c                ór   € V ^8„  d   QhR\         \        P                  R3,          R\        P                  /# rñ   rô   )r6   s   "r7   r8   rõ   e  s,   € ÷ 3	ñ 3	œU¤5§<¡<°Ð#4Õ5ð 3	¼E¿L¹Lñ 3	r9   c                óŠ  <€ SP                   S,          pSP                  4       pV^ ,          p\        \        SRR4      RR4      p\        \        VRR4      \        P
                  P                  4      '       Ed@   \        P                  ! V4      '       Ed#   \        P                  ! V4      '       Ed   VP                  4       ^8X  dñ   VP                  ^8X  dà   VP                  VP                  8X  dÅ   VP                  VP                  \        P                  R7      pWW,          P                  4       p\        P                  ! V4      '       d:   VP                  R,          VP                  8X  d   W',          P                  4       p	MTp	VP                  VP                   V	P                   VR7       ??R# \        P                  ! V4      '       EdÂ   \        P                  ! V4      '       Ed¥   VP                  4       ^8¼  Ed�   VP                  ^8X  Ed}   VP                  R,          VP                  R,          8X  EdS   \        P                  ! V4      '       d   TMRp
\#        V4       EF  w  r¼\        VP%                  4       P'                  4       4      '       g   K5  VP                  VP                  R7      pVW»^,           1VR	3,          P                  4       pV
e~   V
P                  4       ^8¼  di   V
P                  R,          VP                  R,          8X  d@   VP                  V
P                  R7      pV
W»^,           1VR	3,          P                  4       pMTpVP                  VP                   VP                   VR7       EK!  	  ??R# VP                  VP                   VP                   VR7       ??R# )
zFRecords one activation batch for GPTQ Hessian/statistics accumulation.Ú	_mask_tlsNÚvaluerŒ   )r;   Údtype:Nr0   N)Úbatch_index)r;   :NNN)r˜   Úcurrent_batch_indexr”   rW   r4   ÚnnÚ	EmbeddingÚ	is_tensorÚdimÚndimÚshaper>   r;   rm   Ú
contiguousÚ	add_batchÚdataÚ	enumerateÚanyÚitem)rŒ   rò   ró   ÚgÚ	batch_idxÚ
inp_tensorÚ	keep_maskÚkeep_on_inputÚselected_idsÚselected_outÚ
out_tensorÚsample_indexÚsample_keepÚ
input_keepÚ
sample_inpÚoutput_keepÚ
sample_outr™   rƒ   s   &&&              €€r7   r›   Ú/GPTQProcessor.pre_process_fwd_hook.<locals>.tmpe  sÐ  ø€ ð —
‘
˜4Õ ˆAØ×0Ñ0Ó2ˆIØ˜Q�ˆJÜ¤¨¨k¸4Ó @À'È4ÓPˆIô œ7 1 h°Ó5´u·x±x×7IÑ7I×JÓJÜ—O’O J×/Ó/Ü—O’O I×.Ó.Ø—N‘NÓ$¨Ô)Ø—N‘N aÔ'Ø—O‘O z×'7Ñ'7Ô7à )§¡°J×4EÑ4EÌUÏZÉZ Ó X�Ø)Õ8×CÑCÓE�Ü—?’? 3×'Ò'¨C¯I©I°b­M¸Z×=MÑ=MÔ,MØ#&Õ#5×#@Ñ#@Ó#B‘Là#&�LØ—‘˜L×-Ñ-¨|×/@Ñ/@Èi�ÔXð: ’Sô7 —’ 
×+Ó+Ü—O’O I×.Ó.Ø—N‘NÓ$¨Õ)Ø—N‘N aÕ'Ø—O‘O BÕ'¨:×+;Ñ+;¸BÕ+?Õ?ä$)§O¢O°C×$8Ò$8™S¸d�
ô 2;¸9×1EÑ-�LÜ §¡Ó 1× 6Ñ 6Ó 8×9Ò9Ù à!,§¡°z×7HÑ7H Ó!I�JØ!+Ø$°aÕ'7Ð7¸ÀQÐFõ"ç ‘j“lð ð "Ò-°*·.±.Ó2BÀaÔ2GÈJ×L\ÑL\Ð]_ÕL`Ðdn×dtÑdtÐuwÕdxÔLxØ&1§n¡n¸J×<MÑ<M nÓ&N˜Ø%/Ø(¸!Õ+;Ð;¸[È!ÐKõ&ç$™*›,ñ #ð &)˜
Ø—K‘K 
§¡°·±Èi�K×Xñ 2Fð$ ’Sð —‘˜JŸO™O¨S¯X©XÀ9�ÔMØ’Sr9   )rì   )rƒ   r™   r÷   r›   s   ff  r7   Úpre_process_fwd_hookÚ"GPTQProcessor.pre_process_fwd_hook[  s4   ù€ ð ×#Ñ# DÓ)Ò5õ%ð ˆK÷3	ñ 3	ðh ˆ
r9   c                ó¾   <€ V ^8„  d   QhRS[ RS[P                  RS[S[S[S[ 3,          ,          RS[S[S[S[ 3,          ,          RS[S[,          RS[S[,          /# )r0   rŒ   r;   ÚsubsetÚprevious_subsetÚsubset_indexÚsubset_total)r   r4   r;   r   r   rD   rl   )r6   rn   s   "€r7   r8   ro   ›  sy   ø€ ÷ z ñ z áðz ñ —‘ðz ñ ™™c¡;Ð.Õ/Õ0ð	z ñ
 "¡$¡s©KÐ'7Õ"8Õ9ðz ñ ™s•mðz ñ ™s•mñz r9   c                óà  € RVP                    R2pV P                  V4       V P                  ;_uu_ 4        V P                  VP                   ,          pRRR4       \	        VRR4      p	V	f   \	        VP
                  RR4      p	V	f   \        VP
                  4      p	V	Ee«   \        P                  ! V	4      p	\	        VP
                  RR4      p
V
e�   V
P                  V	8X  g&   Q RVP                   RV
P                   RV	 R	24       hV
P                  P                  V	8X  g0   Q RVP                   R
V
P                  P                   RV	 R	24       h\	        XRR4      pVe   \	        VRR4      MRpVe�   VP                  V	8X  g&   Q RVP                   RV	 RVP                   R	24       hVP                  P                  V	8X  g0   Q RVP                   RVP                  P                   RV	 R	24       h\	        VRR4      pVeK   \        P                  ! VP                  4      V	8X  g&   Q RVP                   RVP                   RV	 R	24       hV	P                  R8X  dy   \        P                  P                  4       '       dU   \        P                  ! R\        P                  P                  4       4      pWé8X  g   Q RV RV	 RVP                   R24       hV	P                  R8X  da   \        '       dU   \        P                  ! R\        P                   P                  4       4      pWù8X  g   Q RV RV	 RVP                   R24       hXP#                  4       w  pppppppp\	        VRR4      p\	        VRR4      pVP%                  RVRVR V/4       ???V P                  ;_uu_ 4        V P&                  P)                  V4       \+        V\,        \.        34      '       d   V P0                  P)                  V4       V P2                  P)                  R!VP4                   R"VP                    24       RRR4       \+        V\6        4      '       d   TpM"\+        V\,        \.        34      '       d   VR# MR$p\8        V P                  4       \:        VP4                  \<        VP                   \>        V PA                  V4      \B        V PE                  V4      \F        V\H        V \J        VR% \L        VR& \N        V PQ                  4       \R        V PU                  4       /pV'       d    \-        VPW                  R'^ 4      ;'       g    ^ 4      pV'       ds   \/        VPW                  R(R)4      ;'       g    R)4      pVPW                  R*4      p\7        V4      VR+&   VR, VR-&   VPW                  R.R/4      VR0&   Ve   \7        V4      VR1&   V'       do   \-        VPW                  R'^ 4      ;'       g    ^ 4      pV'       dB   \/        VPW                  R2^ 4      ;'       g    R)4      V,          p \7        V4      VR3&   V R, VR4&   V PX                  PZ                  e*   V PX                  P]                  VP                  R57      VR6&   V P                  ;_uu_ 4        V P^                  P)                  V4       RRR4       V Pa                  V4       VPc                  R7R87       V Pd                  '       d”   VPf                  P                  Pi                  \        Pj                  R97      VPi                  \        Pj                  R97      ,
          p!V P                  ;_uu_ 4        VPl                  Po                  R:V!/4       RRR4       V P                  ;_uu_ 4        V P                  VP                   ,          Pq                  4        V Pd                  '       d'   VPl                  Po                  R;\s        V4      /4       RRR4       VVPf                  n
        R#   + '       g   i     ELÃ; i  + '       g   i     ELö; i  + '       g   i     EL”; i  + '       g   i     Lß; i  + '       g   i     Lr; i)<zDRuns GPTQ quantization for one module and stores pack-ready tensors.zQuantizing z	 in layerNÚtarget_devicer1   zModule 'z' weight device z' does not match assigned target device Ú.z' weight.data device rŒ   zGPTQ task for module 'z' expected device z, but found weight on z' weight.data on z does not match target device ÚHzGPTQ Hessian tensor for 'z' lives on z, expected ÚcudazCUDA thread context z  does not match expected device z while processing 'z'.ÚnpuzNPU thread context Ú_borrow_workspace_last_summaryÚ_borrow_workspace_totalsÚq_scalesÚq_zerosÚq_g_idxzlayer-Ú-z.10fÚunknownz.5fz.3fÚrequestsÚhit_rateg        Ú
chunk_rowsÚworkspace_cache_requestsz.1%Úworkspace_cache_hit_raterµ   Ú Úworkspace_stage_dtypeÚworkspace_chunk_rowsÚmaterialized_hitsÚworkspace_total_requestsÚworkspace_total_hit_raterF   rV   Úgptq_process)Úcontext)rý   Ú	w_wq_diffÚwq):r™   Údraw_progressrÀ   r˜   r”   rŒ   r'   r4   r;   r‘   r  r«   r&  Úis_availableÚcurrent_devicer.   r'  ÚquantizeÚstream_state_payload_to_cpuÚ	durationsÚappendrW   rl   Úfloatry   Úmodule_namesÚlayer_indexrD   r   r   r   r   Úmodule_feature_summaryr
   Úmodule_dtype_size_summaryr   r   r   r   r   Úformatted_fwd_timer   Údevice_memory_reportr“   rB   rV   rT   rÇ   Úlog_new_rowÚlog_workspace_statsrj   r1   r>   Úfloat32ÚstateÚupdateÚfreer?   )"rƒ   rŒ   r;   r  r  r   r!  Ú
base_titler  Úexpected_deviceÚmodule_weightÚg_moduleÚg_weightÚg_hÚcurrent_cuda_deviceÚcurrent_npu_devicer=  r*  r+  r,  ÚdurationÚavg_lossrN   ÚnsamplesÚworkspace_summaryÚworkspace_totalsÚloss_displayÚstatr/  r0  r1  Útotal_requestsÚcumulative_hit_rater<  s"   &&&&&&&                           r7   ÚprocessÚGPTQProcessor.process›  s‰  € ð # 6§;¡; -¨yÐ9ˆ
Ø×Ñ˜:Ô&ð �Y�Y‹YØ—
‘
˜6Ÿ;™;Õ'ˆA÷ ô " &¨/¸4Ó@ˆØÒ"Ü% f§m¡m°_ÀdÓKˆOØÒ"Ü(¨¯©Ó7ˆOàÓ&Ü#Ÿlšl¨?Ó;ˆOä# F§M¡M°8¸TÓBˆMØÒ(Ø$×+Ñ+¨Ô>ð Ø˜v×/Ñ/Ð0Ð0@À×AUÑAUÐ@Vð W.Ø.=Ð->¸aðAóÐ>ð %×)Ñ)×0Ñ0°OÔCð Ø˜v×/Ñ/Ð0Ð0EÀm×FXÑFX×F_ÑF_ÐE`ð a.Ø.=Ð->¸aðAóÐCô
 ˜q (¨DÓ1ˆHØ<DÒ<P”w˜x¨°4Ô8ÐVZˆHØÒ#Ø—‘¨/Ô9ð Ø,¨V×-=Ñ-=Ð,>Ð>PÐQ`ÐPað b+Ø+3¯?©?Ð*;¸1ð>óÐ9ð  —}‘}×+Ñ+¨Ô>ð Ø,¨V×-=Ñ-=Ð,>Ð>OÐPX×P]ÑP]×PdÑPdÐOeð f4Ø4CÐ3DÀAðGóÐ>ô
 ˜!˜S $Ó'ˆCØŠÜ—|’| C§J¡JÓ/°?ÔBð Ø/°×0@Ñ0@Ð/AÀÈSÏZÉZÈLÐXcÐdsÐctÐtuÐvóÐBð ×#Ñ# vÔ-´%·*±*×2IÑ2I×2KÒ2KÜ&+§l¢l°6¼5¿:¹:×;TÑ;TÓ;VÓ&WÐ#Ø*Ô=ð Ø*Ð+>Ð*?Ð?_Ð`oÐ_pð q)Ø)/×)9Ñ)9Ð(:¸"ð>óÐ=ð ×#Ñ# uÔ,·³Ü%*§\¢\°%¼¿¹×9QÑ9QÓ9SÓ%TÐ"Ø)Ô<ð Ø)Ð*<Ð)=Ð=]Ð^mÐ]nð o)Ø)/×)9Ñ)9Ð(:¸"ð>óÐ<ð
 VW×U_ÑU_ÓUaÑRˆˆH�g˜w¨°(¸LÈ(ä# AÐ'GÈÓNÐÜ" 1Ð&@À$ÓGÐà×*Ñ*à˜HØ˜7Ø˜7ðô	
ð �g˜wà�Y�Y‹YØ�N‰N×!Ñ! (Ô+Ü˜(¤S¬% L×1Ò1Ø—‘×&Ñ& xÔ0Ø×Ñ×$Ñ$ v¨f×.@Ñ.@Ð-AÀÀ6Ç;Á;À-Ð%PÔQ÷	 ô8 �h¤×$Ò$Ø#‰Lä1;¸HÄsÌEÀl×1SÒ1S˜h t™_ÐYbˆLô ˜tŸy™y›{Ü˜v×1Ñ1Ü §¡Ü! 4×#>Ñ#>¸vÓ#FÜ˜t×=Ñ=¸fÓEÜ˜LÜ 8 *Ü˜|¨CÐ0Ü ¨# Ü  $×"9Ñ"9Ó";Ü ×!:Ñ!:Ó!<ð
ˆ÷ ÜÐ,×0Ñ0°¸QÓ?×DÐDÀ1ÓEˆHßÜ Ð!2×!6Ñ!6°zÀ3Ó!G×!NÐ!NÈ3ÓO�Ø.×2Ñ2°<Ó@�
Ü36°x³=�Ð/Ñ0Ø6>¸s°^�Ð/Ñ0Ø0A×0EÑ0EÀoÐWYÓ0Z�Ð,Ñ-ØÒ)Ü36°z³?�DÐ/Ñ0ßÜ Ð!1×!5Ñ!5°jÀ!Ó!D×!IÐ!IÈÓJˆNßäÐ*×.Ñ.Ð/BÀAÓF×MÐMÈ#ÓNÐQ_Õ_ð $ô 47°~Ó3F�Ð/Ñ0Ø6IÈ#Ð5N�Ð/Ñ0à�9‰9×ÑÒ(Ø"Ÿi™i×3Ñ3¸v×?OÑ?OÐ3ÓPˆD�‰Oà�Y�Y‹YØ�H‰H�O‰O˜DÔ!÷ ð 	×Ñ˜Ôà	×Ñ nÐÔ5à×#×#Ð#àŸ™×*Ñ*×-Ñ-´E·M±MÐ-ÓBÀRÇUÁUÔQV×Q^ÑQ^ÀUÓE_Õ_ˆIð ——“Ø—‘×#Ñ#Ø ð%ô ÷ ð
 �Y�Y‹YØ�J‰J�v—{‘{Õ#×(Ñ(Ô*ð ×'×'Ð'Ø—‘×#Ñ#ð Ô<¸RÓ@ð	%ô ÷ ð  ˆ�‰Ö÷Q �YˆYú÷H �YˆYú÷J �YˆYú÷ —ú÷
 �Yús=   ¶`Î-B`"Ú`6Ýa
ÞA$aà`	à"`3	à6a	á
a	áa-	c                ó&   <€ V ^8„  d   QhRS[ RS[/# )r0   rŒ   r§   )r   r   )r6   rn   s   "€r7   r8   ro   X  s   ø€ ÷ c.ñ c.©ð c.¹Zñ c.r9   c                óÎ
  € VP                  4        V P                  ;_uu_ 4        V P                  '       d>   VP                  P	                  R4      P                  \        4      VP                  n        VP                  P	                  RR4       VP                  P	                  RR4       VP                  P	                  R4      P                  4       pVP                  P	                  R4      P                  4       pVP                  P	                  R4      P                  4       pRRR4       XP                  \        8X  g   Q hXP                  \        8X  g   Q hXP                  \        8X  g   Q hVP                  VP                  P                  VP                  4      /p\        VR\        VR	R
4      4      p\        VR\        VR	R4      4      p	\        VRR4      p
V
e   \        P                   ! 4       MRp\#        R\$        VR7      ;_uu_ 4        \'        V	4      ;_uu_ 4        \)        VP                  VP*                  V P,                  P.                  V P,                  P0                  V P,                  P2                  V P,                  P4                  VP                  VV P,                  P6                  V P,                  P                  VP8                  V P,                  P:                  \=        V P,                  P>                  V P,                  P@                  4      RR7       RRR4       RRR4       V
e3   Ve/   V
PC                  R\        P                   ! 4       V,
          VR7       VP                  P                  VP                  4      p\E        WÂP*                  \F        34      '       d   VP                  V/M/ pV
e   \        P                   ! 4       MRp\#        R\$        VR7      ;_uu_ 4        \'        V	4      ;_uu_ 4        \I        VP                  VVVVVVP*                  V P                  V P,                  R7	      pRRR4       RRR4       V
eC   Ve?   T
PC                  R\        P                   ! 4       V,
          T RX;'       g    R R2R7       V P                  ;_uu_ 4        V PK                  VP                  4       RRR4       ???VPM                  R4       R#   + '       g   i     ELÓ; i  + '       g   i     ELã; i  + '       g   i     ELï; i  + '       g   i     Lè; i  + '       g   i     Ló; i  + '       g   i     Lˆ; i)zFCreates the quantized module and packs the saved GPTQ tensors into it.r=  ÚwNr<  r+  r*  r,  r‘   r™   r4  Úquant_region_timerr+   )ÚloggerÚmodule_nameF)r™   Ú
linear_clsrH   rL   rV   rK   rŒ   Ú	submodulerI   r;   Úlm_head_nameÚ
pack_dtyper6   Úregister_buffersÚsubmodule_finalize_create)ÚsourceÚpack)	r™   ÚqModulesr*  r+  r,  ÚlayersÚquant_linear_clsrÀ   r©   Úsubmodule_finalize_packz [zmodule.pack_originalÚ]r1   )'Ústream_syncrÀ   rj   rO  Úpopr>   r   r1   r  Úcloner;   r‘   r§   Úget_submoduler”   ÚtimeÚperf_counterr)   rÇ   r-   r+   Úqlinear_kernelrB   Úruntime_bitsrL   rV   rK   rI   Úlm_headrn  r&   r6   ÚmethodÚrecordrW   r   r,   Ú
result_popÚunregister_parameter)rƒ   rŒ   r§   rš   r+  r*  r,  rt  Úmodule_labelÚ
parent_keyÚtimerÚcreate_startÚqmodulers  Ú
pack_startÚpacker_labels   &&&,            r7   Úsubmodule_finalizeÚ GPTQProcessor.submodule_finalizeX  s  € ð 	×ÑÔØ�i�i‹ià×'×'Ð'Ø%+§\¡\×%5Ñ%5°dÓ%;×%>Ñ%>¼sÓ%C�—‘Ô"à�L‰L×Ñ˜S $Ô'Ø�L‰L×Ñ˜[¨$Ô/ð —l‘l×&Ñ& yÓ1×7Ñ7Ó9ˆGØ—|‘|×'Ñ'¨
Ó3×9Ñ9Ó;ˆHØ—l‘l×&Ñ& yÓ1×7Ñ7Ó9ˆG÷ ð �~‰~¤Ô$Ð$Ð$Ø�‰¤#Ô%Ð%Ð%Ø�~‰~¤Ô$Ð$Ð$à×"Ñ" E§K¡K×$=Ñ$=¸f×>NÑ>NÓ$OÐPˆÜ˜v {´G¸FÀFÈBÓ4OÓPˆÜ˜V [´'¸&À&È$Ó2OÓPˆ
ô ˜Ð3°TÓ:ˆà.3Ò.?”t×(Ò(Ô*ÀTˆÜØ!ÜØ$÷
ö 
ô
 $ J×/Õ/Ü#Ø×)Ñ)Ø$×3Ñ3ØŸ™×/Ñ/Ø!ŸY™Y×/Ñ/Ø ŸI™I×-Ñ-Ø#Ÿy™y×3Ñ3Ø Ÿ;™;Ø$ØŸ	™	Ÿ™ØŸ9™9×+Ñ+Ø!&§¡Ø#Ÿy™y×3Ñ3Ü/°·	±	×0@Ñ0@À$Ç)Á)×BRÑBRÓSØ%*õ÷ 0÷
ð, Ò Ò!9Ø�L‰LØ+Ü×!Ò!Ó# lÕ2Ø#ð ô ð —+‘+×+Ñ+¨F×,<Ñ,<Ó=ˆô ˜'×$8Ñ$8Ô:NÐ#O×PÒPð ×Ñ˜wÑ'àð 	ð
 -2Ò,=”T×&Ò&Ô(À4ˆ
ÜØÜØ$÷
ö 
ô
 $ J×/Õ/Ü*Ø×)Ñ)Ø%Ø%Ø#Ø#Ø!Ø%*×%9Ñ%9ØŸ™Ø$(§I¡Iô
 �÷ 0÷
ð" Ò Ò!7Ø�L‰LØ)Ü×!Ò!Ó# jÕ0Ø&˜ r¨,×*PÐ*PÐ:PÐ)QÐQRÐSð ô ð �Y�Y‹YØ�O‰O˜F×,Ñ,Ô-÷ ð �g˜wØ×#Ñ# HÖ-÷w �iˆiú÷< 0×/Ð/ú÷
÷ 
ð 
ú÷T 0×/ú÷
÷ 
ú÷2 �Yúsa   ¥DS2ÈTÈ,D T	Ì,TÏ=UÐ=T.	ÑUÒ8UÓ2T	ÔTÔ	TÔT+	Ô.T>Ô9UÕU	ÕU$	c                ó    <€ V ^8„  d   QhRS[ /# )r0   r§   r   )r6   rn   s   "€r7   r8   ro   ½  s   ø€ ÷ 
0ñ 
0™jñ 
0r9   c                óx   <€ RVn         \        P                  VP                  n        \
        SV `  ! RRV/VB  R# )zEMarks the model as GPTQ-quantized and runs shared finalization logic.Tr§   NrS   )Ú	quantizedr$   r    r©   r�  rw   Úfinalize)rƒ   r§   rš   r„   s   &&,€r7   r‘  ÚGPTQProcessor.finalize½  s3   ø€ ð ˆŒÜ'-§{¡{ˆ×ÑÔ$ä‰ÒÑ/˜uÐ/¨Ô/r9   c                ó&   <€ V ^8„  d   QhRS[ RS[/# )r0   Úprocessor_indexr2   )rl   rm   )r6   rn   s   "€r7   r8   ro   É  s   ø€ ÷ ñ ¹#ð Á$ñ r9   c                ó8   € V P                   f   \        R4      hR# )zKEnsures GPTQ received calibration data before the quantization loop starts.z5GPTQProcessor's calibration_dataset must be provided.T)rˆ   rY   )rƒ   r”  s   &&r7   Úverify_calibration_datasetÚ(GPTQProcessor.verify_calibration_datasetÉ  s   € ð ×#Ñ#Ò+ÜÐTÓUÐUár9   c                ó    <€ V ^8„  d   QhRS[ /# r¤   )rD   )r6   rn   s   "€r7   r8   ro   Ñ  s   ø€ ÷ 
ñ 
‘cñ 
r9   c                ó’   € V P                   e   V P                   MV P                  pVP                  e   R# VP                  e   R# R# )zBReturns `gptaq` when GPTAQ overrides are active, otherwise `gptq`.rQ   rR   Úgptq)r’   rB   rQ   rR   )rƒ   rB   s   & r7   r™   ÚGPTQProcessor.nameÑ  s=   € ð %)×$5Ñ$5Ò$Aˆt× Ò ÀtÇyÁyˆØ�:‰:Ò!ÙØ�9‰9Ò Ùár9   c                ó8   <€ V ^8„  d   QhRS[ P                  RR/# )r0   Útensorsr2   Nr3   )r6   rn   s   "€r7   r8   ro   Ý  s   ø€ ÷ ñ ©e¯l©lð ¸tñ r9   c                ó
   € TpR# )zÑRetain the old cleanup hook for streaming tests and external callers.

Host buffers are now owned by the stream ticket lifecycle instead of a
dedicated GPTQProcessor pool, so release is intentionally a no-op.
NrS   )rƒ   r�  Ú_s   &* r7   Ú_release_host_buffersÚ#GPTQProcessor._release_host_buffersÝ  s	   € ð Šr9   c                ó&   <€ V ^8„  d   QhRS[ RS[/# rê   )rD   rm   )r6   rn   s   "€r7   r8   ro   å  s   ø€ ÷ 0ñ 0©3ð 0±4ñ 0r9   c                óB   € V P                   V,          P                  ^ 8„  # )zCReports whether the module saw at least one captured forward batch.)r˜   Úfwd_counter)rƒ   r™   s   &&r7   Úhas_captured_input_idsÚ$GPTQProcessor.has_captured_input_idså  s   € ð �z‰z˜$Õ×+Ñ+¨aÑ/Ð/r9   )
r€   r{   r   r|   ry   rj   rz   r’   r�   r‚   )TFN)N)F)NNNNN)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__rx   r‰   rœ   r¡   r°   Ústaticmethodr¸   rÑ   rç   rì   r  rc  rŒ  r‘  r–  r™   r   r¥  Ú__static_attributes__Ú__classdictcell__Ú__classcell__)r„   rn   s   @@r7   rd   rd   x   sÉ   ù‡ € ÙM÷.?õ .?ò`\÷
&ò &÷<ð ÷ð ð* ÷Uó ðU÷
9ò 9÷vð ÷@%ð %÷>ð >÷@z ò z ÷zc.ð c.÷J
0ó 
0÷ð ÷
ð 
÷ð ÷0÷ 0ð 0r9   rd   )Er<   r}   r|  Útypingr   r   r   r   r   r   r4   Útorch.nnr	   Úlooper.loop_processorr
   r   r   r   Úlooper.named_moduler   Úmodelsr   Úmodels._constr   Úmodels.shared_inputr   Úmodels.writerr   r   r   r   r   r   r   r   r   Únn_modules.qlinear.torchr   Úquantizationr   r   r    Úquantization.configr!   r"   r#   r$   r%   r&   Úutils.devicer'   Úutils.fallbackr(   Úutils.loggerr)   r*   Úutils.modelr+   r,   Úutils.module_locksr-   Úutils.torchr.   rÇ   r~   rÀ   r?   rb   rd   rS   r9   r7   Ú<module>rÁ     s˜   ðó Û Û ß =× =ã Ý ç lÓ lÝ -Ý Ý Ý 1÷
÷ 
õ 
õ <ß ,Ñ ,ß v× vÝ %Ý /ß 7ß :Ý 3Ý !ñ ƒn€Ø‡~‚~Ó€õ
5ð<ð ÷	<ô|p	0�Mö p	0r9   