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

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

学习资源

日志参考文档

在这里插入图片描述

应用开发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

相关文章:

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

学习资源 日志参考文档 应用开发FAQ 日志主要用于记录系统的运行过程及异常信息&#xff0c;帮助快速定位系统运行过程中出现的问题以及开发过程中的程序调试问题。 日志分为如下两大类&#xff1a; 系统类日志&#xff1a;系统运行产生的日志。主要包括&#xff1a; Contro…...

黎曼几何与黎曼流形

目录 0.黎曼几何 1. 欧几里得几何与黎曼几何的区别 2.黎曼流形 3.黎曼距离 4.切空间 5.黎曼均值 6. SPD矩阵如何形成黎曼流型 7.切线空间映射 8.同余变换和同余不变 9.黎曼对齐 科普性笔记&#xff0c;做了解&#xff0c;不深入。 0.黎曼几何 黎曼几何是一种基于欧几…...

lua | 运算符与字符串

目录 一、运算符 算数运算符 关系运算符 逻辑运算符 其他运算符 运算符优先级 二、字符串 转义字符 方法与用途 字符串截取 字符串大小转换 字符串查找与反转 字符串格式化 字符与整数的转换 匹配模式 本文章为笔者学习分享 学习网站&#xff1a;Lua 基本语法 | …...

NetBackup 10.2 新功能介绍:PostgreSQL 和 MySQL 自动化恢复达成

NetBackup 10.2 新功能介绍&#xff1a;PostgreSQL 和 MySQL 自动化恢复达成 原文来自&#xff1a;VERITAS 中文社区 2023-04-27 在执行恢复任务时&#xff0c;手动提取、更新数据库和实例并将其附加到 PostgreSQL 和 MySQL 是常规操作。而在最新的 NetBackup 10.2 版本中&am…...

ADRV9002官方例程开发过程中遇到的问题

开发环境&#xff1a;Vivado2021.2 HDL版本&#xff1a;hdl_2021_r2 GitHub - analogdevicesinc/hdl at hdl_2021_r2 no-OS版本&#xff1a;no_OS-2021_R2 GitHub - analogdevicesinc/no-OS at 2021_R2 &#xff08;PS&#xff1a;也可以用Vivado2019.1开发&#xff0c…...

Figma转换为sketch,分享这3款工具

在我们的设计工作中&#xff0c;我们经常会遇到各种各样的设计文件相互转换的问题。 你经常为此头疼吗&#xff1f;当你遇到Figma转换Sketch文件的问题时&#xff0c;你是如何解决的&#xff1f;Figma转换Sketch文件有工具吗&#xff1f; 根据众多设计师的经验&#xff0c;本…...

淘宝天猫1688京东商品详情API接口,封装接口可高并发

要提供商品详情数据需要知道具体的商品信息&#xff0c;但通常商品详情数据应包括以下内容&#xff1a; 商品名称&#xff1a;商品的名称&#xff0c;以方便顾客对其进行识别和区分。 商品描述&#xff1a;一段让顾客能够全面认识商品的描述。应能够有效地展示商品的特性、功能…...

虹科荣誉 | 虹科工业物联网产品荣获中国自动化产业年会用户信赖产品奖!

2023 虹科荣获2021年度中国自动化产业年会用户信赖产品奖 近日&#xff0c;2023中国自动化产业年会于北京隆重举行。虹科工业物联网的产品“OPC UA Tunneller软件”凭借其产品优势和市场美誉度&#xff0c;通过层层选拔&#xff0c;在本次大会中荣获2021年度用户信赖产品奖。…...

SwiftUI 如何让文本自动支持查找和替换功能?

概览 有些情况下&#xff0c;我们需要为文本编辑器实现文本的查找和替换功能&#xff08;find & replace&#xff09;&#xff0c;如果完全靠自已撸码还是比较棘手的。 所幸的是&#xff0c;从 SwiftUI 4.0 &#xff08;iOS 16&#xff09;开始&#xff0c;Apple 已经将查…...

SpringCloud全面学习笔记之初尝美妙篇

