rocprofv3: Updates to counter collection optimizations (#24)

* Updates to counter collection optimizations

* Fix logic error

---------

Co-authored-by: Jonathan R. Madsen <jonathanrmadsen@gmail.com>
此提交包含在:
Madsen, Jonathan
2024-12-06 17:29:12 -06:00
提交者 GitHub
父節點 5556774c3a
當前提交 a09eda05b2
共有 6 個檔案被更改,包括 103 行新增62 行删除
+4 -9
查看文件
@@ -579,7 +579,9 @@ generate_csv(const output_config& cfg,
"Start_Timestamp",
"End_Timestamp"}};
auto counter_id_to_name = std::map<rocprofiler_counter_id_t, std::string>{};
auto counter_id_to_name = std::unordered_map<rocprofiler_counter_id_t, std::string_view>{};
for(const auto& itr : tool_metadata.get_counter_info())
counter_id_to_name.emplace(itr.id, itr.name);
for(auto ditr : data)
{
@@ -587,7 +589,7 @@ generate_csv(const output_config& cfg,
{
auto kernel_id = record.dispatch_data.dispatch_info.kernel_id;
auto counter_id_value = std::map<rocprofiler_counter_id_t, double>{};
auto record_vector = record.getRecords();
auto record_vector = record.read();
// Accumulate counters based on ID
for(auto& count : record_vector)
@@ -595,13 +597,6 @@ generate_csv(const output_config& cfg,
counter_id_value[count.id] += count.value;
}
// Query counter names for all IDs
for(auto& [id, _] : counter_id_value)
{
if(counter_id_to_name.find(id) == counter_id_to_name.end())
counter_id_to_name[id] = tool_metadata.get_counter_info(id)->name;
}
const auto& correlation_id = record.dispatch_data.correlation_id;
const auto* kernel_info = tool_metadata.get_kernel_symbol(kernel_id);
auto lds_block_size_v =