Added agent_id to rocprofiler_record_counter_t (#1078)

Co-authored-by: Benjamin Welton <ben@amd.com>
Bu işleme şunda yer alıyor:
Benjamin Welton
2024-10-21 16:29:53 -07:00
işlemeyi yapan: GitHub
ebeveyn c6ae3961f8
işleme 210762c69d
6 değiştirilmiş dosya ile 96 ekleme ve 51 silme
+45 -31
Dosyayı Görüntüle
@@ -57,8 +57,11 @@ get_reduce_op_type_from_string(const std::string& op)
std::vector<rocprofiler_record_counter_t>*
perform_reduction(ReduceOperation reduce_op, std::vector<rocprofiler_record_counter_t>* input_array)
{
rocprofiler_record_counter_t result{
.id = 0, .counter_value = 0, .dispatch_id = 0, .user_data = {.value = 0}};
rocprofiler_record_counter_t result{.id = 0,
.counter_value = 0,
.dispatch_id = 0,
.user_data = {.value = 0},
.agent_id = {.handle = 0}};
if(input_array->empty()) return input_array;
switch(reduce_op)
{
@@ -81,34 +84,40 @@ perform_reduction(ReduceOperation reduce_op, std::vector<rocprofiler_record_coun
}
case REDUCE_SUM:
{
result = std::accumulate(
input_array->begin(),
input_array->end(),
rocprofiler_record_counter_t{
.id = 0, .counter_value = 0, .dispatch_id = 0, .user_data = {.value = 0}},
[](auto& a, auto& b) {
return rocprofiler_record_counter_t{
.id = a.id,
.counter_value = a.counter_value + b.counter_value,
.dispatch_id = a.dispatch_id,
.user_data = {.value = 0}};
});
result = std::accumulate(input_array->begin(),
input_array->end(),
rocprofiler_record_counter_t{.id = 0,
.counter_value = 0,
.dispatch_id = 0,
.user_data = {.value = 0},
.agent_id = {.handle = 0}},
[](auto& a, auto& b) {
return rocprofiler_record_counter_t{
.id = a.id,
.counter_value = a.counter_value + b.counter_value,
.dispatch_id = a.dispatch_id,
.user_data = {.value = 0},
.agent_id = {.handle = 0}};
});
break;
}
case REDUCE_AVG:
{
result = std::accumulate(
input_array->begin(),
input_array->end(),
rocprofiler_record_counter_t{
.id = 0, .counter_value = 0, .dispatch_id = 0, .user_data = {.value = 0}},
[](auto& a, auto& b) {
return rocprofiler_record_counter_t{
.id = a.id,
.counter_value = a.counter_value + b.counter_value,
.dispatch_id = a.dispatch_id,
.user_data = {.value = 0}};
});
result = std::accumulate(input_array->begin(),
input_array->end(),
rocprofiler_record_counter_t{.id = 0,
.counter_value = 0,
.dispatch_id = 0,
.user_data = {.value = 0},
.agent_id = {.handle = 0}},
[](auto& a, auto& b) {
return rocprofiler_record_counter_t{
.id = a.id,
.counter_value = a.counter_value + b.counter_value,
.dispatch_id = a.dispatch_id,
.user_data = {.value = 0},
.agent_id = {.handle = 0}};
});
result.counter_value /= input_array->size();
break;
}
@@ -229,7 +238,8 @@ EvaluateAST::EvaluateAST(rocprofiler_counter_id_t out_id,
_static_value.push_back({.id = 0,
.counter_value = static_cast<double>(std::get<int64_t>(ast.value)),
.dispatch_id = 0,
.user_data = {.value = 0}});
.user_data = {.value = 0},
.agent_id = {.handle = 0}});
}
for(const auto& nextAst : ast.counter_set)
@@ -615,7 +625,8 @@ EvaluateAST::evaluate(
.id = a.id,
.counter_value = a.counter_value + b.counter_value,
.dispatch_id = a.dispatch_id,
.user_data = {.value = 0}};
.user_data = {.value = 0},
.agent_id = {.handle = 0}};
});
case SUBTRACTION_NODE:
return perform_op([](auto& a, auto& b) {
@@ -623,7 +634,8 @@ EvaluateAST::evaluate(
.id = a.id,
.counter_value = a.counter_value - b.counter_value,
.dispatch_id = a.dispatch_id,
.user_data = {.value = 0}};
.user_data = {.value = 0},
.agent_id = {.handle = 0}};
});
case MULTIPLY_NODE:
return perform_op([](auto& a, auto& b) {
@@ -631,7 +643,8 @@ EvaluateAST::evaluate(
.id = a.id,
.counter_value = a.counter_value * b.counter_value,
.dispatch_id = a.dispatch_id,
.user_data = {.value = 0}};
.user_data = {.value = 0},
.agent_id = {.handle = 0}};
});
case DIVIDE_NODE:
return perform_op([](auto& a, auto& b) {
@@ -639,7 +652,8 @@ EvaluateAST::evaluate(
.id = a.id,
.counter_value = (b.counter_value == 0 ? 0 : a.counter_value / b.counter_value),
.dispatch_id = a.dispatch_id,
.user_data = {.value = 0}};
.user_data = {.value = 0},
.agent_id = {.handle = 0}};
});
case ACCUMULATE_NODE:
// todo update how to read the hybrid metric