Skip to content

Commit 8fd26de

Browse files
dkotipal-xilinxKotipalli
andauthored
AIESW-28056: [XRT-SMI] Add preemption counters to aie partitions report (#9762)
Signed-off-by: Kotipalli <dkotipal@amd.com> Co-authored-by: Kotipalli <dkotipal@amd.com>
1 parent d7672b9 commit 8fd26de

2 files changed

Lines changed: 16 additions & 10 deletions

File tree

src/runtime_src/core/common/query_requests.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1817,6 +1817,8 @@ struct aie_partition_info : request
18171817
uint64_t command_completions = 0;
18181818
uint64_t migrations = 0;
18191819
uint64_t preemptions = 0;
1820+
uint64_t preemption_frame_event = 0;
1821+
uint64_t preemption_layer_event = 0;
18201822
uint64_t errors = 0;
18211823
uint64_t pasid = 0;
18221824
qos_info qos {};

src/runtime_src/core/tools/common/reports/ReportAiePartitions.cpp

Lines changed: 14 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,8 @@ populate_aie_partition(const xrt_core::device* device)
3939
pt_entry.put("command_submissions", entry.command_submissions);
4040
pt_entry.put("command_completions", entry.command_completions);
4141
pt_entry.put("migrations", entry.migrations);
42+
pt_entry.put("preemption_frame_event", entry.preemption_frame_event);
43+
pt_entry.put("preemption_layer_event", entry.preemption_layer_event);
4244
pt_entry.put("errors", entry.errors);
4345
pt_entry.put("suspensions", entry.suspensions);
4446
pt_entry.put("memory_usage", entry.memory_usage == 0 ? "N/A" : xrt_core::utils::unit_convert(entry.memory_usage));
@@ -127,11 +129,11 @@ writeReport(const xrt_core::device* /*_pDevice*/,
127129
_output << " HW Contexts:\n";
128130

129131
const std::vector<std::string> headers = {
130-
" |PID |Ctx ID |Submissions |Migrations |Err |Priority |",
131-
" |Process Name |Status |Completions |Suspensions | |GOPS |",
132-
" |Memory Usage |Instr BO | | | |FPS |",
133-
" | | | | | |Latency |",
134-
" |====================|===========|============|============|=====|=========|"
132+
" |PID |Ctx ID |Submissions |Migrations |Frame Evts |Err |Priority |",
133+
" |Process Name |Status |Completions |Suspensions |Layer Evts | |GOPS |",
134+
" |Memory Usage |Instr BO | | | | |FPS |",
135+
" | | | | | | |Latency |",
136+
" |====================|===========|============|============|============|=====|=========|"
135137
};
136138

137139
for (const auto& header : headers) {
@@ -143,30 +145,32 @@ writeReport(const xrt_core::device* /*_pDevice*/,
143145
const auto& hw_context = pt_hw_context.second;
144146

145147
std::vector<boost::format> row_data;
146-
row_data.emplace_back(boost::format(" |%-20s|%-11s|%-12s|%-12s|%-5s|%-9s|")
148+
row_data.emplace_back(boost::format(" |%-20s|%-11s|%-12s|%-12s|%-12s|%-5s|%-9s|")
147149
% hw_context.get<int>("pid")
148150
% hw_context.get<std::string>("context_id")
149151
% hw_context.get<uint64_t>("command_submissions")
150152
% hw_context.get<uint64_t>("migrations")
153+
% hw_context.get<uint64_t>("preemption_frame_event")
151154
% hw_context.get<uint64_t>("errors")
152155
% hw_context.get<std::string>("priority"));
153156

154-
row_data.emplace_back(boost::format(" |%-20s|%-11s|%-12s|%-12s| |%-9s|")
157+
row_data.emplace_back(boost::format(" |%-20s|%-11s|%-12s|%-12s|%-12s| |%-9s|")
155158
% hw_context.get<std::string>("process_name")
156159
% hw_context.get<std::string>("status")
157160
% hw_context.get<uint64_t>("command_completions")
158161
% hw_context.get<uint64_t>("suspensions")
162+
% hw_context.get<uint64_t>("preemption_layer_event")
159163
% hw_context.get<std::string>("gops"));
160164

161-
row_data.emplace_back(boost::format(" |%-20s|%-11s| | | |%-9s|")
165+
row_data.emplace_back(boost::format(" |%-20s|%-11s| | | | |%-9s|")
162166
% hw_context.get<std::string>("memory_usage")
163167
% hw_context.get<std::string>("instr_bo_mem")
164168
% hw_context.get<std::string>("fps"));
165169

166-
row_data.emplace_back(boost::format(" | | | | | |%-9s|")
170+
row_data.emplace_back(boost::format(" | | | | | | |%-9s|")
167171
% hw_context.get<std::string>("latency"));
168172

169-
row_data.emplace_back(boost::format(" |--------------------|-----------|------------|------------|-----|---------|"));
173+
row_data.emplace_back(boost::format(" |--------------------|-----------|------------|------------|------------|-----|---------|"));
170174

171175
for (const auto& row : row_data) {
172176
_output << row << "\n";

0 commit comments

Comments
 (0)