更新时间:2024-04-11 GMT+08:00

基础指标:Modelarts指标

介绍Modelarts通过Agent上报到AOM的指标。

表1 Modelarts通过Agent上报到AOM的指标

指标类别

指标

指标名称

指标含义

取值范围

单位

CPU

ma_container_cpu_util

CPU使用率

该指标用于统计测量对象的CPU使用率。

0~100

百分比(%)

ma_container_cpu_used_core

CPU内核占用量

该指标用于统计测量对象已经使用的CPU核个数

≥0

核(Core)

ma_container_cpu_limit_core

CPU内核总量

该指标用于统计测量对象申请的CPU核总量。

≥1

核(Core)

内存

ma_container_memory_capacity_megabytes

内存总量

该指标用于统计测量对象申请的物理内存总量。

≥0

兆字节(MB)

ma_container_memory_util

物理内存使用率

该指标用于统计测量对象已使用内存占申请物理内存总量的百分比。

0~100

百分比(%)

ma_container_memory_used_megabytes

物理内存使用量

该指标用于统计测量对象实际已经使用的物理内存(对应container_memory_working_set_bytes当前内存工作集(working set)使用量。(工作区内存使用量=活跃的匿名与和缓存,以及file-baked页<=container_memory_usage_bytes))

≥0

兆字节(MB)

存储IO

ma_container_disk_read_kilobytes

磁盘读取速率

该指标用于统计每秒从磁盘读出的数据量。

≥0

千字节/秒(kB/s)

ma_container_disk_write_kilobytes

磁盘写入速率

该指标用于统计每秒写入磁盘的数据量。

≥0

千字节/秒(kB/s)

GPU显存

ma_container_gpu_mem_total_megabytes

显存容量

该指标用于统计训练任务的显存容量。

>0

兆字节(MB)

ma_container_gpu_mem_util

显存使用率

该指标用于统计测量对象已使用的显存占显存容量的百分比。

0~100

百分比(%)

ma_container_gpu_mem_used_megabytes

显存使用量

该指标用于统计测量对象已使用的显存。

≥0

兆字节(MB)

GPU

ma_container_gpu_util

GPU使用率

该指标用于统计测量对象的GPU使用率。

0~100

百分比(%)

ma_container_gpu_mem_copy_util

GPU内存带宽利用率

表示内存带宽利用率。以英伟达GPU V100为例,其最大内存带宽为900 GB/sec,如果当前的内存带宽为450 GB/sec,则内存带宽利用率为50%。

0~100

百分比(%)

ma_container_gpu_enc_util

GPU编码器利用率

表示编码器利用率

0~100

百分比(%)

ma_container_gpu_dec_util

GPU解码器利用率

表示解码器利用率

0~100

百分比(%)

DCGM_FI_DEV_GPU_TEMP

GPU温度

表示GPU温度。

>0

摄氏度(℃)

DCGM_FI_DEV_POWER_USAGE

GPU功率

表示功率。

>0

瓦(W)

DCGM_FI_DEV_MEMORY_TEMP

内存温度

表示内存温度。

>0

摄氏度(℃)

DCGM_FI_PROF_GR_ENGINE_ACTIVE

Graphics Engine Activity

表示在一个时间间隔内,Graphics或Compute引擎处于Active的时间占比。该值表示所有Graphics和Compute引擎的平均值。Graphics或Compute引擎处于Active是指Graphics或Compute Context绑定到线程,并且Graphics或Compute Context处于Busy状态。

0~1.0

占比(Fraction)

DCGM_FI_PROF_SM_OCCUPANCY

SM Occupancy

表示在一个时间间隔内,驻留在SM上的线程束与该SM最大可驻留线程束的比例。

该值表示一个时间间隔内的所有SM的平均值。

占用率越高不代表GPU使用率越高。只有在GPU内存带宽受限的工作负载(DCGM_FI_PROF_DRAM_ACTIVE)情况下,更高的占用率表示更有效的GPU使用率。

0~1.0

占比(Fraction)

DCGM_FI_PROF_PIPE_TENSOR_ACTIVE

Tensor Activity

表示Tensor(HMMA/IMMA) Pipe处于Active状态的周期分数。

该值表示一个时间间隔内的平均值,而不是瞬时值。

较高的值表示Tensor Cores的利用率较高。

该值为1(100%)表示在整个时间间隔内每隔一个指令周期发出一个Tensor指令(两个周期完成一条指令)。

假设该值为0.2(20%),可能有如下情况:

在整个时间间隔内,有20%的SM的Tensor Core以100%的利用率运行。

在整个时间间隔内,有100%的SM的Tensor Core以20%的利用率运行。

在整个时间间隔的1/5时间内,有100%的SM上的Tensor Core以100%利用率运行。

其他组合模式。

0~1.0

占比(Fraction)

DCGM_FI_PROF_DRAM_ACTIVE

Memory BW Utilization

表示在一个时间间隔内,向设备内存发送数据或者从设备内存接收数据的时间占比。

该值表示一个时间间隔内的平均值,而不是瞬时值。

较高的值表示设备内存的利用率较高。

该值为1(100%)表示在整个时间间隔内每个周期执行一次DRAM指令(实际上,约0.8(80%)的峰值是可达到的最大峰值)。

假设该值为0.2 (20%)表示在时间间隔内,有20%的周期从设备内存读取或写入设备内存。

0~1.0

占比(Fraction)

DCGM_FI_PROF_PIPE_FP16_ACTIVE

FP16 Engine Activity

表示FP16(半精度)管道处于Active的周期分数。

该值表示一个时间间隔内的平均值,而不是瞬时值。

