2. EID格式

2.1. EID通用格式

EID日志打印格式:

LOGLEVEL EID([device id]):[Error Code],[Description],[Recover Suggestion],[Error Data]
表 2.1 EID字段说明

编号

字段

说明

1

LOGLEVEL

表示日志等级,定义参见表 2.2

2

device id

发生EID错误的GPU设备PCIe DBDF号,如0000:0e:00.0

3

Error Code

错误码

4

Description

该EID错误的简要描述信息

5

Recover Suggestion

可选,可能的修复方案

6

Error Data

可选,错误相关的数据,可以帮助进一步的问题诊断

表 2.2 日志等级说明

编号

LOGLEVEL

说明

1

EMERG

紧急错误,系统不可用

2

ALERT

告警错误,需要立即处理

3

CRIT

严重错误

4

ERROR

一般错误

5

WARN

告警提示

6

INFO

普通信息

7

DEBUG

调试信息

2.2. Driver日志格式

在Linux系统中,GPU KMD内核驱动打印日志通常会放在 /var/log/messages路径下,通过以下命令可以查看GPU KMD打印的错误信息:

sudo grep -P "METAX.*ERROR|MXCD.*ERROR|MXGVM.*ERROR" /var/log/messages

备注

Linux内核日志存放路径会因Linux发行版本不同而有所区别,主流Linux发行版内核日志存放路径如下:

Ubuntu: /var/log/kern.log

CentOS: /var/log/messages

如果存在GPU KMD内核驱动错误记录,比如ATU Fault,会得到类似如下日志:

[] METAX.B10200.ATU.ERROR EID (xxxx:xx:xx.x): 0x2101, atu 0x0 pde_base_addr 0x50016c0000

[] METAX.B10200.ATU.ERROR EID (xxxx:xx:xx.x): 0x2101, xpid 1 vfid 0 vf 0 page va 224200000

[] METAX.B10200.ATU.ERROR EID (xxxx:xx:xx.x): 0x2101, hwip DMAW0 fault code(7) perm code: 2

2.2.1. Driver日志正文打印格式

MODULE.DBDF.SUBMOD.LOGLEVEL EID([device id]):[Error Code],[Description],[Recover Suggestion],[Error Data]

其中 MODULE.DBDF.SUBMOD 为Driver特有字段。LOGLEVEL 之后字段说明参见 2.1 EID通用格式

表 2.3 Driver日志特有字段说明

编号

字段

说明

1

MODULE

打印日志的主模块,目前包括 METAXMXCDMXGVM

2

DBDF

日志所属的GPU卡的PCIe DBDF(Domain Bus Device Function)

格式为 BXXXXXXXX 为PCIe DBDF的16进制编码。其中,bits[31:16] 为Domain,bits[15:8] 为Bus,bits[7:3] 为Device,bits[2:0] 为Function

3

SUBMOD

打印日志的子模块,根据主模块的不同,子模块的具体定义也不一样

2.3. SDK日志格式

在Linux系统中,GPU SDK EID打印日志默认存放在 /var/log/syslog 路径下,通过以下几种方法可以查看GPU SDK EID打印的错误信息。

备注

Linux内核日志存放路径会因Linux发行版本不同而有所区别,主流Linux发行版内核日志存放路径如下:

Ubuntu: /var/log/syslog

CentOS: /var/log/messages

  1. 实时查看:使用以下命令可以实时查看日志文件的最新内容

    sudo tail -f /var/log/syslog
    
  2. 过滤特定日志:使用以下命令可以查找包含特定关键词的日志,例如“error”

    sudo grep "error" /var/log/syslog
    
  3. 分页查看:使用以下命令可以分页查看日志文件

    sudo less /var/log/syslog
    

如果存在SDK EID错误记录,比如执行用户进程 eidNumericTrap 出现核函数除零错误,会得到类似如下日志:

./eidNumericTrap

sudo tail -f /var/log/syslog

……

Jun 4 15:22:36 myhostname maca:[406708.798499]SDK.0203300X.UMD.WARN EID(0000:0a:00.0):0x3111,(eidNumericTrap)Divide 0,check app kernel, ZL16kernel_data_copyPfs

syslog 日志遵循标准格式,每条记录包含以下字段:

  • 时间戳:记录事件发生时间(如 Jun 4 15:22:36)。

  • 主机名:生成日志的主机名或IP地址(如 myhostname)。

  • 服务名:产生日志的服务或程序名称,MXMACA SDK的服务名固定为 maca

  • 程序ID:产生日志的进程ID和线程ID(如 :[406708.798499])。

  • 日志正文:消息内容,描述具体事件或错误信息。

2.3.1. SDK日志正文打印格式

PACKAGE.VERSION.SUBPACK.LOGLEVEL EID([device id]):[Error Code],[Description],[Recover Suggestion],[Error Data] MODULE.DBDF.SUBMOD.LOGLEVEL CONTENT

其中 PACKAGE.VERSION.SUBPACK 为SDK特有字段。LOGLEVEL 之后字段说明参见 2.1 EID通用格式

表 2.4 SDK日志特有字段说明

编号

字段

说明

1

PACKAGE

打印日志的软件发布包名,目前只包括 SDK

2

VERSION

打印日志的软件发布包版本, 内容为 mx-smi 命令显示的 MACA Version 信息。从左到右的数字含义依次为 X.Y.Z.build_id

左起1-2位为软件架构版本X(如 02 表示MXMACA2.0)

左起3-5位为该软件架构版本发布开始的第Y个版本,从0开始计数(如 02033 表示MXMACA2.33)

左起第6位为第Y个版本的分支Z(如 020330 表示 MXMACA2.33.0)

左起7-8位为基于X.Y.Z的构建数量,从0开始计数(如 02033017 表示 MXMACA2.33.0.17)

3

SUBPACK

打印日志的软件发布包子模块,目前只包括 UMD