静态图场景下,整图算子全部下沉到NPU侧执行,kernel侧单算子调试信息(通过printf接口)需要在模型执行结束后才能获取。本工具提供了离线解析能力,帮助用户获取并解析调试信息(将bin文件解析成可读格式)。
show_kernel_debug_data支持多用户并发调用,但用户需要指定不同的落盘路径,否则可能出现落盘内容被覆盖等问题。
本工具支持的产品型号:
工具跟随CANN软件包发布(参考环境准备完成CANN安装),其路径默认为“${INSTALL_DIR}/tools/ascendc_tools/show_kernel_debug_data”,其中${INSTALL_DIR}请替换为CANN软件安装后文件存储路径。例如,若安装的Ascend-cann-toolkit软件包,则安装后文件存储路径为:$HOME/Ascend/ascend-toolkit/latest。
1 2 |
source /usr/local/Ascend/ascend-toolkit/set_env.sh source /usr/local/Ascend/ascend-toolkit/latest/toolkit/bin/setenv.bash |
1 2 |
source ${HOME}/Ascend/ascend-toolkit/set_env.sh source ${HOME}/Ascend/ascend-toolkit/latest/toolkit/bin/setenv.bash |
1
|
show_kernel_debug_data -h |
1
|
show_kernel_debug_data ${bin_file_path} ${output_path} |
参数 |
说明 |
默认值 |
是否必选 |
---|---|---|---|
${bin_file_path} |
kernel侧调试信息落盘的bin文件路径。 |
- |
是 |
${output_path} |
解析结果的保存路径。 |
默认是当前命令行执行目录下。 |
否 |
命令行示例如下:
1
|
show_kernel_debug_data ./input/dump_workspace.bin ./output_dir |
函数原型 |
def show_kernel_debug_data(bin_file_path: str, output_path: str = './') -> None |
|||
函数功能 |
获取kernel侧调试信息并解析成可读文件。 |
|||
参数(IN) |
bin_file_path |
kernel侧调试信息落盘的bin文件路径,字符串类型。 |
||
output_path |
解析结果的保存路径,字符串类型,默认是当前接口调用脚本所在目录下。 |
|||
参数(OUT) |
NA |
- |
||
返回值 |
NA |
- |
||
使用约束 |
无 |
|||
调用示例 |
|
工具解析结果文件目录结构如下:
1 2 3 |
├ ${output_path} ├── PARSER_${timestamp} // ${timestamp}表示时间戳。 │ ├── parser.log // 工具解析的日志,包含kernel侧日常流程和printf打印信息。 |