
    קg                     6    d dl Z d dlmZ 	  G d d          ZdS )    Nc                   x    e Zd ZdZdZg dZg dZeez   ZddZ	 d Z		 d	 Z
	 d
 Z	 d Z	 d Z	 d Z	 d Z	 d ZdS )PythonDispatcher__test__foo)CPUAutogradCPUFPGAAutogradOtherXLAAutogradXLALazyAutogradLazy)CompositeExplicitAutogradAutogradCompositeImplicitAutogradreturnNc                     t          j        | j                   t          j        d| j        d          | _        | j                            d           d S )NFRAGMENT zfoo(Tensor x) -> Tensor)C_dispatch_check_invariantsname_dispatch_library	namespacerefdef_selfs    T/var/www/html/ai-engine/env/lib/python3.11/site-packages/torch/_python_dispatcher.py__init__zPythonDispatcher.__init__I   sH    	$TY///&z4>2FF/00000    c                     | j         S N)supported_keysr   s    r   keyszPythonDispatcher.keysS   s    ""r!   c                 D   t          t          |                    t          |          k    rt          d| d          d|v rd|v rt          d          |D ]E}|| j        vrt          | d| j         d          | j                            d|d|z   	           Fd S )
Nz1Overriden is not allowed but found duplicates in .r   r   z\Registration to both CompositeImplicitAutograd and CompositeExplicitAutograd is not allowed.z3 is not supported, please select a dispatch key in r   fn_)dispatchdebug)lensetRuntimeErrorr$   r   impl_t_t)r   dispatchKeyskeys      r   registerzPythonDispatcher.register^   s    s<  !!S%6%666SLSSS  
 (<77+|;;n     	F 	FC$---"eetObeee   HecEEEE	F 	Fr!   c                     |dd| dS )Nz<15 
 )r   r0   kernels      r   _format_linezPythonDispatcher._format_linew   s    &&&F&&&&r!   c                 N    d| d}||                      dd          z  }|dz  }|S )Nr4   r0   r6   z---------------------------
)r7   )r   headerss      r   _format_headerzPythonDispatcher._format_header~   sG       	
Tuh///	,,r!   c                 H    t          j        | j         d| j                   S N::)r   _dispatch_dumpr   r   r   s    r   rawRegistrationsz!PythonDispatcher.rawRegistrations   s%    4> @ @TY @ @AAAr!   c                 H    t          j        | j         d| j                   S r=   )r   _dispatch_dump_tabler   r   r   s    r   rawDispatchTablez!PythonDispatcher.rawDispatchTable   s%    %&F&F49&F&FGGGr!   c                    |                      d          }|                                 }|                    d          }|D ]}|                    d          d         t          fd| j        D                       rM|                    d          d                             d          d         }||                     |          z  }|S )	NzRegistered Kernelsr4   :r   c              3   B   K   | ]}                     |          V  d S r#   )
startswith).0kfirsts     r   	<genexpr>z1PythonDispatcher.registrations.<locals>.<genexpr>   s1      DD15##A&&DDDDDDr!   r>   r3      )r;   r@   splitanyr$   r7   )r   outputstatestate_entriesliner6   rJ   s         @r   registrationszPythonDispatcher.registrations   s    $$%9::%%''D))! 	; 	;DJJsOOA&EDDDD0CDDDDD ;D))!,22377:$++E6:::r!   c                    |                      d          }|                                 }|                    d          }t          j        d          }|D ]n}|                    d          d         }|| j        v rH|                    d|          }||                     ||                    d          d                   z  }o|S )	NzComputed Dispatch Tabler4   z)registered at .*FallbackKernel\.cpp.*(\[)rE   r   [z: rL   )r;   rC   rM   recompileruntime_keyssubr7   )r   rO   tabletable_entriesregexrR   rI   entrys           r   dispatchTablezPythonDispatcher.dispatchTable   s    $$%>??%%''D))
GHH! 	E 	ED

3"AD%%%		#t,,$++Au{{4/@/@/CDDDr!   )r   N)__name__
__module____qualname__r   r   rX   
alias_keysr$   r    r%   r1   r7   r;   r@   rC   rS   r^   r5   r!   r   r   r   7   s	       ID  L  J
 "J.N1 1 1 1

# # #F F F*' ' '  
B B B
H H H
	 	 	
 
 
 
 
r!   r   )rV   torch._C_Cr   r   r5   r!   r   <module>re      sb    				      -`         r!   