papi_create_eventset(3) - Linux man page

Name

PAPI_create_eventset - create an EventSet

Synopsis

C Interface
#include <papi.h>PAPI_create_eventset (int *EventSet);
Fortran Interface
#include "fpapi.h"PAPIF_create_eventset(C_INT EventSet, C_INT check)

Description

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(3) 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(3) or implicitly by calling papi_add_event(3) or similar routines.

Arguments

EventSet -- Address of an integer location to store the new EventSet handle

Return Values

On success, this function returns
PAPI_OK. On error, a non-zero error code is returned.

Errors

PAPI_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);

Bugs

This function has no known bugs.

See Also

papi_destroy_eventset(3), papi_cleanup_eventset(3), papi_add_event(3), papi_assign_eventset_component(3)

Referenced By

papi_detach(3), papi_get_opt(3), papi_get_overflow_event_index(3), papi_list_events(3), papi_num_events(3), papi_overflow(3), papi_read(3), papi_remove_events(3), papi_reset(3), papi_set_domain(3), papi_set_granularity(3), papi_set_multiplex(3), papi_start_counters(3), papi_state(3), papi_stop(3), papi_write(3)