尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
CANN/asc-devkit AI CPU日志接口
ASC_CPU_LOG【免费下载链接】asc-devkit本项目是CANN 推出的昇腾AI处理器专用的算子程序开发语言原生支持C和C标准规范主要由类库和语言扩展层构成提供多层级API满足多维场景算子开发诉求。项目地址: https://gitcode.com/cann/asc-devkit产品支持情况Ascend 950PR/Ascend 950DT支持Atlas A3 训练系列产品/Atlas A3 推理系列产品支持Atlas A2 训练系列产品/Atlas A2 推理系列产品支持Atlas 200I/500 A2 推理产品支持Atlas 推理系列产品AI Core支持Atlas 推理系列产品Vector Core不支持Atlas 训练系列产品支持功能说明提供Host侧打印Log的功能。开发者可以在算子的TilingFunc代码中使用ASC_CPU_LOG_XXX接口来输出相关内容。一般情况下开发者也可以选择使用printf等Host侧通用的打印方式进行调试。然而在Tiling下沉场景中由于Tiling函数运行在AI CPU上必须使用本接口进行打印。非Tiling下沉场景日志输出到plog中。比如debug级别的日志输出到/root/ascend/log/debug/plog中日志级别通过环境变量ASCEND_GLOBAL_LOG_LEVEL控制。会打印日志级别、时间戳、日志所在代码行和日志所在函数名。Tiling下沉场景日志不会输出到plog中而是需要落盘并进行解析。算子运行之前需要开启Dump功能使得日志Dump功能生效。如何开启Dump功能依赖于具体的网络运行方式。以TorchAir图模式为例需要配置enable_dump、dump_path、dump_mode等Dump参数。详细说明可参考《Ascend Extension for PyTorch》中的“《Pytorch图模式使用(TorchAir)》 GE图模式 GE图模式功能 算子data dump功能”章节。示例如下import torch_npu, torchair config torchair.CompilerConfig() # data dump开关[必选] config.dump_config.enable_dump True # dump类型[可选]all代表dump所有数据 config.dump_config.dump_mode all # dump路径[可选]缺省为当前目录 config.dump_config.dump_path /home/dump ...算子运行完成后在Dump数据存放路径下会有日志Dump文件生成文件名命名规则格式为_{op_type}.{op_name}.{taskid}.{stream_id}.{timestamp}其中{op_type}表示算子类型{op_name}表示算子名称{taskid}表示调用算子计算接口的taskId{stream_id}表示算子具体执行的流Id{timestamp}_表示时间戳。需要包含的头文件#include utils/log/asc_cpu_log.h函数原型#define ASC_CPU_LOG_ERROR(format, ...) #define ASC_CPU_LOG_INFO(format, ...) #define ASC_CPU_LOG_WARNING(format, ...) #define ASC_CPU_LOG_DEBUG(format, ...)参数说明表1参数说明参数名输入/输出描述format输入格式控制字符串包含两种类型普通字符和转换说明。- 普通字符将直接输出。- 转换说明用于控制参数的格式化输出。每个转换说明以百分号%开始后跟类型说明符用于指定输出数据的类型。支持的数据类型和C/C规范保持一致。...输入附加参数数量和类型可变的参数列表。其数量和类型需与格式控制字符串中的%标签数量和类型匹配。每个参数将替换格式字符串中的相应%标签以实现预期的输出效果。返回值说明无约束说明Tiling下沉场景下若使用旧版本CANN包不支持ASC_CPU_LOG接口生成的自定义算子工程需特别注意兼容性问题此时调用该接口无法输出日志。您可以通过查看自定义算子工程下cmake/device_task.cmake中有无DEVICE_OP_LOG_BY_DUMP字段来确认当前工程是否支持日志Dump功能如果未找到该字段则需要重新生成自定义算子工程。调用示例#include utils/log/asc_cpu_log.h namespace optiling { static ge::graphStatus TilingFunc(gert::TilingContext *context) { TilingData tiling; uint32_t totalLength context-GetInputShape(0)-GetOriginShape().GetShapeSize(); ... ASC_CPU_LOG_ERROR(I am ERROR log: %d\n, 0x123); ASC_CPU_LOG_INFO(I am INFO log: %d\n, 0x123); ASC_CPU_LOG_WARNING(I am WARNING log: %d\n, 0x123); ASC_CPU_LOG_DEBUG(I am DEBUG log: %d\n, 0x123); ... } } // namespace optiling非Tiling下沉场景打印会输出至xxxxxxx_2025xxxxxxxxxxxxx.log中结果示例如下[ERROR] ASCENDCKERNEL(xxx,execute_add_op):2025-xx-xx-xx:xx:xx.xxx.xxx [/xxx/xxx.cpp:xx][TilingFunc] I am ERROR log: 291 [INFO] ASCENDCKERNEL(xxx,execute_add_op):2025-xx-xx-xx:xx:xx.xxx.xxx [/xxx/xxx.cpp:xx][TilingFunc] I am INFO log: 291 [WARNING] ASCENDCKERNEL(xxx,execute_add_op):2025-xx-xx-xx:xx:xx.xxx.xxx [/xxx/xxx.cpp:xx][TilingFunc] I am WARNING log: 291 [DEBUG] ASCENDCKERNEL(xxx,execute_add_op):2025-xx-xx-xx:xx:xx.xxx.xxx [/xxx/xxx.cpp:xx][TilingFunc] I am DEBUG log: 291【免费下载链接】asc-devkit本项目是CANN 推出的昇腾AI处理器专用的算子程序开发语言原生支持C和C标准规范主要由类库和语言扩展层构成提供多层级API满足多维场景算子开发诉求。项目地址: https://gitcode.com/cann/asc-devkit创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
RELATED

