U
    yh                     @   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 ddlmZmZ dg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d
Zee je je jd
Zed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_rnn_op_configs_get_share_qparams_op_configs_get_tensor_info_op_configs)BackendConfigDTypeConfigget_fbgemm_backend_config)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g}tg}tg}tg}tg}tg}ttg}ttg}tdt| t	|t
|t|t|t|t|t|t|t|t|S )zI
    Return the `BackendConfig` for PyTorch's native FBGEMM backend.
    Zfbgemm)&fbgemm_weighted_op_quint8_dtype_config(fbgemm_default_dynamic_int8_dtype_config+fbgemm_default_dynamic_float16_dtype_config%fbgemm_default_op_quint8_dtype_config&fbgemm_weight_only_quint8_dtype_config(fbgemm_weight_only_quint4x2_dtype_configr   Zset_backend_pattern_configsr   r
   r   Zset_backend_pattern_configr   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_configs r   ]/var/www/html/venv/lib/python3.8/site-packages/torch/ao/quantization/backend_config/fbgemm.pyr   R   sN    	
)ZtorchZ_common_operator_config_utilsr   r   r   r   r   r   r	   r
   r   r   r   Zbackend_configr   r   __all__Zquint8Zqint8floatr   r   Zfloat16Z#fbgemm_default_op_fp16_dtype_configr   r   r   Zquint4x2r   r   r   r   r   r   <module>   sZ   4