Ë
    g^(h2   ã                   ól  — d dl Z ddlmZmZmZmZmZmZmZm	Z	m
Z
mZmZmZ ddlmZmZ g d¢Z ee j$                  e j$                  e j&                  e j(                  ¬«      Z ee j$                  e j$                  ¬«      Z ee j.                  e j.                  e j.                  e j.                  ¬«      Z ee j$                  e j(                  e j&                  e j(                  d¬	«      Z ee j.                  e j(                  e j.                  e j(                  d¬	«      Z ee j$                  e j$                  e j(                  e j(                  ¬«      Z ee j(                  e j(                  e j$                  ¬
«      Z ee j(                  e j(                  e j:                  ¬
«      Zdefd„Zdefd„Z d„ Z!d„ Z"y)é    Né   )Ú_get_binary_op_configsÚ_get_bn_configsÚ_get_cat_configÚ_get_conv_configsÚ_get_default_op_configsÚ_get_embedding_op_configsÚ_get_fixed_qparams_op_configsÚ_get_linear_configsÚ_get_ln_configsÚ_get_rnn_op_configsÚ_get_share_qparams_op_configsÚ_get_tensor_info_op_configs)ÚBackendConfigÚDTypeConfig)Ú*get_test_only_legacy_native_backend_configÚdefault_op_quint8_dtype_configÚdefault_op_fp16_dtype_configÚ!default_dynamic_int8_dtype_configÚ$default_dynamic_float16_dtype_configÚ%input_output_only_quint8_dtype_configÚweight_only_quint8_dtype_configÚ!weight_only_quint4x2_dtype_configÚget_native_backend_configÚget_native_backend_config_dictÚ/get_test_only_legacy_native_backend_config_dict)Úinput_dtypeÚoutput_dtypeÚweight_dtypeÚ
bias_dtype)r   r   T)r   r   r   r    Ú
is_dynamic)r   r   r   Úreturnc                  ó4  — t         g} t         t        t        t        g}t        t        g}t        g}t        t        g}t        t        g}t        g}t        t        g}t
        t        g}t        g}	t        d«      j                  t        | «      «      j                  t        |«      «      j                  t        |«      «      j                  t        |«      «      j                  t        |«      «      j                  t!        |«      «      j                  t#        |«      «      j                  t%        |«      «      j                  t'        |«      «      j                  t)        |	«      «      j                  t+        |«      «      j                  t-        |«      «      S )zr
    Return the `BackendConfig` for PyTorch Native backend (fbgemm/qnnpack) with various additional fp16 ops.
    Ú_native_and_fp16)Úweighted_op_quint8_dtype_configr   r   r   r   r   r   r   r   Úset_backend_pattern_configsr   r   r   Úset_backend_pattern_configr   r   r
   r   r   r   r   r   r	   ©
Úconv_dtype_configsÚlinear_dtype_configsÚbinary_op_dtype_configsÚdefault_op_dtype_configsÚfixed_qparams_op_dtype_configsÚshare_qparams_op_dtype_configsÚtensor_info_op_dtype_configsÚrnn_op_dtype_configsÚembedding_op_dtype_configsÚlayer_norm_op_dtype_configss
             úi/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/torch/ao/quantization/backend_config/native.pyr   r   l   s„  € ô :Ð:Ðä'Ü)Ü,Ü$ð	Ðô 	'Ü$ðÐô !?Ð?Ðä&Ü$ð&Ð"ô
 	'Ü$ð&Ð"ô
 	'ð$Ð ô 	*Ü,ðÐô
 	(Ü)ð"Ðô $IÐ"IÐäÐ(Ó)ß	$Ñ	$Ô%6Ð7IÓ%JÓ	Kß	$Ñ	$Ô%8Ð9MÓ%NÓ	Oß	$Ñ	$Ô%;Ð<SÓ%TÓ	Uß	#Ñ	#¤OÐ4LÓ$MÓ	Nß	$Ñ	$Ô%<Ð=UÓ%VÓ	Wß	$Ñ	$Ü)Ð*HÓIó

÷ 
%Ñ	$Ü)Ð*HÓIó

