Runtime event APIs use the performance counters in the AI Engine-PL interface tiles and the AI Engine-NoC interface tiles. There are two performance counters in
each column of the interface tiles. This section lists the number of performance
counters used by each runtime event API. If the number of performance counters used
exceeds the availability in an interface tile column, the API that cannot acquire
the performance counter fails. The following error message displays in AI Engine
simulator.
For
hardware emulation or hardware flows, the following error message
displays.[AIE WARNING]: Unable to request resources. RscType: 0
ERROR: event::start_profiling: Failed to request performance counter resources.
[XRT] ERROR: ERROR: event::start_profiling: Failed to request performance counter resources.: Resource temporarily unavailable
| Run-time Event Enumeration | Number of Performance Counters |
|---|---|
event::io_total_stream_running_to_idle_cycles
|
1 |
event::io_stream_start_to_bytes_transferred_cycles
|
2 |
event::io_stream_start_difference_cycles
|
1 for input port, 1 for output port |
event::io_stream_running_event_count
|
1 |
Note: There are four performance counters available in total. Performance counters are
released after
event::stop_profiling. The runtime
event API can re-aquire the same performance counters after releasing
them.Note: When you map multiple graph ports to the same interface tile and use
runtime event APIs, the ports compete for performance counters in that
tile.