
    sgp                        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&                        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"                  
      Z ee j&                  e j&                  e j6                  
      Zdef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_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   
is_dynamic)r   r   r   returnc                     t         g} t         t        t        g}t        g}t        g}t        g}t        g}t        g}t        t        g}t        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'        |            S )zI
    Return the `BackendConfig` for PyTorch's native FBGEMM backend.
    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   set_backend_pattern_configsr   r   r   set_backend_pattern_configr   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_configss	            ^/var/www/html/venv/lib/python3.12/site-packages/torch/ao/quantization/backend_config/fbgemm.pyr   r   U   sN    AA.03
  EE EF&K%L"&K%L"$I#J 03
 	/0"
 	h	$	$%67I%J	K	$	$%89M%N	O	$	$%;<S%T	U	#	#O4L$M	N	$	$%<=U%V	W	$	$)*HI

 
%	$)*HI

 
%	$'(DE

 
%	$_5M%N	O	$	$%89M%N	O	$	$%&@A

%    )torch_common_operator_config_utilsr   r   r   r   r   r	   r
   r   r   r   r   backend_configr   r   __all__quint8qint8floatr   r   float16#fbgemm_default_op_fp16_dtype_configr   r   r   quint4x2r   r    r,   r+   <module>r8      sB       7   *5{{	* & )4) %
 '2}}	' # ,7{{, ( /:{{/ + *5* & ,7, (,= ,r,   