存储器模块剖析 - 2022.1 简体中文

Versal ACAP AI 引擎编程环境 用户指南 (UG1076)

Document ID
UG1076
Release Date
2022-05-25
Version
2022.1 简体中文

下表列出了可用于存储器模块的预定义指标集配置。在 xrt.ini 文件中,所有这些指标名称均应采用小写,且分配到指标选择器 aie_profile_memory_metrics

表 1. conflicts
指标名称 事件 ID 描述
Memory Conflict 76 由于存储器模块中的 8 个 bank 上的任一 bank 存在数据存储器冲突而耗用的时间。
注释: 硬件视图是位宽为 128 位的 8 个 bank。软件视图是位宽为 256 位的 4 个 bank。
Cumulative Memory Errors 86 由于任意数据存储体中以及 2x MM2S 和 2x S2MM DMA 中存在 ECC 错误而耗用的时间。

当两个存储器区块驻留在相同存储体内,并且供相同 AI 引擎(使用两个读取端口)访问或者供两个不同 AI 引擎访问时,就会发生存储器冲突。可能的解决方案是将这些存储器的位置约束到不同 bank。为了获取有关哪个 bank 导致这些冲突的更多详细信息,应对来自仿真(AI 引擎仿真)的事件进行分析。

表 2. dma_locks
指标名称 事件 ID 描述
Cumulative DMA Activity 20 由于在 DMA 的 MM2S 和 S2MM 通道上都发生已停滞的锁定获取而耗用的时间。
Cumulative DMA Lock Count 43 DMA 通道上的锁定停滞计数。

4 条 DMA 通道(2xS2MM 和 2xMM2S)均由缓冲器描述符 (BD) 来驱动。“Cumulative DMA Activity”是由于所有通道上存在已停滞的锁定获取事件而导致耗费的时间的计数。所有这些 DMA 事件将帮助您了解穿过器件的部分连接速度低于期望速度的原因。

表 3. dma_stalls_s2mm
指标名称 事件 ID 描述
S2MM Channel 0 Stalls 33 S2MM 通道 0 在锁定获取状态下发生停滞的时间。
S2MM Channel 1 Stalls 34 S2MM 通道 1 在锁定获取状态下发生停滞的时间。
表 4. dma_stalls_mm2s
指标名称 事件 ID 描述
MM2S Channel 0 Stalls 35 MM2S 通道 0 在锁定获取状态下发生停滞的时间。
MM2S Channel 1 Stalls 36 MM2S 通道 1 在锁定获取状态下发生停滞的时间。
表 5. write_bandwidths
指标名称 事件 ID 描述
DMA S2MM Channel 0 Packet Count 25 通过 DMA S2MM 通道 0 写入的包数。
DMA S2MM Channel 1 Packet Count 26 通过 DMA S2MM 通道 1 写入的包数。
Bandwidth of DMA S2MM channel 0 衍生 通过 DMA S2MM 通道 0 的写入带宽。此带宽是根据活动时间来计算所得的。
Bandwidth of DMA S2MM channel 1 衍生 通过 DMA S2MM 通道 1 的写入带宽。此带宽是根据活动时间来计算所得的。

这些指标允许您了解所使用的 DMA S2MM 的效率。

注释: 如果在 DMA FIFO 模式下使用 DMA S2MM,那么该指标集无法提供实用结果。
表 6. read_bandwidths
指标名称 事件 ID 描述
DMA MM2S Channel 0 Packet Count 27 从 DMA MM2S 通道 0 读取的包数。
DMA MM2S Channel 1 Packet Count 28 从 DMA MM2S 通道 1 读取的包数。
Bandwidth of DMA MM2S channel 0 衍生 通过 DMA MM2S 通道 0 的读取带宽。此带宽是根据活动时间来计算所得的。
Bandwidth of DMA MM2S channel 1 衍生 通过 DMA MM2S 通道 1 的读取带宽。此带宽是根据活动时间来计算所得的。

这些指标允许您了解所使用的 DMA MM2S 的效率。

注释: 如果在 DMA FIFO 模式下使用 DMA MM2S,那么该指标集无法提供实用结果。