2
0

adding SPM test

Change-Id: I55dde52e668206e238ea860dd11e0ed5501a582a
Este cometimento está contido em:
Evgeny
2019-06-04 15:29:37 -05:00
ascendente 6d6eb2b2d0
cometimento 988283533f
4 ficheiros modificados com 16 adições e 11 eliminações
+3 -3
Ver ficheiro
@@ -435,7 +435,9 @@ class Context {
set_[group_index].Insert(profile_info_t{event, NULL, 0, info});
}
} else if (kind == ROCPROFILER_FEATURE_KIND_TRACE) { // Processing traces features
if (name != NULL) {
if (info->parameters != NULL) {
set_[0].Insert(profile_info_t{NULL, info->parameters, info->parameter_count, info});
} else {
const Metric* metric = metrics_->Get(name);
if (metric == NULL)
EXC_RAISING(HSA_STATUS_ERROR, "input metric '" << name << "' is not found");
@@ -445,8 +447,6 @@ class Context {
const counter_t* counter = counters_vec[0];
const event_t* event = &(counter->event);
set_[0].Insert(profile_info_t{event, NULL, 0, info});
} else {
set_[0].Insert(profile_info_t{NULL, info->parameters, info->parameter_count, info});
}
} else {
EXC_RAISING(HSA_STATUS_ERROR, "bad rocprofiler feature kind (" << kind << ")");
+8 -5
Ver ficheiro
@@ -248,12 +248,15 @@ class TraceProfile : public Profile {
}
void Insert(const profile_info_t& info) {
Profile::Insert(info);
if (info.event != NULL) {
if (info.parameters != NULL) {
Profile::Insert(info);
for (unsigned j = 0; j < info.parameter_count; ++j) {
Config<parameter_t>(&profile_).Insert(info.parameters[j]);
}
} else if (info.event != NULL) {
Config<event_t>(&profile_).Insert(*(info.event));
}
for (unsigned j = 0; j < info.parameter_count; ++j) {
Config<parameter_t>(&profile_).Insert(info.parameters[j]);
} else {
EXC_ABORT(HSA_STATUS_ERROR, "invalid trace info inserted");
}
}
+3 -3
Ver ficheiro
@@ -109,12 +109,12 @@ eval_test "'rocprof' libtool test n-threads" ./test/ctrl
## SPM test
export ROCP_KITER=1
export ROCP_DITER=1
export ROCP_KITER=3
export ROCP_DITER=3
export ROCP_AGENTS=1
export ROCP_THRS=1
export ROCP_INPUT=spm_input.xml
xeval_test "libtool test, SPM trace test" ./test/ctrl
eval_test "libtool test, SPM trace test" ./test/ctrl
## Libtool test, counter sets
+2
Ver ficheiro
@@ -435,6 +435,7 @@ void output_results(const context_entry_t* entry, const char* label) {
break;
}
default:
if (is_spm_trace) continue;
fprintf(stderr, "RPL-tool: undefined data kind(%u)\n", p->data.kind);
abort();
}
@@ -1046,6 +1047,7 @@ extern "C" PUBLIC_API void OnLoadToolProp(rocprofiler_settings_t* settings)
features[index] = {};
features[index].kind = ROCPROFILER_FEATURE_KIND_TRACE;
features[index].data.result_bytes.copy = to_copy_data;
features[index].name = strdup(name.c_str());
uint32_t parameter_count = 0;
for (const auto* node : entry->nodes) {