÷ 
%Ñ	$Ü'Ð(DÓEó

÷ 
%Ñ	$¤_Ð5MÓ%NÓ	Oß	$Ñ	$¤_Ð5PÓ%QÓ	Rß	$Ñ	$Ô%8Ð9MÓ%NÓ	Oß	$Ñ	$Ü%Ð&@ÓAó

ð'ó    c                  ó  — t         g} t         t        t        g}t        g}t        g}t        g}t        g}t        g}t        t        g}t        t
        g}t        g}	t        d«      j                  t        | «      «      j                  t        |«      «      j                  t        |«      «      j                  t        |«      «      j                  t        |«      «      j                  t        |«      «      j                  t!        |«      «      j                  t#        |«      «      j                  t%        |«      «      j                  t'        |	«      «      j                  t)        |«      «      j                  t+        |«      «      S )zQ
    Return the `BackendConfig` for PyTorch Native backend (fbgemm/qnnpack).
    Únative)r%   r   r   r   r   r   r   r   r&   r   r   r   r'   r   r   r
   r   r   r   r   r   r	   r(   s
             r3   r   r   ©   sg  € ô
 :Ð:Ðä'Ü)Ü,ðÐô
  >Ð>ÐÜ >Ð?ÐÜ&DÐ%EÐ"Ü&DÐ%EÐ"Ü$BÐ#CÐ ä)Ü,ðÐô
 	(Ü)ð"Ðô $IÐ"IÐä�hÓß	$Ñ	$Ô%6Ð7IÓ%JÓ	Kß	$Ñ	$Ô%8Ð9MÓ%NÓ	Oß	$Ñ	$Ô%;Ð<SÓ%TÓ	Uß	#Ñ	#¤OÐ4LÓ$MÓ	Nß	$Ñ	$Ô%<Ð=UÓ%VÓ	Wß	$Ñ	$Ü)Ð*HÓIó

÷ 
%Ñ	$Ü)Ð*HÓIó

÷ 
%Ñ	$Ü'Ð(DÓEó

÷ 
%Ñ	$¤_Ð5MÓ%NÓ	Oß	$Ñ	$¤_Ð5PÓ%QÓ	Rß	$Ñ	$Ô%8Ð9MÓ%NÓ	Oß	$Ñ	$Ü%Ð&@ÓAó

ð'r4   c                  ó2   — t        «       j                  «       S )zd
    Return the `BackendConfig` for PyTorch Native backend (fbgemm/qnnpack) in dictionary form.
    )r   Úto_dict© r4   r3   r   r   Û   s   € ô %Ó&×.Ñ.Ó0Ð0r4   c                  ó2   — t        «       j                  «       S )z‰
    Return the `BackendConfig` for PyTorch Native backend (fbgemm/qnnpack) with various additional
    fp16 ops in dictionary form.
    )r   r8   r9   r4   r3   r   r   â   s   € ô
 6Ó7×?Ñ?ÓAÐAr4   )#ÚtorchÚ_common_operator_config_utilsr   r   r   r   r   r	   r
   r   r   r   r   r   Úbackend_configr   r   Ú__all__Úquint8Úqint8Úfloatr%   r   Úfloat16r   r   r   r   r   Úquint4x2r   r   r   r   r   r9   r4   r3   ú<module>rD      sƒ  ðã ÷÷ ÷ ó ÷ 7ò€ñ( #.Ø—‘Ø—‘Ø—‘Ø�{‰{ô	#Ð ñ "-Ø—‘Ø—‘ô"Ð ñ
  +Ø—‘Ø—‘Ø—‘Ø�}‰}ô	 Ð ñ %0Ø—‘Ø—‘Ø—‘Ø�{‰{ð ô	%Ð !ñ (3Ø—‘Ø—‘Ø—‘Ø�{‰{ð ô	(Ð $ñ )4Ø—‘Ø—‘Ø—‘Ø�{‰{ô	)Ð %ñ #.Ø—‘Ø—‘Ø—‘ô#Ð ñ %0Ø—‘Ø—‘Ø—‘ô%Ð !ð:°Mó :ðz/ =ó /òd1óBr4   