o
    ‡ZŽh2   ã                   @   s<  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dZe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dd	Zee je je je jdd	Zee je je je jdZee je je jd
Zee je je jd
Zdefdd„Zdefdd„Z dd„ Z!dd„ Z"dS )é    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   Z
is_dynamic)r   r   r   Úreturnc            
      C   sÌ   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ƒ 	t
| ƒ¡ 	t|ƒ¡ 	t|ƒ¡ t|ƒ¡ 	t|ƒ¡ 	t|ƒ¡ 	t|ƒ¡ 	t|ƒ¡ 	t|ƒ¡ 	t|	ƒ¡ 	t|ƒ¡ 	t|ƒ¡S )zr
    Return the `BackendConfig` for PyTorch Native backend (fbgemm/qnnpack) with various additional fp16 ops.
    Z_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   ©
Zconv_dtype_configsZlinear_dtype_configsZbinary_op_dtype_configsZdefault_op_dtype_configsZfixed_qparams_op_dtype_configsZshare_qparams_op_dtype_configsZtensor_info_op_dtype_configsZrnn_op_dtype_configsZembedding_op_dtype_configsZlayer_norm_op_dtype_configs© r%   úZ/var/www/auris/lib/python3.10/site-packages/torch/ao/quantization/backend_config/native.pyr   l   s^   üþþþÿþþ




ÿÿÿ


ÿír   c            
      C   sÄ   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ƒ t	| ƒ¡ t
|ƒ¡ t|ƒ¡ t|ƒ¡ t|ƒ¡ t|ƒ¡ t|ƒ¡ t|ƒ¡ t|ƒ¡ t|	ƒ¡ t|ƒ¡ 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$   r%   r%   r&   r   ©   sN   ýþþ




ÿÿÿ


ÿír   c                   C   ó
   t ƒ  ¡ S )zd
    Return the `BackendConfig` for PyTorch Native backend (fbgemm/qnnpack) in dictionary form.
    )r   Úto_dictr%   r%   r%   r&   r   Û   s   
r   c                   C   r(   )z‰
    Return the `BackendConfig` for PyTorch Native backend (fbgemm/qnnpack) with various additional
    fp16 ops in dictionary form.
    )r   r)   r%   r%   r%   r&   r   â   s   
r   )#ZtorchZ_common_operator_config_utilsr   r   r   r   r   r   r	   r
   r   r   r   r   Zbackend_configr   r   Ú__all__Zquint8Zqint8Úfloatr!   r   Zfloat16r   r   r   r   r   Zquint4x2r   r   r   r   r   r%   r%   r%   r&   Ú<module>   sl   8üþüøøüýý=2