【2023 · CANN训练营第一季】应用开发深入讲解——第三章应用调试

news2024/12/21 19:29:42

学习资源

日志参考文档

在这里插入图片描述

应用开发FAQ

日志主要用于记录系统的运行过程及异常信息,帮助快速定位系统运行过程中出现的问题以及开发过程中的程序调试问题。
日志分为如下两大类:

  • 系统类日志:系统运行产生的日志。主要包括:
    Control CPU上的系统类日志,包括用户态日志和内核态日志。
    非Control CPU(例如TSDUMP/LP)上的系统类日志。
  • 应用类日志:运行应用程序产生的日志。主要包括:
    compiler中各组件(如GE、FE、AICPU、TBE、HCCL等)、runtime中各组件(如AscendCL、GE、Runtime等)打印的日志。
    Device侧AICPU 、HCCP打印的日志。

日志处理机制介绍

Ascend EP场景(推理/训练)

启动日志进程
设备完成驱动安装后日志进程自动启动。Device侧包括slogd进程、sklogd进程和log-daemon进程;Host侧则通过libalog.so采集Host侧的应用类日志,libalog.so文件包含在compiler和runtime目录下。

采集日志
在Device侧,slogd进程采集Control CPU上的系统类日志和应用类日志;log-daemon进程采集非Control CPU上的系统类日志。

在Host侧,libalog.so采集Host侧的应用类日志。

记录日志
Device侧系统类日志:slogd进程将Control CPU上的系统类日志记录在Device侧以“device-os”为开头命名的日志文件中;log-daemon进程将非Control CPU上的系统类日志记录在Device侧以“device-id”为开头命名的日志文件中。
应用类日志:Device侧的slogd进程将Device侧应用类日志回传给Host侧的libalog.so,libalog.so将接收到的Device侧应用类日志与Host侧应用类日志分别记录在Host侧以“device-pid”和“plog-pid”为开头命名的日志文件中。

如果Device侧的应用类日志回传到Host侧失败,会在Device侧直接落盘,记录在以“device-app-pid”为开头命名的日志文件中。如果Device侧的应用类日志回传到Host侧成功,则不会在Device侧落盘。

传输日志
Device侧系统类日志可以通过部署在Host侧的msnpureport工具从Device侧传输给Host侧。

Ascend RC 场景(推理)

日志进程
设备完成驱动安装后日志进程自动启动。包括slogd进程、sklogd进程和log-daemon进程。

采集日志
log-daemon进程采集非Control CPU上的系统类日志;slogd进程采集Control CPU上的系统类日志和应用类日志。

将日志记录到文件中
slogd对接收的日志进行分类,应用类日志由slogd记录在以“device-app-pid”为开头命名的日志文件中;Control CPU上的系统类日志由slogd记录在以“device-os”为开头命名的日志文件中。

非Control CPU上的系统类日志由log-daemon进程记录在以“device-id”为开头命名的日志文件中。

日志类型及类别介绍

日志级别等级由低到高顺序:DEBUG < INFO < WARNING < ERROR,级别越低,输出日志越详细。
在这里插入图片描述

日志记录格式介绍

样例

[ERROR] TEFUSION(12940,atc):2021-10-17-05:54:07.599.074 [tensor_engine/te_fusion/pywrapper.cc:33]InitPyLogger Failed to import te.platform.log_util

日志格式

[Level] ModuleName(PID,PName):DateTimeMS [FileName:LineNumber]LogContent

日志字段说明
在这里插入图片描述

日志的默认输出方式为将日志保存在log文件中,也可以通过设置环境变量ASCEND_SLOG_PRINT_TO_STDOUT将日志打屏显示。

设置命令如下:

export ASCEND_SLOG_PRINT_TO_STDOUT=1

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/505188.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

shiro CVE-2016-4437 漏洞复现

shiro Apache Shiro是一个强大且易用的Java安全框架,执行身份验证、授权、密码和会话管理。使用Shiro的易于理解的API,您可以快速、轻松地获得任何应用程序,从最小的移动应用程序到最大的网络和企业应用程序漏洞原理 在Apache shiro的框架中&#xff0c;执行身份验证时提供了…

