DUMP_GRAPH_LEVEL
Description
Specifies the dump level for graph compilation stages.
This environment variable can be configured in either of the following ways. Both of them are used to control the number of flushed graphs. You can use them as required. Note that the two configuration methods cannot be used together.
- Valid values:
- 1: dumps graphs in all phases.
- 2: dumps graphs in the trustlist phase. For details about the trustlisted graphs, see the Trustlisted or Not column in Table 1.
- 3: dumps the last generated graph, that is, the graph optimized and compiled by the GE.
- 4: dumps the earliest generated graph, that is, the build entry graph provided to the software stack after the GE parses and maps operators. This graph structure has not been compiled or optimized by the GE.
- Set it to a string separated by vertical bars (|):
For example, if this environment variable is set to aa|bb, graphs whose names contain aa and bb are dumped. aa and bb must be set to valid character strings during graph build. Valid strings can be obtained from a full dump of the graphs.
DUMP_GRAPH_LEVEL takes effect only when DUMP_GE_GRAPH is enabled. The default value is 2.
Example
- Set this environment variable to a value:
export DUMP_GRAPH_LEVEL=1
- Set this environment variable to a character string separated by vertical bars (|):
export DUMP_GRAPH_LEVEL="PreRunBegin|AfterInfershape"
Constraints
- If this environment variable is set to an invalid value, undefined behavior may occur.
- If the operator dump data collection function is enabled, see ge.exec.enableDump in Graph Development. Even if the DUMP_GRAPH_LEVEL environment variable is not configured or export DUMP_GRAPH_LEVEL="PreRunBegin|AfterInfershape" is configured but does not contain the Build string, the subgraph ge_proto_xxxx_Build.txt is dumped.
- This environment variable must be used together with DUMP_GE_GRAPH. That is, when DUMP_GE_GRAPH is enabled, DUMP_GRAPH_LEVEL can be used to control the generated dump graphs. For details about the full dump graph information, see Table 1.
Table 1 Description of dump graph details No.
Subgraph
Phase
Trustlisted or Not
1
ge_proto_xxxx_GraphPreRunBegin.txt
Graph before build.
-
2
ge_proto_xxxx_AfterFlowGraphPartition.txt
Graph after flow partitioning (flow partitioning is a partitioning mode used in the data flow).
-
3
ge_proto_xxxx_AfterParallelPartitioner.txt
Graph after pipeline parallel partitioning (pipeline here refers to PP in the backend inference scenario).
-
4
ge_proto_xxxx_PreRunBegin.txt
Original graph structure.
Trustlisted
5
ge_proto_xxxx_RunCustomPassBeforeInfershape.txt
Custom pass exit graph before InferShape.
Trustlisted
6
ge_proto_xxxx_PreRunAfterInitPreparation.txt
Graph structure obtained after all initialization in the graph preparation phase.
-
7
ge_proto_xxxx_PreRunAfterHandleSummaryOp.txt
Graph structure obtained after Summary node processing.
-
8
ge_proto_xxxx_PrepareAfterCheckAndUpdateInput.txt
Graph structure obtained after the graph input is checked and updated.
-
9
ge_proto_xxxx_PrepareAfterGraphEquivalentTransformation.txt
Graph structure obtained after the for loop is equivalently transformed into while loop.
-
10
ge_proto_xxxx_PrepareAfterProcessOutput.txt
Graph structure obtained after graph data processing.
-
11
ge_proto_xxxx_PrepareAfterOptimizeAfterGraphNormalization.txt
Optimization exit graph after graph normalization.
-
12
ge_proto_xxxx_PrepareAfterInsertAipp.txt
Graph structure obtained after AIPP processing.
-
13
ge_proto_xxxx_PrepareAfterProcessAippNodesDataFormat.txt
Exit graph after AIPP node format update.
-
14
ge_proto_xxxx_PreRunAfterNormalizeGraph.txt
Exit graph after graph normalization.
Trustlisted
15
ge_proto_xxxx_PreRunAfterOptimizeGraphInit.txt
Exit graph after graph optimization and initialization.
-
16
ge_proto_xxxx_OptimizeGraph_TagNoConstFoldingAfter.txt
Used for quantization scenarios. The FE adds a tag for an operator to indicate no constant folding. When the GE checks that the tag exists, it does not perform constant folding.
-
17
ge_proto_xxxx_HcclAfterOptimizeGraphPrepare.txt
Graph obtained after optimization in the HCCL graph preparation phase.
-
18
ge_proto_xxxx_PreRunAfterOptimizeGraphPrepare.txt
Graph structure obtained after the original graphs in the operator information library are prepared (by calling the OptimizeGraphPrepare API).
-
19
ge_proto_xxxx_PrepareAfterProcessBeforeInfershape.txt
Graph structure obtained after "dead edges"of the conditional operator are eliminated.
-
20
ge_proto_xxxx_AfterFirstInferformat.txt
Graph structure obtained after format inference on the entire graph.
-
21
ge_proto_xxxx_AfterInfershape.txt
Graph structure obtained after shape inference on the entire graph, with constant folding.
Trustlisted
22
ge_proto_xxxx_PrepareAfterInferFormatAndShape.txt
Graph structure obtained after InferFormat and InferShape processing. This graph has undergone the second InferFormat processing, compared with the preceding graph.
-
23
ge_proto_xxxx_RunCustomPass_AfterInferShape.txt
Custom pass exit graph after InferShape.
Trustlisted
24
ge_proto_xxxx_AfterSecondInferformat.txt
Graph obtained after the second format inference.
-
25
ge_proto_xxxx_PrepareAfterCtrlFlowPreProcess.txt
Graph structure obtained after the conditional operator is preprocessed.
-
26
ge_proto_xxxx_PrepareAfterGetDynamicOutputShape.txt
Graph structure obtained after graph output processing in the presence of dynamic batch size profiles.
-
27
ge_proto_xxxx_PrepareAfterProcessAippStage2.txt
Graph structure obtained after graph input processing in AIPP mode.
-
28
ge_proto_xxxx_PrepareAfterPrepareOptimize.txt
Graph structure obtained after optimization in the graph preparation phase.
-
29
ge_proto_xxxx_PreRunAfterPrepare.txt
Graph structure obtained after graph preparation, the same as the preceding graph.
Trustlisted
30
ge_proto_xxxx_OptimizeQuantGraph_FeGraphFusionAfter.txt
Graph structure obtained after quantization in the graph optimization phase ends.
-
31
ge_proto_xxxx_OptimizeOriginalGraph_FeGraphFusionAfter.txt
Graph structure obtained after graph fusion ends.
-
32
ge_proto_xxxx_OptimizeOriginalGraph_FeTopoSortingAfter.txt
Graph structure obtained after graph fusion and topology sorting, for checking whether a ring is formed.
-
33
ge_proto_xxxx_OptimizeOriginalGraph_DSAFeOpJudgeAfter.txt
Graph with DataType and Format selected after dynamic shape analysis.
-
34
ge_proto_xxxx_HcclBeforeOptimizeOriginalGraph.txt
Graph before optimization of the original HCCL graph.
-
35
ge_proto_xxxx_HcclAfterOptimizeOriginalGraph.txt
Graph after optimization of the original HCCL graph.
-
36
ge_proto_xxxx_RunCustomPassAfterBuiltinFusionPass.txt
Custom pass exit graph after internal pass.
Trustlisted
37
ge_proto_xxxx_PreRunAfterOptimizeOriginalGraph.txt
Graph structure obtained after the original graphs in the operator information library are optimized (by calling the OptimizeOriginalGraph API).
Trustlisted
38
ge_proto_xxxx_PrepareAfterUpdateInputOutputByUserOptions.txt
Graph structure obtained after the graph input and output are processed based on the user's command-line options.
-
39
ge_proto_xxxx_PrepareAfterUpdateVariableFormats.txt
Graph structure obtained after the variable formats are processed.
-
40
ge_proto_xxxx_PreRunAfterPrepareRunningFormatRefiner.txt
Same as the preceding graph.
-
41
ge_proto_xxxx_BeforeOptimizeOriginalGraphJudgeInsert.txt
Entry graph of the operator judging process.
-
42
ge_proto_xxxx_OptimizeOriginalGraph_FeOpDtypeJudgeAfter.txt
Graph after precision mode selection.
-
43
ge_proto_xxxx_PreRunAfterRefineRunningPrecision.txt
Graph after precision selection.
-
44
ge_proto_xxxx_AutofuseWithExtOptimize.txt
Graph generated after precision selection and conversion operator fusion.
-
45
ge_proto_xxxx_PreRunAfterAutofuseWithExtOptimize.txt
Graph generated after precision selection, conversion operator fusion, and automatic fusion.
If automatic fusion is disabled, the content of this subgraph is the same as that of the ge_proto_xxxx_AutofuseWithExtOptimize.txt subgraph.
-
46
ge_proto_xxxx_OptimizeOriginalGraph_FeOpFormatJudgeAfter.txt
Graph with complete op_judge after format selection.
-
47
ge_proto_xxxx_OptimizeOriginalGraph_FeDistHeavyFormatAfter.txt
Graph structure obtained after diffusion of heavy operators.
-
48
ge_proto_xxxx_OptimizeOriginalGraph_FeInsertTransNodeAfter.txt
Graph structure obtained after the transform operator is inserted.
-
49
ge_proto_xxxx_PreRunAfterRefineRunningFormat.txt
Graph structure obtained after each operator information library is optimized (by calling the OptimizeOriginalGraphJudgeInsert API).
-
50
ge_proto_xxxx_PreRunAfterSubexpressionMigration.txt
Graph structure after the common subexpression is extracted in the scenario of dynamic dimension size profiles.
-
51
ge_proto_xxxx_before_SameTransdataBreadthFusionPass.txt
SameTransdataBreadthFusionPass entry graph.
-
52
ge_proto_xxxx_after_SameTransdataBreadthFusionPass.txt
SameTransdataBreadthFusionPass exit graph.
-
53
ge_proto_xxxx_OptimizeStage1_1.txt
Graph structure obtained after graph optimization stage 1_1.
-
54
ge_proto_xxxx_OptimizeStage1_2.txt
Graph structure obtained after graph optimization stage 1_2.
-
55
ge_proto_xxxx_PreRunAfterOptimize1.txt
Graph structure obtained after optimization stage 1 for all graphs.
-
56
ge_proto_xxxx_PreRunAfterOptimizeAfterStage1.txt
Graph structure obtained after each operator information library is optimized (by calling the OptimizeAfterStage1 API).
Trustlisted
57
ge_proto_xxxx_RunCustomPassAfterOriginGraphOptimize.txt
Custom pass executed after original graph optimization.
Trustlisted
58
ge_proto_xxxx_PreRunAfterInferShape2.txt
Graph structure obtained after the second InferShape processing.
-
59
ge_proto_xxxx_BeforeStagePartition.txt
Graph before stage partitioning.
-
60
ge_proto_xxxx_AfterStagePartition.txt
Graph after stage partitioning.
-
61
ge_proto_xxxx_AfterEnginePlacer.txt
Graph after engine selection.
-
62
ge_proto_xxxx_Before_DSP.txt
Graph before partitioning static and dynamic models.
-
63
ge_proto_xxxx_After_DSP.txt
Graph after partitioning static and dynamic models.
-
64
ge_proto_xxxx_AfterDynamicShapePartition.txt
Graph structure obtained after graph partitioning with a dynamic shape.
-
65
ge_proto_xxxx_MergedComputeGraphAfterCompositeEnginePartition.txt
Structure of the merged graph obtained after opposite subgraph partitioning and subgraph optimization.
-
66
ge_proto_xxxx_partition0_rank0_inputNodeGraph_AtomicEnginePartitioning.txt
Structure of the input node subgraph obtained after graph partitioning based on the atomic engine rules.
-
67
ge_proto_xxxx_partition0_rank1_new_sub_graph1_AtomicEnginePartitioning.txt
Structure of subgraph 1 obtained after graph partitioning based on the atomic engine rules.
-
68
ge_proto_xxxx_partition0_rank2_new_sub_graph110_AtomicEnginePartitioning.txt
Structure of subgraph 110 obtained after graph partitioning based on the atomic engine rules.
-
69
ge_proto_xxxx_OptimizeSubgraphPreProc.txt
Exit graph after subgraph optimization preprocessing.
-
70
ge_proto_xxxx_DNN_VM_RTS_OptimizeSubGraphBefore.txt
-
-
71
ge_proto_xxxx_DNN_VM_RTS_OptimizeSubGraphAfter.txt
-
-
72
ge_proto_xxxx_AIcoreEngine_OptimizeSubGraphBefore.txt
Entry graph before AI Core subgraph optimization.
-
73
ge_proto_xxxx_OptimizeSubGraphBefore.txt
Subgraph structure obtained before optimization. Subgraphs have the same name but different sequence numbers, depending on the number of subgraphs.
-
74
ge_proto_xxxx_OptimizeSubGraphAfter.txt
Subgraph structure obtained after optimization. Subgraphs have the same name but different sequence numbers, depending on the number of subgraphs.
-
75
ge_proto_xxxx_partition0_rank1_new_sub_graph1_lxfusion_input.txt
SGAT input graph in the ATC and AOE baseline scenarios.
-
76
ge_proto_xxxx_partition0_rank1_new_sub_graph1_after_rebuild.txt
UB fusion graph of the AOE SGAT internal process.
-
77
ge_proto_xxxx_AIcoreEngine_OptimizeSubGraphAfter.txt
Exit graph after AI Core subgraph optimization.
-
78
ge_proto_xxxx_OptimizeSubgraphPostProc.txt
Exit graph after subgraph optimization postprocessing.
-
79
ge_proto_xxxx_mergedComputeGraph.txt
Structure of the merged graph, the same as the preceding graph.
-
80
ge_proto_xxxx_MergedComputeGraphAfterAtomicEnginePartition.txt
Structure of the merged graph obtained after opposite subgraph partitioning and subgraph optimization.
-
81
ge_proto_xxxx_PreRunAfterOptimizeSubgraph.txt
Subgraph structure obtained after optimization.
Trustlisted
82
ge_proto_xxxx_OptimizeWholeGraphaicpu_tf_optimizer.txt
Graph information obtained after the original graph optimization API of each engine is called. OptimizeWholeGraph is followed by the engine name.
-
83
ge_proto_xxxx_OptimizeWholeGraphaicpu_ascend_optimizer.txt
Graph information obtained after the original graph optimization API of each engine is called. OptimizeWholeGraph is followed by the engine name.
-
84
ge_proto_xxxx_OptimizeWholeGraphdvpp_graph_optimizer.txt
Exit graph after entire graph optimization and DVPP optimization.
-
85
ge_proto_xxxx_OptimizeWholeGraphhccl_alltoallvc_fusion_optimizer.txt
Graph after fusion optimization in the original HCCL graph optimization phase.
-
86
ge_proto_xxxx_OptimizeWholeGraphAIcoreEngine.txt
Graph information obtained after the original graph optimization API of each engine is called. OptimizeWholeGraph is followed by the engine name.
-
87
ge_proto_xxxx_OptimizeWholeGraphDSAEngine.txt
Graph information obtained after the original graph optimization API of each engine is called. OptimizeWholeGraph is followed by the engine name.
-
88
ge_proto_xxxx_OptimizeWholeGraphhccl_graph_optimizer.txt
Graph optimized in the original HCCL graph optimization phase.
-
89
ge_proto_xxxx_OptimizeWholeGraphDNN_VM_RTS_GRAPH_OPTIMIZER_STORE.txt
Graph information obtained after the original graph optimization API of each engine is called. OptimizeWholeGraph is followed by the engine name.
-
90
ge_proto_xxxx_OptimizeWholeGraphDNN_VM_RTS_FFTS_PLUS_GRAPH_OPTIMIZER_STORE.txt
Graph information obtained after the original graph optimization API of each engine is called. OptimizeWholeGraph is followed by the engine name.
-
91
ge_proto_xxxx_OptimizeWholeGraphDNN_VM_HOST_CPU_OPTIMIZER.txt
Graph information obtained after the original graph optimization API of each engine is called. OptimizeWholeGraph is followed by the engine name.
-
92
ge_proto_xxxx_OptimizeWholeGraphge_local_graph_optimizer.txt
Graph information obtained after the original graph optimization API of each engine is called. OptimizeWholeGraph is followed by the engine name.
-
93
ge_proto_xxxx_OptimizeWholeGraphffts_plus.txt
Graph information obtained after the original graph optimization API of each engine is called. OptimizeWholeGraph is followed by the engine name.
-
94
ge_proto_xxxx_PreRunAfterOptimizeWholeGraph.txt
Graph structure obtained after each operator information library is optimized (by calling the OptimizeWholeGraph API).
-
95
ge_proto_xxxx_PreRunAfterOptimize2.txt
Graph structure obtained after optimization stage 2 for all graphs.
-
96
ge_proto_xxxx_PreRunAfterOptimizeGraphBeforeBuild.txt
Entry graph for model build.
Trustlisted
97
ge_proto_xxxx_PreRunAfterOptimizeTensorMove.txt
Graph after redundant TensorMove nodes are optimized.
-
98
ge_proto_xxxx_BeforeHandleMemConflict.txt
Graph before the memory conflict is handled.
-
99
ge_proto_xxxx_AfterHandleMemConflict.txt
Graph after the memory conflict is handled.
-
100
ge_proto_xxxx_BeforeHandleMemoryLayoutConflict.txt
Entry graph before the memory layout conflict is handled.
-
101
ge_proto_xxxx_PreRunAfterMemConflictProc.txt
Exit graph after the memory read/write conflict is handled.
-
102
ge_proto_xxxx_partition0_rank0_inputNodeGraph_SecondPartitioning.txt
Structure of the input node subgraph obtained after second partitioning.
-
103
ge_proto_xxxx_partition0_rank1_new_sub_graph1_SecondPartitioning.txt
Structure of subgraph 1 obtained after second partitioning.
-
104
ge_proto_xxxx_partition0_rank2_new_sub_graph110_SecondPartitioning.txt
Structure of subgraph 110 obtained after second partitioning.
-
105
ge_proto_xxxx_BeforeUnfoldSubgraphs.txt
Graph before dynamic-shape graph expansion.
-
106
ge_proto_xxxx_AfterUnfoldSubgraphs.txt
Graph after dynamic-shape graph expansion.
-
107
ge_proto_xxxx_RunCustomPass_BeforeAssignLogicStream{pass_name}.txt
Graph before user-defined stream allocation pass processing.
Trustlisted
108
ge_proto_xxxx_RunCustomPass_AfterAssignLogicStream{pass_name}.txt
Graph after user-defined stream allocation pass processing.
Trustlisted
109
ge_proto_xxxx_AfterAssignResource.txt
Graph after stream allocation, memory allocation, and GenTask.
-
110
ge_proto_xxxx_Build.txt
Exit graph for model build.
Trustlisted
111
ge_proto_xxxx_PreRunAfterBuild.txt
Same as the preceding graph.
-
112
ge_proto_xxxx_BeforeAttrsCompress.txt
Graph before offline model compression.
-
113
ge_proto_xxxx_AfterAttrsCompress.txt
Graph after offline model compression.
-
114
ge_proto_xxxx_BeforeAttrsDecompress.txt
Graph before offline model decompression.
-
115
ge_proto_xxxx_AfterAttrsDecompress.txt
Graph after offline model decompression.
-
116
ge_proto_xxxx_ComputeGraphBeforeLowering.txt
Computational graph before lowering.
Trustlisted
117
ge_proto_xxxx_Before_MultiStream_LoweringFirstLastEventSync.txt
Execution graph before multi-stream event insertion.
-
118
ge_proto_xxxx_ExeGraphBeforeOptimize.txt
Execution graph before graph optimization.
Trustlisted
119
ge_proto_xxxx_AfterZeroCopy.txt
Execution graph after zero-copy optimization.
-
120
ge_proto_xxxx_AfterCEM.txt
Execution graph after CEM optimization.
-
121
ge_proto_xxxx_AfterCopyFlowLaunch.txt
Execution graph after in-line copy optimization.
-
122
ge_proto_xxxx_TrustOutTensorAfter.txt
Execution graph after TrustOutTensor optimization.
-
123
ge_proto_xxxx_AfterAicpuFuseHostInputs.txt
Graph after AicpuFuseHostInputs optimization.
-
124
ge_proto_xxxx_ExecuteGraphAfterSplit.txt
Final execution graph of the dynamic shape.
Trustlisted
Applicability
Atlas 350 Accelerator Card