正如 AI 引擎拼块、AI 引擎存储器和 AI 引擎接口一样,您同样可使用 Xilinx Runtime (XRT) 和 Xilinx Software Debugger (XSDB) 从存储器拼块捕获追踪数据。这些选项均为 AI 引擎机器学习专用的选项。
通道指标集聚焦缓冲器描述符的开始和结束,而其他指标集则给追踪添加停滞。
事件类型/指标集 | input_channels | input_channels_stalls | output_channels | output_channels_stalls |
---|---|---|---|---|
S2MM 通道缓冲器描述符传输 | 是 2x | 是 | - | - |
S2MM 通道锁定停滞 | - | 是 | - | - |
S2MM 通道串流数据匮乏 | - | 是 | - | - |
S2MM 通道存储器反压 | - | 是 | - | - |
MM2S 通道缓冲器描述符传输 | - | - | 是 2x | 是 |
MM2S 通道锁定停滞 | - | - | - | 是 |
MM2S 通道串流反压 | - | - | - | 是 |
MM2S 通道存储器数据匮乏 | - | - | - | 是 |
选项 | 描述 |
---|---|
-tile-based-memory-tile-metrics
|
用于设置要为指定拼块存储的 AI 引擎机器学习存储器拼块事件。 |
-graph-based-memory-tile-metrics
|
用于设置要为指定缓冲器/计算图存储的 AI 引擎机器学习存储器拼块事件。 |
以下提供了使用 XSDB 流程对存储器拼块进行事件追踪的一些示例:
# Sets event trace to "input_channels" for the buffer named buffer2 of graph1 (channels 1 and 2) and "input_channels_stalls" for buffer4 in graph3 for channles 3 and 4.
-graph-based-memory-tile-metrics "graph1:buffer2:input_channels:1:2; graph3:buffer4:input_channels_stalls:3:4"
# Sets event trace to "output_channels" for columns 1 to 4 only for channel 1 and 2, and "output_channels_stalls" for column 5 and channels 3 and 4.
-tile-based-memory-tile-metrics "1:4:output_channels:1:2; 5:output_channels_stalls:3:4"
选项 | 描述 |
---|---|
tile_based_memory_tile_metrics =
<column|all>:<off|channels|input_channels_stalls|output_channels_stalls>[:<channel
1>][:<channel 2>]
|
配置 AI 引擎存储器拼块事件追踪指标,该指标将应用于单个列或所有列。 |
tile_based_memory_tile_metrics =<mincolumn>
<maxcolumn>:<off|input_channels|input_channels_stalls|output_channels|output_channels_stalls>[:<channel
1>][:<channel 2>]
|
配置 AI 引擎存储器拼块事件追踪指标,该指标将应用于某一范围内的所有列。 |
graph_based_memory_tile_metrics = <graph
name|all>:<buffer
name|all>:<off|input_channels|input_channels_stalls|output_channels|output_channels_stalls>[:<channel
1>][:<channel 2>]
|
配置 AI 引擎存储器拼块事件追踪指标,该指标将应用于特定计算图或所有计算图内的某一个或所有缓冲器。 |
以下是部分 xrt.ini
文件示例:
# Sets event trace to "input_channels" for the buffer named buffer2 of graph1 (channels 1 and 2) and "input_channels_stalls" for buffer4 in graph3 for channles 3 and 4.
graph-based-memory-tile-metrics=graph1:buffer2:input_channels:1:2; graph3:buffer4:input_channels_stalls:3:4
# Sets event trace to "output_channels" for columns 1 to 4 only for channel 1 and 2, and "output_channels_stalls" for column 5 and channels 3 and 4.
tile-based-memory-tile-metrics=1:4:output_channels:1:2; 5:output_channels_stalls:3:4