【开发者必读】如何在MyEclipse中使用内联搜索?

MyEclipse v2022.1.0正式版下载 DevStyle中的内联搜索取代了传统的Eclipse查找和替换对话框&#xff0c;提供了一种更加高效和非侵入性的搜索体验——一种不会中断您的开发工作流程的工具。 DevStyle是一个Eclipse插件&#xff0c;也包含在MyEclipse中。 选择内联搜索参数 …

C++编译器对于对象的优化

C编译器对于对象构造的优化 用临时对象生成新对象时&#xff0c; 临时对象就不产生了&#xff0c;直接构造新对象即可 class Test { public:Test(int a 10) :ma(a){cout << "Test(int)" << endl;}~Test(){cout << "~Test()" <<…

node中npm依赖安装顺序,package-lock.json文件详解

前置知识&#xff1a;需要先了解package.json 和package-lock.json的基本知识和使用方法&#xff0c;可以参考这篇文章。 npm依赖安装的逻辑和顺序可以参考这篇文章 理论看完了我们来看一下实际项目中的是啥样的&#xff0c;上面文章所讲的逻辑都会在npm install之后&#xf…

程序员面试金典16.*

文章目录 16.01 交换数字16.02单词频率16.03交点16.04 井字游戏16.05 阶乘尾数16.06 最小差16.07 最大数值16.08 整数的英文表示16.09 运算16.10 生存人数16.11 跳水板16.13 平分正方形16.14 最佳直线&#xff08;待定&#xff09;16.15珠玑妙算16.16部分排序16.17连续数列16.1…

Hadoop HDFS的API操作

客户端环境准备 hadoop的 Windows依赖文件夹&#xff0c;拷贝hadoop-3.1.0到非中文路径&#xff08;比如d:\&#xff09;。 配置HADOOP_HOME环境变量 配置Path环境变量。 不能放在包含有空格的目录下&#xff0c;cmd 输入hadoop显示此时不应有 \hadoop-3.0.0\bin\。我放在…

关于linux中防火墙的命令

文章目录 一、linux 6.5 下二、linux 7.0 下 (CentOs7.3)常用命令 三、关于端口的一些命令四、一些状况 linux不同版本防火墙是不同的&#xff0c;命令如下 一、linux 6.5 下 service iptables status ## 查看防火墙状态 service iptables start ## 开启防火墙 service iptab…

谁还在AI焦虑?

时至今日&#xff0c;人们对GPT 为首的诸多AI&#xff0c; 大有热情消退的迹象。 与2个月前相比&#xff0c;简直恍如隔世。 这也进步一部印证了“山洞隐喻” 人类始终对未知充满恐惧和焦虑。 曾经人们忧心忡忡&#xff0c;整天讨论AI&#xff0c; 取代人类工作之后&…

如何用ChatGPT做新品上市推广方案策划?

