文档
注册

dump数据存盘说明

dump结果目录结构示例如下:

├── dump_path
│   └── ptdbg_dump_{version}
│          ├── step0
│          │   ├── rank0
│          │   │    ├── dump
│          │   │    │    ├── Tensor_permute_1_forward.npy
│          │   │    │    ├── MyModule_0_forward_input.npy
│          │   │    │     ...
│          │   │    │    └── Fcuntion_linear_5_backward_output.npy
│          │   │    │    └── dump.pkl
│          │   ├── rank1
│          │   │    ├── dump
│          │   │    │   └── ...
│          │   │    └── dump.pkl
│          │   ├── ...
│          │   │
│          │   └── rank7
│          ├── step1
│          │    ├── ...
│          ├── step2

dump过程中,npy文件在对应算子或者模块被执行后就会落盘,而pkl文件则需要在正常执行PrecisionDebugger.stop()或set_dump_switch("OFF")后才会被落盘保存,异常的程序终止会保存终止前被执行算子的相关npy文件,但是不会生成pkl文件。

其中ptdbg_dump_{version}为默认命名,debugger方式dump不支持修改该文件夹名称,使用set_dump_path函数则支持通过dump_tag参数修改文件夹名称;rank为设备上各卡的ID,每张卡上dump的数据会生成对应dump目录。

精度比对dump场景

精度比对dump场景的结果如下:

  • dump.pkl文件:包含dump数据的API名称(命名格式为:{api_type}_{api_name}_{API调用次数}_{前向反向}_{input/output}.{参数序号})、dtype、 shape以及各数据的max、min、mean统计信息。

    其中,“参数序号”表示该API下的第n个参数,例如1,则为第一个参数,若该参数为list格式,则根据list继续排序,例如1.1,表示该API的第1个参数的第1个子参数。

  • dump目录:目录下为npy格式的dump数据。

    npy文件保存的前缀和PyTorch对应关系如下:

    前缀

    Torch模块

    Tensor

    torch.Tensor

    Torch

    torch

    Functional

    torch.nn.functional

    NPU

    NPU亲和算子

    VF

    torch._VF

    Aten

    torch.ops.aten

    Distributed

    torch.distributed

当configure_hook或set_dump_switch配置mode参数(例如:mode="api_stack" )时,dump结果的文件名会添加api_stack前缀,dump结果如下:

  • api_stack_dump.pkl
  • api_stack_dump目录

溢出检测dump场景

PrecisionDebugger模块的hook_name参数或register_hook函数设置了overflow_check时,检测API溢出,dump结果的文件名格式为:{api_type}_{api_name}_{API调用次数}_{前向反向}_{当前溢出次数},dump结果示例如下:

  • Tensor_add_1_forward_1.pkl
  • Tensor_add_1_forward_1目录
搜索结果
找到“0”个结果

当前产品无相关内容

未找到相关内容,请尝试其他搜索词