目录 前言初识微服务单体架构分布式架构微服务架构初见SpringCloud微服务治理分布式服务架构案例 微服务组件及使用Eureka注册中心提供者和消费者Eureka的结构和作用搭建Eureka服务注册服务服务发现Eureka注册服务总结 Ribbon负载均衡原理负载均衡原理负载均衡策略懒加载 Nacos…...

Spring MVC框架

Spring MVC框架 Spring MVC属于SpringFrameWork的后续产品&#xff0c;已经融合在Spring Web Flow里面。Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块。使用 Spring 可插入的 MVC 架构&#xff0c;从而在使用Spring进行WEB开发时&#xff0c;可以选择使用Spring的Spri…...

Illustrator如何使用图层与蒙版之实例演示?

文章目录 0.引言1.绘制可爱冰淇淋图标2.霓虹渐变立体文字海报3.炫彩花纹背景 0.引言 因科研等多场景需要进行绘图处理&#xff0c;笔者对Illustrator进行了学习&#xff0c;本文通过《Illustrator CC2018基础与实战》及其配套素材结合网上相关资料进行学习笔记总结&#xff0c;…...

Office Tool Plus的使用

是否为安装&#xff0c;卸载&#xff0c;激活Office而烦恼&#xff1f; 下载 地址&#xff1a;Office Tool Plus 官方网站 - 一键部署 Office 安装office 先安装Office&#xff0c;Office_Pro_Plus_2021_LTSCProjectVisio_x64_zh_CN_VL_2022-02 注意&#xff0c;要安装批量…...

​射频PCB 设计​的六大条技巧

即使是最自信的设计人员&#xff0c;对于射频电路也往往望而却步&#xff0c;因为它会带来巨大的设计挑战&#xff0c;并且需要专业的设计和分析工具。这里将为您介绍六条技巧&#xff0c;来帮助您简化任何射频PCB 设计任务和减轻工作压力&#xff01; 1、保持完好、精确的射频…...

优化了成本和安装难度后,UWB信标能否取代蓝牙信标?

1 我们做安U3号是要解决什么问题&#xff1f; &#xff08;1&#xff09;信标式设计&#xff0c;解决传统UWB基站安装过程繁琐复杂的问题 传统UWB基站在安装过程中遇上的难题&#xff1a; l 安装位置选取问题&#xff1a;UWB基站的准确度与其安装位置有很大关系&#xff0c;…...

深入理解Java虚拟机——垃圾回收算法

1.前言 垃圾回收需要完成的三件事 首先我们需要明白垃圾回收需要完成的三件事&#xff1a; 哪些内存需要回收 堆内存中的对象所使用的内存方法区中的废弃的常量以及不再使用的类型 什么时候回收 当对象死亡方法区中某些内容&#xff08;常量和类型&#xff09;不再被使用 如…...

git-rebase和merge

A-----B----C----D master E----F-----G feature 为了把main分支里新增的代码应用在你的feature分支&#xff0c;你有两种方法&#xff1a;merge 和 rebase。 merge git checkout feature git merge main A-----B----C----D master E----F-----G -----* feature (合并master…...

【JavaWeb 用户认证】Cookie、Session、Token、JWT、Interceptor、SpringBoot、Spring Security

Token基本了解&#xff1a;【详细阐述Token的来源】公钥私钥基本了解&#xff1a;【理解公钥】 文章目录 一、Cookie 经典介绍以及使用案例二、Session 经典介绍以及拦截登录案例三、Token MySQL 的基本介绍及其基本使用四、JWT 基本介绍及其基本讲解五、SpringBoot 使用拦截器…...

6个月的测试,来面试居然要15K,我一问连5K都不值

2023年4月份我入职了深圳某家创业公司&#xff0c;刚入职还是很兴奋的&#xff0c;到公司一看我傻了&#xff0c;公司除了我一个自动化测试&#xff0c;公司的测试人员就只有2个开发3个前端1个测试还有2个UI&#xff0c;在粗略了解公司的业务后才发现是一个从零开始的项目&…...

RSA--维纳攻击--代码和题目分析

