
    JTh	                    *   S r SSKJr  SSKrSSKrSSKJr  SSKJrJ	r	  SSK
Jr  SSKJr  SS	KJr  SS
KJrJr  SSKJr  SSKJr  SSKJr  SSKJr  SSKJr  SSKJr   S             SS jjr          SS jrSS jr\S:X  a  \" 5         gg)a~  
To run this file by hand from the root of the PyTorch
repository, run:

python -m tools.autograd.gen_autograd        aten/src/ATen/native/native_functions.yaml        aten/src/ATen/native/tags.yaml        $OUTPUT_DIR        tools/autograd

Where $OUTPUT_DIR is where you would like the files to be
generated.  In the full build system, OUTPUT_DIR is
torch/csrc/autograd/generated/
    )annotationsN)cpp)match_differentiability_info'NativeFunctionWithDifferentiabilityInfo)parse_native_yaml)SelectiveBuilder   )gen_python_functions)gen_autograd_functions_libgen_autograd_functions_python)gen_inplace_or_view_type)gen_trace_type)gen_variable_factories)gen_variable_type)gen_view_funcs)load_derivativesc                   [        [        R                  R                  US5      X5      u  pg[        R                  R                  US5      n[	        X5      R
                  n	[        [        UR                  U	5      S S9n
[        X5      nU(       d)  [        UU UUUU5        [        X XU5        [        X)U5        [        X&U5        [        X X5        [        X+U5        g )Nderivatives.yaml	templatesc                B    [         R                  " U R                  5      $ )N)r   namefunc)fs    _/var/www/auris/envauris/lib/python3.13/site-packages/torchgen/packaged/autograd/gen_autograd.py<lambda>gen_autograd.<locals>.<lambda>G   s    chhqvv&    )key)r   ospathjoinr   native_functionssortedfilter(is_native_function_selected_for_trainingr   r   r   r   r   r   r   )native_functions_path	tags_pathoutautograd_diroperator_selectordisable_autograddifferentiability_infosused_dispatch_keystemplate_pathnative_funcsfnsfns_with_diff_infoss               r   gen_autogradr2   3   s     3C
\#568M3/ GGLL{;M$%:FWWL
FF	
 '	C 	%SB 
 !	
 	!		

 	s-8s]K 3yP 3];r   c                $   [        [        R                  R                  US5      X5      u  pE[        R                  R                  US5      n[	        X$U5        [        R                  R                  US5      n[
        R                  " X XU5        g )Nr   r   zdeprecated.yaml)r   r   r    r!   r   r
   gen)r&   r'   r(   r)   r,   _r.   deprecated_paths           r   gen_autograd_pythonr7   h   sv     "2
\#568M" GGLL{;M "#N ggll<1BCOIr   c                 h   [         R                  " SS9n U R                  SSSS9  U R                  SSSS9  U R                  S	S
SS9  U R                  SSSS9  U R                  5       n[	        UR
                  UR                  UR                  UR                  [        R                  " 5       5        g )Nz"Generate autograd C++ files script)descriptionr"   NATIVEzpath to native_functions.yaml)metavarhelptagszpath to tags.yamlr(   OUTzpath to output directoryautogradAUTOGRADzpath to autograd directory)argparseArgumentParseradd_argument
parse_argsr2   r"   r=   r(   r?   r   get_nop_selector)parserargss     r   mainrH   ~   s    $$1UVF
H3R   7JK
u3MN
J-I   D		))+r   __main__)F)r&   strr'   rJ   r(   rJ   r)   rJ   r*   r   r+   boolreturnNone)
r&   rJ   r'   rJ   r(   rJ   r)   rJ   rL   rM   )rL   rM   )__doc__
__future__r   rA   r   torchgen.apir   torchgen.api.autogradr   r   torchgen.genr   !torchgen.selective_build.selectorr    r
   gen_autograd_functionsr   r   r   r   r   r   r   r   r2   r7   rH   __name__ r   r   <module>rX      s   0 #  	  + > " ? * : 0 * . #2<2<2< 
2< 	2<
 (2< 2< 
2<j 
 	
 
,( zF r   