[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>
이 커밋은 다음에 포함됨:
Benjamin Welton그리고Benjamin Welton 작성하고 GitHub가 2024-10-02 16:55:00 -07:00를 커밋함
1 부모 78fe20320f
커밋 4f05850efd
3 파일이 변경됨
+4 -4

검색과 일치하는 파일 없음

+2 -2
파일 보기
@@ -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;
}
+1 -1
파일 보기
@@ -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"]))
+1 -1
파일 보기
@@ -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"]))