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 training product

Atlas inference product

Atlas A2 training product / Atlas A2 inference product

Atlas A3 training product / Atlas A3 inference product

Atlas 350 Accelerator Card

Atlas 200I/500 A2 inference product