news 2026/5/10 5:12:52

CANN/asc-tools:show_kernel_debug_data样例

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
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 950DT
  • Atlas 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-arch=dav-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_LEVEL=1

    log 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第二个参数desc=0、desc=1、desc=2所在函数调用代码的打印,对应到本例分别为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,对应Block1,xLocal切分的每个tileLength大小的数据打印。

【免费下载链接】asc-toolsAscend C Tools仓是CANN基于Ascend C编程语言推出的配套调试工具仓。项目地址: https://gitcode.com/cann/asc-tools

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/10 5:11:52

STM32调试与SWV跟踪实战指南

1. STM32调试与SWV跟踪实战指南作为一名嵌入式开发工程师,我经常需要在资源受限的MCU上调试复杂功能。传统调试方式往往需要频繁暂停程序,这不仅影响实时性,还可能掩盖某些时序相关的Bug。经过多年实践,我发现ARM CoreSight调试架…

作者头像 李华
网站建设 2026/5/10 5:11:11

Vision Pro开发资源全解析:从AR/VR/AI入门到实战项目搭建

1. 项目概述:一个面向开发者的AR/VR/AI资源宝库 最近在GitHub上看到一个挺有意思的仓库,叫 imclab/Apple-Vision-PRO-AR-VR-XR-AI 。光看这个标题,信息量就很大,它把苹果的Vision Pro、增强现实(AR)、虚…

作者头像 李华
网站建设 2026/5/10 4:55:52

从零构建个人操作系统:核心模块实现与开发实战指南

1. 项目概述:个人操作系统的构想与实践 最近在技术社区里看到一个挺有意思的项目,叫 sshh12/personal-os 。光看这个名字,就让我这个在系统底层折腾了十多年的老码农眼前一亮。它不是一个传统的Linux发行版,也不是一个玩具级的教…

作者头像 李华
网站建设 2026/5/10 4:54:41

CANN训练优化样例集

cann-recipes-train 【免费下载链接】cann-recipes-train 本项目针对LLM与多模态模型训练业务中的典型模型、加速算法,提供基于CANN平台的优化样例 项目地址: https://gitcode.com/cann/cann-recipes-train 🚀 Latest News [2026/04] 新增DeepSe…

作者头像 李华
网站建设 2026/5/10 4:52:39

2026技术大会/社区/博主推荐:拒绝信息差

在2026年的今天,软件测试行业正经历一场前所未有的范式转移。当Claude Mythos模型在测试中意外挖出潜伏了27年的重大软件漏洞时,整个行业都意识到:代码质量早已不是锦上添花,而是悬在数字世界头顶的达摩克利斯之剑。Agentic AI与自…

作者头像 李华