CInterface:
#include <papi.h>
PAPI_create_eventset(int*EventSet);
PAPI_create_eventset creates a new EventSet pointed to by EventSet, which must be initialized to
PAPI_NULL before calling this routine. The user may then add hardware events to the event set by calling
PAPI_add_event or similar routines.
Note
PAPI-C uses a late binding model to bind EventSets to components. When an EventSet is first created
it is not bound to a component. This will cause some API calls that modify EventSet options to fail.
An EventSet can be bound to a component explicitly by calling PAPI_assign_eventset_component or
implicitly by calling PAPI_add_event or similar routines.
Parameters*EventSet Address of an integer location to store the new EventSet handle.
ExceptionsPAPI_EINVAL The argument handle has not been initialized to PAPI_NULL or the argument is a NULL
pointer.
PAPI_ENOMEM Insufficient memory to complete the operation.
Examples:
int EventSet = PAPI_NULL;
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 );
SeealsoPAPI_add_eventPAPI_assign_eventset_componentPAPI_destroy_eventsetPAPI_cleanup_eventset