|
PAPI
5.0.1.0
|
add PAPI preset or native hardware event to an event set More...
PAPI_add_event adds one event to a PAPI Event Set.
A hardware event can be either a PAPI preset or a native hardware event code. For a list of PAPI preset events, see PAPI_presets or run the avail test case in the PAPI distribution. PAPI presets can be passed to PAPI_query_event to see if they exist on the underlying architecture. For a list of native events available on current platform, run the papi_native_avail utility in the PAPI distribution. For the encoding of native events, see PAPI_event_name_to_code to learn how to generate native code for the supported native event on the underlying architecture.
| EventSet | An integer handle for a PAPI Event Set as created by PAPI_create_eventset. |
| EventCode | A defined event such as PAPI_TOT_INS. |
| Positive-Integer | The number of consecutive elements that succeeded before the error. |
| PAPI_EINVAL | One or more of the arguments is invalid. |
| PAPI_ENOMEM | Insufficient memory to complete the operation. |
| PAPI_ENOEVST | The event set specified does not exist. |
| PAPI_EISRUN | The event set is currently counting events. |
| PAPI_ECNFLCT | The underlying counter hardware can not count this event and other events in the event set simultaneously. |
| PAPI_ENOEVNT | The PAPI preset is not available on the underlying hardware. |
| PAPI_EBUG | Internal error, please send mail to the developers. |
int EventSet = PAPI_NULL; unsigned int native = 0x0; if ( PAPI_create_eventset( &EventSet ) != PAPI_OK ) handle_error( 1 ); // Add Total Instructions Executed to our EventSet if ( PAPI_add_event( EventSet, PAPI_TOT_INS ) != PAPI_OK ) handle_error( 1 ); // Add native event PM_CYC to EventSet if ( PAPI_event_name_to_code( "PM_CYC", &native ) != PAPI_OK ) handle_error( 1 ); if ( PAPI_add_event( EventSet, native ) != PAPI_OK ) handle_error( 1 );