该场景对应的关键词库(28个&#xff09;&#xff1a; 品牌、产品信息、新品、成分、属性、功效、人群特征、客户分析、产品定位、核心卖点、推广策略、广告、公关、线上推广、线下活动、合作伙伴、资源整合、预算、执行计划、监测、评估、微调方案、价值主张、营销策略、热点话…

第四十七章 Unity 布局(中)

在上一章节中我给父元素Panel添加了Horizontal Layout Group组件&#xff0c;并且添加了两个Text元素。 我们发现两个Text UI 元素在水平方向上面依次放置在Panel的最上面。由于Panel的宽度为300&#xff0c;而两个Text的总宽度为 160 160 320&#xff0c;因此两个Text 超出了…

C++入门知识(下)

目录 一、内联函数 1.1内联函数的概念 1.2内联函数的使用 1.3内联函数的特性 1.4宏的优缺点 1.5C中可替代宏的技术 二、auto关键字 2.1什么是auto关键字 2.2auto简介 2.3auto的使用细则 2.4auto不能推导的场景 三、基于范围的for循环&#xff08;C11&#xff09; 3.…

大屏只用来做汇报?知道这6个应用场景,直接升职加薪!

五一假几个朋友小聚了一下&#xff0c;好久没联系了&#xff0c;现在才知道大家从事行业五花八门的。知道我从事IT行业好几年&#xff0c;他们非要让我讲讲现在异常火爆的大屏&#xff0c;说是所在企业单位都在研究这玩意儿&#xff0c;有的业务人员焦虑不已不知道如何下手&…

Lenovo m93 mini 电脑 Hackintosh 黑苹果efi引导文件

原文来源于黑果魏叔官网&#xff0c;转载需注明出处。&#xff08;下载请直接百度黑果魏叔&#xff09; 硬件型号驱动情况 主板Lenovo m93 mini 处理器Intel i5-4590T 2.20GHz (35w) 4-core/4-thread已驱动 内存8GB (2x4) DDR3 1600MHz已驱动 硬盘2.5" SSD Samsung 8…

《Linux 内核设计与实现》11. 定时器和时间管理

文章目录 内核中时间的概念节拍率&#xff1a;HZ理想的 HZ 值高 HZ 的优势高 HZ 的劣势 jiffiesjiffies 的内部表示jiffies 的回绕用户空间和 HZ 硬时钟和定时器实时时钟系统定时器 时钟中断处理程序实际时间定时器使用定时器定时器竞争条件实现定时器 延迟执行忙等待短延迟sch…

跨境商城APP开发需要注意的问题

随着全球化的趋势&#xff0c;跨境电商发展迅猛&#xff0c;越来越多的企业开始进军跨境市场。而跨境商城APP已经成为跨境电商非常重要的一部分。在开发跨境商城APP时&#xff0c;需要注意以下问题&#xff1a; 1.多语言支持 跨境商城APP需要支持不同国家和地区的语言&#x…

在基于Android以及Jetson TK平台上如何写32位的Thumb-2指令

由于Android以及Jetson TK的编译工具链中的汇编器仍然不支持大部分的32位Thumb-2指令&#xff0c;比如 add.w&#xff0c;因此我们只能通过手工写机器指令码来实现想要的指令。下面我将简单地介绍如何在ARM GCC汇编器中手工去写机器指令码。 对于GCC或Clang的汇编器&#xff0…

es6 学习笔记-1

学习视频&#xff1a;尚硅谷Web前端ES6教程&#xff0c;涵盖ES6-ES11_哔哩哔哩_bilibili 一、介绍 ES&#xff1a;全称为EcmaScript,是脚本语言的规范 ECMAScript&#xff1a; 由Ecma国际通过ECMA-262标准化的脚本程序设计语言。 es6兼容性&#xff1a;ECMAScript 6 compa…

adb logcat 保存日志文件到本地

指令 adb logcat > logcat.log例如&#xff1a;例如&#xff1a;adb logcat > D:\logcat.log 注意window中直接输入可能会出现log文件打开显示乱码问题&#xff1b; 请打开cmd检查 输入 chcp 如图 查看结果 如果不是65001 则 执行 chcp 65001 之后执行 例如&#x…

antd 中日期组件添加左侧日期范围选择

一、产品需求 产品有这样一个需求&#xff0c; 在实时的日期组件左侧添加一个快捷时间范围选择&#xff0c;并且选择后&#xff0c;窗口不会自动关闭。 大致样式长这样&#xff1a; 二、需求拆解 拆解一下这个需求&#xff0c;需要满足三个要点&#xff1a; ① 快捷时间范围…

Linux学习之Shell(一)

Shell概述 1&#xff09;Linux提供的Shell解析器有 [xiaominghadoop101 ~]$ cat /etc/shells /bin/sh /bin/bash /sbin/nologin /usr/bin/sh /usr/bin/bash /usr/sbin/nologin /bin/tcsh /bin/csh2&#xff09;bash和sh的关系 [xiaominghadoop101 bin]$ ll | grep bash -rwxr…