文章目录 维纳攻击原理&#xff1a;维纳攻击脚本[羊城杯 2020]RRRRRRRSA 1题目描述&#xff1a;题目分析&#xff1a; 收获与体会&#xff1a; 维纳攻击原理&#xff1a; 两位大佬讲得非常清楚&#xff08;搬运工就是我&#xff09;&#xff1a;https://zhuanlan.zhihu.com/p/…...

(LeetCode 每日一题) 3442. 奇偶频次间的最大差值 I (哈希、字符串)

题目&#xff1a;3442. 奇偶频次间的最大差值 I 思路 &#xff1a;哈希&#xff0c;时间复杂度0(n)。 用哈希表来记录每个字符串中字符的分布情况&#xff0c;哈希表这里用数组即可实现。 C版本&#xff1a; class Solution { public:int maxDifference(string s) {int a[26]…...

MPNet:旋转机械轻量化故障诊断模型详解python代码复现

目录 一、问题背景与挑战 二、MPNet核心架构 2.1 多分支特征融合模块(MBFM) 2.2 残差注意力金字塔模块(RAPM) 2.2.1 空间金字塔注意力(SPA) 2.2.2 金字塔残差块(PRBlock) 2.3 分类器设计 三、关键技术突破 3.1 多尺度特征融合 3.2 轻量化设计策略 3.3 抗噪声…...

黑马Mybatis

Mybatis 表现层&#xff1a;页面展示 业务层&#xff1a;逻辑处理 持久层&#xff1a;持久数据化保存 在这里插入图片描述 Mybatis快速入门 ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/6501c2109c4442118ceb6014725e48e4.png //logback.xml <?xml ver…...

Cesium1.95中高性能加载1500个点

一、基本方式&#xff1a; 图标使用.png比.svg性能要好 <template><div id"cesiumContainer"></div><div class"toolbar"><button id"resetButton">重新生成点</button><span id"countDisplay&qu…...

理解 MCP 工作流:使用 Ollama 和 LangChain 构建本地 MCP 客户端

&#x1f31f; 什么是 MCP&#xff1f; 模型控制协议 (MCP) 是一种创新的协议&#xff0c;旨在无缝连接 AI 模型与应用程序。 MCP 是一个开源协议&#xff0c;它标准化了我们的 LLM 应用程序连接所需工具和数据源并与之协作的方式。 可以把它想象成你的 AI 模型 和想要使用它…...

Linux简单的操作

ls ls 查看当前目录 ll 查看详细内容 ls -a 查看所有的内容 ls --help 查看方法文档 pwd pwd 查看当前路径 cd cd 转路径 cd .. 转上一级路径 cd 名 转换路径 …...

Auto-Coder使用GPT-4o完成:在用TabPFN这个模型构建一个预测未来3天涨跌的分类任务

通过akshare库&#xff0c;获取股票数据&#xff0c;并生成TabPFN这个模型 可以识别、处理的格式&#xff0c;写一个完整的预处理示例&#xff0c;并构建一个预测未来 3 天股价涨跌的分类任务 用TabPFN这个模型构建一个预测未来 3 天股价涨跌的分类任务&#xff0c;进行预测并输…...

vue3 定时器-定义全局方法 vue+ts

1.创建ts文件 路径&#xff1a;src/utils/timer.ts 完整代码&#xff1a; import { onUnmounted } from vuetype TimerCallback (...args: any[]) > voidexport function useGlobalTimer() {const timers: Map<number, NodeJS.Timeout> new Map()// 创建定时器con…...

相机Camera日志分析之三十一:高通Camx HAL十种流程基础分析关键字汇总(后续持续更新中)

【关注我,后续持续新增专题博文,谢谢!!!】 上一篇我们讲了:有对最普通的场景进行各个日志注释讲解,但相机场景太多,日志差异也巨大。后面将展示各种场景下的日志。 通过notepad++打开场景下的日志,通过下列分类关键字搜索,即可清晰的分析不同场景的相机运行流程差异…...

Rust 异步编程

Rust 异步编程 引言 Rust 是一种系统编程语言,以其高性能、安全性以及零成本抽象而著称。在多核处理器成为主流的今天,异步编程成为了一种提高应用性能、优化资源利用的有效手段。本文将深入探讨 Rust 异步编程的核心概念、常用库以及最佳实践。 异步编程基础 什么是异步…...