int event_set = smpi_process()->papi_event_set();
// PAPI_start sets everything to 0! See man(3) PAPI_start
if (PAPI_LOW_LEVEL_INITED == PAPI_is_initialized() && event_set && PAPI_start(event_set) != PAPI_OK) {
- // TODO This needs some proper handling.
- XBT_CRITICAL("Could not start PAPI counters.\n");
- xbt_die("Error.");
+ xbt_die("Could not start PAPI counters (TODO: this needs some proper handling).");
}
}
#endif
int event_set = smpi_process()->papi_event_set();
std::vector<long long> event_values(counter_data.size());
- if (event_set && PAPI_stop(event_set, &event_values[0]) != PAPI_OK) { // Error
- XBT_CRITICAL("Could not stop PAPI counters.\n");
- xbt_die("Error.");
- } else {
- for (unsigned int i = 0; i < counter_data.size(); i++) {
- counter_data[i].second += event_values[i];
- }
- }
+ if (event_set && PAPI_stop(event_set, &event_values[0]) != PAPI_OK) // Error
+ xbt_die("Could not stop PAPI counters.");
+ for (unsigned int i = 0; i < counter_data.size(); i++)
+ counter_data[i].second += event_values[i];
}
#endif