Profiling Memory Tiles - 2024.1 English

AI Engine Tools and Flows User Guide (UG1076)

Document ID
UG1076
Release Date
2024-06-27
Version
2024.1 English

The following tables list the pre-defined metric set configurations available for memory tiles. In the xrt.ini file, all of these metric names should be in lowercase and assigned to one of the following metric selectors:

  • tile_based_memory_tile_metrics
  • graph_based_memory_tile_metrics
Metric name changes are as follows:
  • input_channels is now s2mm_channels.
  • input_channels_details is now s2mm_channels_details.
  • output_channels is now mm2_channels.
  • output_channels_details is now mm2s_channels_details.
Table 1. s2mm_channels
Metric Name Description
Channel Transfer Time/% The time the memory tile channel transferred data.
Channel Stalled Time/% The time the memory tile channel stalled.
Channel AXI Packet Count The number of AXI4-Stream packets transferred over memory tile channel.
Input Channel Packet Count The number of BD packets transferred over memory tile input channel.
Input Channel Idle Time/% The time the memory tile channel is idle.
Table 2. s2mm_channels_details
Metric Name Description
Channel Transfer Time/% The time the memory tile channel is transferring data.
Input Channel Memory Backpressure Time/% The time the memory tile input channel backpressured from the memory.
Input Channel Lock Stall Time/% The time the memory tile input channel is stalled on a lock.
Input Channel Stream Starvation Time/% The time the memory tile input channel is starved for data on input stream.
Table 3. mm2s_channels
Metric Name Description
Channel Transfer Time/% The time the memory tile channel transferred data.
Channel Stalled Time/% The time the memory tile channel is stalled.
Channel AXI Packet Count The number of AXI4-Stream packets transferred over memory tile channel.
Output Channel Packet Count The number of BD packets transferred over memory tile output channel.
Output Channel Idle Time/% The time the memory tile channel is idle.
Table 4. mm2s_channels_details
Metric Name Description
Channel Transfer Time/% The time the memory tile channel transferred data.
Output Channel Stream Backpressure Time/% The time the memory tile output channel backpressured from the output stream.
Output Channel Memory Starvation Time/% The time the memory tile output is starved by the memory.
Output Channel Lock Stall Time/% The time the memory tile output channel is stalled on a lock.
Table 5. memory_stats
Metric Name Description
Group_Memory_Conflict This event is triggered when any memory bank has a conflict.
Group_Errors Any of the following events triggers this event:
  • Scrubber has fixed a 1-bit ECC.
  • ECC scrubber detects 2-bit ECC error.
  • 1-bit ECC error is detected during access.
  • 2-bit ECC error is detected during access.
  • Any error in any of the 6 S2MM channels (including task queue overflow).
  • Any error in any of the 6 MM2S channels (including task queue overflow).
  • Any parity error at stream endpoints.
  • Parity error in the packet header.
  • Any error processing ctrl-pkt (slave error).
  • AXI-MM port access results in slave error
  • Underflow or overflow in locks.
  • Any channel stalled due to task-complete-token backpressure, or from FoT count FIFO full.
Group_Lock Any of the following events for eight selected locks will trigger this event:
  • For selected lock <0...7>, granted acquire-equal request.
  • For selected lock <0...7>, granted acquire-greater-equal request.
  • For selected lock <0...7>, completed release request.
  • Selected lock <0...7> reached value set in register.
Group_Watchpoint This event triggered by a memory access to a configured address, sets in register four specific registers.
Metric name changes are as follows:
  • input_channels is now s2mm_channels.
  • input_channels_details is now s2mm_channels_details.
Table 6. s2mm_throughputs
Metric Name Description
S2MM Channel Transfer Time/% The amount of words transferred over selected input channel.
S2MM Channel Stream Starvation Time/% The time the memory tile input channel is starved for data on input stream.
S2MM Channel Memory Backpressure Time/% The time the memory tile input channel is inactive due to memory backpressure.
S2MM Channel Lock Stall Time/% The time the memory tile input channel is stalled on a lock.
S2MM Channel Throughput(MB/s) Throughput used by memory tile channel (MB/s).
Table 7. mm2s_throughputs
Metric Name Description
MM2S Channel Transfer Time/% The amount of words transferred over selected output channel.
MM2S Channel Stream Backpressure Time/% The time the memory tile output channel is inactive due to stream backpressure.
MM2S Channel Memory Starvation Time/% The time the memory tile output channel is inactive due to memory starvation.
MM2S Channel Lock Stall Time/% The time the memory tile output channel is stalled on a lock.
MM2S Channel Throughput(MB/s) The throughput used by memory tile channel (MB/s).

The conflict_stats1 metric monitors the number of clock cycles during which memory conflicts occurred on banks 0-3.

Table 8. conflict_stats1
Metric Name Description
Bank 0 Conflict Count The number of memory bank 0 conflicts.
Bank 1 Conflict Count The number of memory bank 1 conflicts.
Bank 2 Conflict Count The number of memory bank 2 conflicts.
Bank 3 Conflict Count The number of memory bank 3 conflicts.

The conflict_stats2 metric monitors the number of clock cycles during which memory conflicts occurred on banks 4-7.

Table 9. conflict_stats2
Metric Name Description
Bank 4 Conflict Count The number of memory bank 4 conflicts.
Bank 5 Conflict Count The number of memory bank 5 conflicts.
Bank 6 Conflict Count The number of memory bank 6 conflicts.
Bank 7 Conflict Count The number of memory bank 7 conflicts.

The conflict_stats3 metric monitors the number of clock cycles during which memory conflicts occurred on banks 8-11.

Table 10. conflict_stats3
Metric Name Description
Bank 8 Conflict Count The number of memory bank 8 conflicts.
Bank 9 Conflict Count The number of memory bank 9 conflicts.
Bank 10 Conflict Count The number of memory bank 10 conflicts.
Bank 11 Conflict Count The number of memory bank 11 conflicts.

The conflict_stats4 metric monitors the number of clock cycles during which memory conflicts occurred on banks 12-15.

Table 11. conflict_stats4
Metric Name Description
Bank 12 Conflict Count The number of memory bank 12 conflicts.
Bank 13 Conflict Count The number of memory bank 13 conflicts.
Bank 14 Conflict Count The number of memory bank 14 conflicts.
Bank 15 Conflict Count The number of memory bank 15 conflicts.