[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>
[ROCm/rocprofiler-sdk commit: 4f05850efd]
Ta zmiana jest zawarta w:
1 rodzic
c470fd1cc4
złożenie
ee620bf7dc
3 plików zmienionych
+4
-4
Żadne pliki nie pasują do Twojego wyszukiwania
@@ -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;
|
||||
}
|
||||
|
||||
@@ -35,7 +35,7 @@ def test_validate_counter_collection_pmc2(counter_input_data):
|
||||
assert len(row["Counter_Value"]) > 0
|
||||
# assert row["Counter_Name"].contains("SQ_WAVES").all()
|
||||
assert row["Counter_Name"] in counter_names
|
||||
assert int(row["Counter_Value"]) > 0
|
||||
assert float(row["Counter_Value"]) > 0
|
||||
|
||||
di_list.append(int(row["Dispatch_Id"]))
|
||||
|
||||
|
||||
@@ -35,7 +35,7 @@ def test_validate_counter_collection_yml_pmc(counter_input_data):
|
||||
assert len(row["Counter_Value"]) > 0
|
||||
# assert row["Counter_Name"].contains("SQ_WAVES").all()
|
||||
assert row["Counter_Name"] in counter_names
|
||||
assert int(row["Counter_Value"]) > 0
|
||||
assert float(row["Counter_Value"]) > 0
|
||||
|
||||
di_list.append(int(row["Dispatch_Id"]))
|
||||
|
||||
|
||||
Reference in new issue
Zablokuj użytkownika