较高的值代表FP16 Cores有较高的利用率。

该值为 1 (100%) 表示在整个时间间隔内上每两个周期(Volta类型卡为例)执行一次FP16指令。

假设该值为0.2(20%),可能有如下情况:

在整个时间间隔内,有20%的SM的FP16 Core以100%的利用率运行。

在整个时间间隔内,有100%的SM的FP16 Core以20%的利用率运行。

在整个时间间隔的1/5时间内,有100%的SM上的FP16 Core以100%利用率运行。

其他组合模式。

0~1.0

占比(Fraction)

DCGM_FI_PROF_PIPE_FP32_ACTIVE

FP32 Engine Activity

表示乘加操作FMA(Fused Multiply-Add)管道处于Active的周期分数,乘加操作包括FP32(单精度)和整数。

该值表示一个时间间隔内的平均值,而不是瞬时值。

较高的值代表FP32 Cores有较高的利用率。

该值为1(100%)表示在整个时间间隔内上每两个周期(Volta类型卡为例)执行一次FP32指令。

假设该值为0.2(20%),可能有如下情况:

在整个时间间隔内,有20%的SM的FP32 Core以100%的利用率运行。

在整个时间间隔内,有100%的SM的FP32 Core以20%的利用率运行。

在整个时间间隔的1/5时间内,有100%的SM上的FP32 Core以100%利用率运行。

其他组合模式。

0~1.0

占比(Fraction)

DCGM_FI_PROF_PIPE_FP64_ACTIVE

FP64 Engine Activity

表示FP64(双精度)Pipe处于Active状态的周期分数。

该值表示一个时间间隔内的平均值,而不是瞬时值。

较高的值代表FP64 Cores有较高的利用率。

该值为 1(100%)表示在整个时间间隔内上每四个周期(以Volta类型卡为例)执行一次FP64指令。

假设该值为0.2(20%),可能有如下情况:

在整个时间间隔内,有20%的SM的FP64 Core以100%的利用率运行。

在整个时间间隔内,有100%的SM的FP64 Core以20%的利用率运行。

在整个时间间隔的1/5时间内,有100%的SM上的FP64 Core以100%利用率运行。

其他组合模式。

0~1.0

占比(Fraction)

DCGM_FI_PROF_SM_ACTIVE

SM Activity

表示在一个时间间隔内,至少一个线程束在一个SM(Streaming Multiprocessor)上处于Active的时间占比。

该值表示所有SM的平均值,且该值对每个块的线程数不敏感。

线程束处于Active是指一个线程束被调度且分配资源后的状态,可能是在Computing、也可能是非Computing状态(例如等待内存请求)。

该值小于0.5表示未高效利用GPU,大于0.8是必要的。

假设一个GPU有N个SM:

一个核函数在整个时间间隔内使用N个线程块运行在所有的SM上,此时该值为1(100%)。

一个核函数在一个时间间隔内运行N/5个线程块,此时该值为0.2。

一个核函数使用N个线程块,在一个时间间隔内,仅运行了1/5个周期的时间,此时该值为0.2。

0~1.0

占比(Fraction)

DCGM_FI_PROF_PCIE_TX_BYTES

DCGM_FI_PROF_PCIE_RX_BYTES

PCIe Bandwidth

表示通过PCIe总线传输/接收的数据速率,包括协议标头和数据有效负载。

该值表示一个时间间隔内的平均值,而不是瞬时值。

该速率在时间间隔内平均。例如,在1秒内传输1 GB数据,则无论以恒定速率还是突发传输数据,速率都是1 GB/s。理论上的最大PCIe Gen3带宽为每通道985 MB/s。

≥0

字节/秒(Byte/s)

DCGM_FI_PROF_NVLINK_RX_BYTES

DCGM_FI_PROF_NVLINK_TX_BYTES

NVLink Bandwidth

表示通过NVLink传输/接收的数据速率,不包括协议标头。

该值表示一个时间间隔内的平均值,而不是瞬时值。

该速率在时间间隔内平均。例如,在1秒内传输1 GB数据,则无论以恒定速率还是突发传输数据,速率都是1 GB/s。理论上,最大NVLink Gen2带宽为每个方向每个链路25 GB/s。

≥0

字节/秒(Byte/s)

网络IO

ma_container_network_receive_bytes

下行Bps

该指标用于统计测试对象的入方向网络流速。

≥0

字节/秒(Byte/s)

ma_container_network_receive_packets

下行Pps

每秒网卡接收的数据包个数。

≥0

个/秒(Packet/s)

ma_container_network_receive_error_packets

下行错包率

每秒网卡接收的错误包个数。

≥0

个/秒(Count/s)

ma_container_network_transmit_bytes

上行Bps

该指标用于统计测试对象的出方向网络流速。

≥0

字节/秒(Byte/s)

ma_container_network_transmit_error_packets

上行错包率

每秒网卡发送的错误包个数。

≥0

个/秒(Count/s)

ma_container_network_transmit_packets

上行Pps

每秒网卡发送的数据包个数。

≥0

个/秒(Packet/s)

NPU

ma_container_npu_util

NPU使用率

该指标用于统计测量对象的NPU使用率。

0~100

百分比(%)

ma_container_npu_memory_util

NPU显存使用率

该指标用于统计测量对象已使用的NPU显存占NPU存储容量的百分比。

0~100

百分比(%)

ma_container_npu_memory_used_megabytes

NPU显存使用量

该指标用于统计测量对象已使用的NPU显存。

≥0

兆字节(MB)

ma_container_npu_memory_total_megabytes

NPU显存容量

该指标用于统计测量对象的NPU显存容量。

≥0

兆字节(MB)