PAPI_add_events(3) PAPI PAPI_add_events(3)NAMEPAPI_add_events-
add multiple PAPI presets or native hardware events to an event set
SYNOPSISDetailed Description
C Interface:
#include <papi.h>
int PAPI_add_events( int EventSet, int * EventCodes, int number
);
PAPI_add_event adds one event to a PAPI Event Set. PAPI_add_events does
the same, but for an array of events.
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 native_avail test case 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.
Parameters:
EventSet An integer handle for a PAPI Event Set as created by
PAPI_create_eventset.
*EventCode An array of defined events.
number An integer indicating the number of events in the array
*EventCode. It should be noted that PAPI_add_events can partially
succeed, exactly like PAPI_remove_events.
Return values:
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.
Examples:
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 );
See also:
PAPI_cleanup_eventset
PAPI_destroy_eventset
PAPI_event_code_to_name
PAPI_remove_events
PAPI_query_event
PAPI_presets
PAPI_native
PAPI_remove_event
Author
Generated automatically by Doxygen for PAPI from the source code.
Version 5.1.1.0 Tue May 21 2013 PAPI_add_events(3)