CANN/asc-tools:show_kernel_debug_data样例
show_kernel_debug_data样例【免费下载链接】asc-toolsAscend C Tools仓是CANN基于Ascend C编程语言推出的配套调试工具仓。项目地址: https://gitcode.com/cann/asc-tools概述本样例基于Add算子演示kernel侧算子调试信息的获取并通过show_kernel_debug_data工具解析。算子相关描述请参考Add算子直调样例.支持的产品Ascend 950PR/Ascend 950DTAtlas A3 训练系列产品/Atlas A3 推理系列产品Atlas A2 训练系列产品/Atlas A2 推理系列产品目录结构介绍├── 01_show_kernel_debug_data │ ├── acl.json // Dump配置文件 │ ├── add.asc // Ascend C算子实现 │ └── CMakeLists.txt // 编译工程文件编译运行在本样例根目录下执行如下步骤编译并执行算子。配置环境变量请根据当前环境上CANN开发套件包的安装方式选择对应配置环境变量的命令。默认路径root用户安装CANN软件包source /usr/local/Ascend/cann/set_env.sh默认路径非root用户安装CANN软件包source $HOME/Ascend/cann/set_env.sh指定路径install_path安装CANN软件包source ${install_path}/cann/set_env.sh执行如下命令若能正常显示--help或-h信息则表示工具环境正常功能可正常使用。show_kernel_debug_data -h修改编译选项Ascend 950PR/Ascend 950DT对于Ascend 950PR/Ascend 950DT执行前需要修改CMakeLists.txt中编译选项--npu-arch具体修改如下--npu-archdav-3510样例执行mkdir -p build output cd build; # 创建并进入build目录 cmake ..;make -j; # 编译工程 # 在build目录执行以下内容 ./demo # 执行样例执行结果如下说明精度对比成功。[Success] Case accuracy is verification passed.执行完成后将在当前目录生成kernel调试信息bin文件落在配置的路径下例如:${git_clone_path}/examples/01_show_kernel_debug_data/output └── 202xxxxxxxxxxx // 待解析的dump二进制文件包含kernel侧打印信息 ├── asc_kernel_data_xxx.bin ├── ... └── asc_kernel_data_xxx.bin调用show_kernel_debug_data工具解析使用命令行方式调用show_kernel_debug_data工具解析调试信息。mkdir dump_info_output show_kernel_debug_data ../output dump_info_output运行后终端显示如下打印信息(AscendC::print打印)如需保存解析日志需设置环境变量ASCEND_GLOBAL_LOG_LEVEL1log file saves to ./dump_info_output/PARSER_20251022074515310995/parser.log write dump workspace result: ./dump_info_output/PARSER_20251022074515310995/dump_data block.0 begin fmt string int: 291 fmt string int: 291 fmt string float: 3.140000 fmt string float: 3.140000 block.0 end block.1 begin fmt string int: 291 fmt string int: 291 fmt string float: 3.140000 fmt string float: 3.140000 block.1 end ... block.7 begin fmt string int: 291 fmt string int: 291 fmt string float: 3.140000 fmt string float: 3.140000 block.7 end 结果目录结构如下:${git_clone_path}/examples/01_show_kernel_debug_data/build/dump_info_output └── PARSER_20251022074515310995 ├── dump_data │ ├── 0 // core0解析结果 │ │ ├── asc_kernel_data_aiv_0_index_0_loop_0.bin // core0 desc0 progress0落盘信息 │ │ ├── asc_kernel_data_aiv_0_index_0_loop_0.txt // core0 desc0 progress0解析结果 ... │ │ ├── asc_kernel_data_aiv_0_index_2_loop_15.bin // core0 desc2 progress15落盘信息 │ │ ├── asc_kernel_data_aiv_0_index_2_loop_15.txt // core0 desc2 progress15落盘信息 │ │ └── time_stamp_core_0.csv // 时间戳信息 │ ├── 1 // core1解析结果 │ ├── 2 // core2解析结果 │ ... │ └── index_dtype.json // index与数据类型的映射关系 └── parser.log // 工具解析日志其中dump_data目录下的0,1,2,...,7为8个核各自的打印信息。index0、index1、index2分别对应代码中Dumptensor第二个参数desc0、desc1、desc2所在函数调用代码的打印对应到本例分别为xLocal, yLocal, zLocal的打印AscendC::DumpTensor(xLocal[64], 0, 16); AscendC::DumpTensor(yLocal[64], 1, 16); AscendC::DumpTensor(zLocal[64], 2, 16);asc_kernel_data_aiv_0_index_0_loop_x.*中x的取值是0-15对应Block1xLocal切分的每个tileLength大小的数据打印。【免费下载链接】asc-toolsAscend C Tools仓是CANN基于Ascend C编程语言推出的配套调试工具仓。项目地址: https://gitcode.com/cann/asc-tools创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2599685.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!