[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>
Este cometimento está contido em:
cometido por
GitHub
ascendente
78fe20320f
cometimento
4f05850efd
@@ -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"]))
|
||||
|
||||
|
||||
Criar uma nova questão referindo esta
Bloquear um utilizador