当前位置: 首页 > news >正文

CANN/asc-devkit的CPU日志API

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 推理系列产品

功能说明

提供Host侧打印Log的功能。开发者可以在算子的TilingFunc代码中使用ASC_CPU_LOG_XXX接口来输出相关内容。一般情况下,开发者也可以选择使用printf等Host侧通用的打印方式进行调试。然而,在Tiling下沉场景中,由于Tiling函数运行在AI CPU上,必须使用本接口进行打印。

  • 非Tiling下沉场景,日志输出到plog中。比如,debug级别的日志输出到/root/ascend/log/debug/plog中,日志级别通过环境变量控制。会打印日志级别、时间戳、日志所在代码行和日志所在函数名。

  • Tiling下沉场景,日志不会输出到plog中,而是需要落盘并进行解析。算子运行之前需要开启Dump功能,使得日志Dump功能生效。如何开启Dump功能依赖于具体的网络运行方式。以TorchAir图模式为例,需要配置enable_dump、dump_path、dump_mode等Dump参数。详细说明可参考《PyTorch图模式使用指南(TorchAir)》中的“max-autotune模式功能>算子输入输出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),仅供参考

http://www.jsqmd.com/news/784001/

相关文章:

  • Sonoff ZBDongle-E Zigbee 3.0 USB适配器评测与开发指南
  • taotoken提供的api调用审计日志如何帮助排查未授权的访问尝试
  • ncmdumpGUI技术解析:网易云音乐NCM格式本地化解密方案
  • 保姆级教程:在ROS Noetic下配置move_base的costmap参数,让机器人绕开障碍物
  • 如何5分钟解锁哔哩下载姬:从新手到高手的效率革命
  • 图神经网络与欺诈检测:从技术原理到工业落地的实践指南
  • 山西中小企业低成本获客方案2026:精准定向推广vs传统广告的真实对比 - 优质企业观察收录
  • PowerShell集成大语言模型:自动化运维与AI能力融合实战
  • 【大模型数据Pipeline设计黄金法则】:奇点智能大会首发的7大避坑指南与实时监控架构
  • 成都外呼语音机器人厂商横评:智能化、稳定性谁更胜一筹? - 品牌2025
  • 2026年广东二手PCB设备买卖完全指南:从官方联系到避坑秘籍 - 年度推荐企业名录
  • 2026年北京办公家具租赁优质服务商参考:北京天顺博菲办公家具有限公司,北京桌椅出租、北京家具出租,以灵活服务适配轻资产办公需求 - 海棠依旧大
  • Taotoken多模型API为C语言后端服务提供智能对话能力
  • AI决策可解释性:归因分数与反事实解释的工程实践
  • 收藏!告别单一技术栈!从“全栈工程师”到“Agent工程师”,AI时代工程师转型指南
  • 从零构建GitHub Pages静态博客:Jekyll选型、部署与优化全指南
  • 2026年浙江二手PCB设备处置完全指南:从闲置资产到环保合规的一站式方案 - 年度推荐企业名录
  • 知识产权服务专业的公司 - 品牌企业推荐师(官方)
  • CANN/HCCL集合通信Broadcast示例
  • 生成式AI重塑软件工程教育:从辅助工具到教学伙伴的实践与挑战
  • CANN Floyd注意力梯度算子
  • ARM Fast Models追踪组件在Cortex-R52开发中的关键应用
  • CANN/PTO-ISA通信算子开发指南
  • 双色注塑机行业调研报告机构怎么选?迪索共研 —— 性价比、数据准确性与权威性标杆 - 品牌推荐大师1
  • 深度学习赋能引力波探测:从CNN到Transformer的AI信号识别实战
  • CANN/amct DeepSeek-V3.2量化
  • AI代码优化实战:Code Shaman如何系统化提升代码质量与性能
  • 上海企业呼叫中心系统选型指南:如何打造高效客户联络平台 - 品牌2025
  • 别再为‘Target uses ARM-Compiler which is not available’抓狂了!一份给STM32/Keil开发者的编译器环境修复指南
  • 2026年必吃榜:这家鱼生餐厅的鲜甜让老饕直呼惊艳 - 品牌企业推荐师(官方)