o
    H&i                     @   s  d dl mZmZ ddgZddgZeddge edd	d
g edd ede edd ede edd edddd edddd edddd edd edd edd  ed!d" ed#d$ ed%d&dd ed'd( ed)d* ed+d,dd ed-d. ed/d0dd ed1d2ddd3 ed4d5dd ed6d7 ed8d9ddd: ed;d<dd ed=ddd ed>ddd ed?d@dd edAdBdd edCdDddE dFS )G   )register_artifactregister_logz%torch.fx.experimental.symbolic_shapesztorch.fx.experimental.sym_nodeztorch.distributedz"torch._dynamo.backends.distributedZdynamoztorch._dynamoZaotztorch._functorch.aot_autogradztorch._functorch._aot_autogradZinductorztorch._inductorZdynamicZtorchdistributedZonnxz
torch.onnxZguardszhThis prints the guards for every compiled Dynamo frame. It does not tell you where the guards come from.T)visibleZverbose_guards )off_by_defaultbytecodez{Prints the original and modified bytecode from Dynamo. Mostly useful if you're debugging our bytecode generation in Dynamo.graphzvPrints the dynamo traced graph (prior to AOTDispatch) in a table. If you prefer python code use `graph_code` instead. Z
graph_codez4Like `graph`, but gives you the Python code instead.Zgraph_sizesz5Prints the sizes of all FX nodes in the dynamo graph.Ztrace_sourcezAs we execute bytecode, prints the file name / line number we are processing and the actual source code. Useful with `bytecode`Z
trace_callzhLike trace_source, but it will give you the per-expression blow-by-blow if your Python is recent enough.Z
aot_graphszPrints the FX forward and backward graph generated by AOTDispatch, after partitioning. Useful to understand what's being given to InductorZaot_joint_graphz_Print FX joint graph from AOTAutograd, prior to partitioning. Useful for debugging partitioningZpost_grad_graphsz}Prints the FX graph generated by post grad passes. Useful to understand what's being given to Inductor after post grad passesZcompiled_autogradzzPrints various logs in compiled_autograd, including but not limited to the graphs. Useful for debugging compiled_autograd.Z
ddp_graphszOnly relevant for compiling DDP. DDP splits into multiple graphs to trigger comms early. This will print each individual graph here.Z
recompilesz?Prints the reason why we recompiled a graph. Very, very useful.Zrecompiles_verbosezPrints all guard checks that fail during a recompilation. At runtime, Dynamo will stop at the first failed check for each failing guard. So not all logged failing checks are actually ran by Dynamo.)r   r   Zgraph_breakszPrints whenever Dynamo decides that it needs to graph break (i.e. create a new graph). Useful for debugging why torch.compile has poor performancenot_implementedzPrints log messages whenever we return NotImplemented in a multi-dispatch, letting you trace through each object we attempted to dispatch toZoutput_codez>Prints the code that Inductor generates (either Triton or C++))r   r   ZschedulezIInductor scheduler information. Useful if working on Inductor fusion algoZ
perf_hintsZonnx_diagnosticsZfusionzADetailed Inductor fusion decisions. More detailed than 'schedule'overlapz0Detailed Inductor compute/comm overlap decisionsZcustom_format_test_artifactzTesting only)Z
log_formatN)	_internalr   r   ZDYNAMICZDISTRIBUTED r   r   HC:\wamp64\www\opt\env\Lib\site-packages\torch/_logging/_registrations.py<module>   s   





