
    `i2                         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"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    
is_dynamic)r   r   r   returnc                      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.
    _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
             /home/jaya/work/projects/VOICE-AGENT/VIET/agent-env/lib/python3.11/site-packages/torch/ao/quantization/backend_config/native.pyr   r   l   s    ::'),$	 	'$ !??&$&"
 	'$&"
 	'$  	*,
 	()" $I"I())	$	$%67I%J%J	K	K	$	$%89M%N%N	O	O	$	$%;<S%T%T	U	U	#	#O4L$M$M	N	N	$	$%<=U%V%V	W	W	$	$)*HII

 

 
%	$)*HII

 

 
%	$'(DEE

 

 
%	$_5M%N%N	O	O	$	$_5P%Q%Q	R	R	$	$%89M%N%N	O	O	$	$%&@A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                              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(   s
             r3   r   r      s   
 ::'),
  >> >?&D%E"&D%E"$B#C ),
 	()" $I"Ih	$	$%67I%J%J	K	K	$	$%89M%N%N	O	O	$	$%;<S%T%T	U	U	#	#O4L$M$M	N	N	$	$%<=U%V%V	W	W	$	$)*HII

 

 
%	$)*HII

 

 
%	$'(DEE

 

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

 

'r4   c                  B    t                                                      S )zd
    Return the `BackendConfig` for PyTorch Native backend (fbgemm/qnnpack) in dictionary form.
    )r   to_dict r4   r3   r   r      s     %&&..000r4   c                  B    t                                                      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7??A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 6 6 6 6 6 6 6  ( #.+{	# # #  "-" " " 
  +{}	       %0K{ 	% 	% 	% ! (3{{ 	( 	( 	( $ )4{	) ) ) % #.+# # #  %0K% % % !:M : : : :z/= / / / /d1 1 1B B B B Br4   