[SWDEV-484495] Fix int truncation in CSV output (#1098)
CSV output truncates doubles to ints when it shouldn't. Derived metrics are (mostly) doubles and lose precision (or become worthless) if treated as an int. Converted these to double to match the format we return from rocprof-sdk. Co-authored-by: Benjamin Welton <ben@amd.com>
Tá an tiomantas seo le fáil i:
1 tuismitheoir
78fe20320f
tiomantas
4f05850efd
3 comhad athraithe
+4
-4
Níor tháinig aon chomhaid le do chuardach
@@ -487,7 +487,7 @@ generate_csv(tool_table* too
|
||||
for(const auto& record : data)
|
||||
{
|
||||
auto kernel_id = record.dispatch_data.dispatch_info.kernel_id;
|
||||
auto counter_name_value = std::map<std::string, uint64_t>{};
|
||||
auto counter_name_value = std::map<std::string, double>{};
|
||||
for(uint64_t i = 0; i < record.counter_count; i++)
|
||||
{
|
||||
const auto& count = record.records.at(i);
|
||||
@@ -496,7 +496,7 @@ generate_csv(tool_table* too
|
||||
auto search = counter_name_value.find(counter_name);
|
||||
if(search == counter_name_value.end())
|
||||
counter_name_value.emplace(
|
||||
std::pair<std::string, uint64_t>{counter_name, rec.counter_value});
|
||||
std::pair<std::string, double>{counter_name, rec.counter_value});
|
||||
else
|
||||
search->second = search->second + rec.counter_value;
|
||||
}
|
||||
|
||||
Tagairt in Eagrán Nua
Cuir bac ar úsáideoir