export ASCEND_LAUNCH_BLOCKING=1
目前ptdbg工具提供了以下数据dump模式,可以在set_dump_switch函数中配置不同的参数来设置:
set_dump_switch(switch, mode='all', scope=[], api_list=[], filter_switch='ON', dump_mode='all')
设置dump范围。建议在register_hook函数之后的脚本内任意位置插入,但进行精度问题排查建议,先从第一个迭代开始的位置调用并dump整网数据。
以下均以dump部分API数据为例,API名可以从首次dump整网数据的结果csv文件中的NPU Name或Bench Name列获取。
set_dump_switch("ON", mode="list", scope=["Tensor_permute_1_forward", "Tensor_transpose_2_forward", "Torch_relu_3_backward"])
set_dump_switch("ON", mode="range", scope=["Tensor_abs_1_forward", "Tensor_transpose_3_forward"])
set_dump_switch("ON", mode="stack", scope=["Tensor_abs_1_forward", "Tensor_transpose_3_forward"])
register_hook(model, acc_cmp_dump, dump_mode='acl', dump_config='./dump.json') set_dump_switch("ON", mode="acl", scope=["Tensor_permute_1_forward"])
需要配置register_hook的dump_mode='acl'和dump_config配置文件。
register_hook(model, acc_cmp_dump, dump_mode='acl', dump_config='./dump.json') set_dump_switch("ON", mode="acl", scope=["Functional_conv2d_1_backward"]) set_backward_input(["./npu_dump/dump_conv2d_v2.0/rank0/dump/Functional_conv2d_1_backward_input.0.npy"])
需要配置register_hook的dump_mode='acl'和dump_config配置文件,并通过set_backward_input设置反向API输入的.npy文件。
set_dump_switch("ON", mode="acl", scope=["Tensor_abs_1_forward"])
set_dump_switch("ON", mode="api_list", api_list=["relu"])
mode="api_list"时不配置scope。
set_dump_switch("ON", mode="api_stack")
mode="api_stack"时不配置scope。
set_dump_switch("ON", filter_switch="OFF")
配置filter_switch="OFF"同时也可以配置mode、scope和api_list,除dump ACL级别数据。