相关推荐

【C语言】实现趣味猜数字小游戏

【C语言】实现趣味猜数字小游戏

目录 一、游戏介绍 二、如何生成随机数? 1.rand函数 2.srand函数 3.time函数 4.综合以上知识,我们可以做到让程序每次运行都生成不同的1~100之间的随机数的操作,具体代码如下: 三、整体参考代码 四、其他小功能 1、在用户…

📅 2026/8/25 14:01:26
TI芯片PRCM模块实战:MPU、ECC与时钟配置详解

TI芯片PRCM模块实战:MPU、ECC与时钟配置详解

1. 项目概述与核心价值在嵌入式系统,尤其是汽车电子和工业控制这类对可靠性、实时性要求严苛的领域,芯片的稳定运行绝非偶然。它依赖于一套精密、可控的底层硬件管理机制,而电源、复位与时钟(Power, Reset, and Clock Management&…

📅 2026/8/23 11:24:26
深入解析TI OMAP I2C控制器:时钟、电源、中断与DMA底层机制

深入解析TI OMAP I2C控制器:时钟、电源、中断与DMA底层机制

1. 项目概述:为什么需要深入理解I2C控制器的底层管理机制?在嵌入式系统开发,尤其是基于复杂SoC(如TI OMAP系列)的设计中,I2C总线是我们连接传感器、EEPROM、PMIC等外设的“血管”。大多数开发者对I2C的应用…

📅 2026/9/8 17:56:22
MORE NEWS

更多资讯

📰

Mac mini飞书连接失效排查:从network unavailable到睡眠唤醒与双网卡

说实话,第一次在 Mac mini 上碰到飞书弹出 network unavailable, please go to feishu network diagnosis to find the problem 这段英文提示时,我差点直接把它当成整机断网报给 IT。后来排的案例多了才明白,飞书提示“连接失效”背后藏着不…

📰

Python分支结构详解:从if语句到多分支嵌套的完整实践指南

1. 分支结构到底在解决什么问题先说个最直接的感受:刚开始学Python的时候,很多人觉得“写代码就是按顺序一行一行往下跑”,直到遇到分支结构才发现,程序真正的价值不全在“能算”,而在“会判断”。有了Python环境之后&…

📰

达芬奇Fusion实战:从节点合成到HUD目标识别特效制作

很多人打开达芬奇 DaVinci Resolve 的 Fusion 页面,看到满屏节点连线就直接劝退了。但这期我们不做泛泛的“节点基础科普”,而是直接拿一个实战需求来拆解:在视频画面上制作 HUD 目标识别特效——就是科幻片、军事游戏 UI 里那种自动锁定目标…

📰

Citel判题平台从零分到满分的Python避坑指南

简介:一套面向北京交通大学计算思维课程大一学生的 Citel 编程题参考代码合集,覆盖巅峰日、并发程序、电梯 II、卡牌、语料字典、字串、字符串变换与字符串映射等常见课内题目,适合在完成作业或复习时用作思路对照。代码以 C 实现&#xff0c…

📰

Pandas构建DataFrame全攻略:从安装到性能优化

做Python数据分析,绕不开的一个东西就是DataFrame。你可以把它理解成一张放在内存里的Excel表格,也可以把它理解成一张不依赖数据库的SQL表——行是记录,列是字段,每个列还各自带着自己的数据类型。Pandas就是操作这张表的工具箱&…

📰

不写一行 SQL:Wren AI 用自然语言查数据库的完整指南

不写一行 SQL:Wren AI 用自然语言查数据库的完整指南 【免费下载链接】WrenAI GenBI (Generative BI) for AI agents, an open-source, governed text-to-SQL through an open context layer that turns natural-language questions into trusted dashboards, chart…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