table of contents
PAPI_remove_events(3) | PAPI | PAPI_remove_events(3) |
NAME¶
PAPI_remove_events - Remove an array of hardware event codes from a PAPI event set.
SYNOPSIS¶
Detailed Description¶
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 papi_avail utility 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 papi_native_avail in the PAPI distribution. It should be noted that PAPI_remove_events can partially succeed, exactly like PAPI_add_events.
C Prototype:
#include <papi.h>
int PAPI_remove_events( int EventSet, int * EventCode, int number );
int PAPI_remove_events( int EventSet, int * EventCode, int number );
Parameters
EventSet an integer handle for a PAPI event set as
created by PAPI_create_eventset
*Events an array of defined events
number an integer indicating the number of events in the array *EventCode
*Events an array of defined events
number an integer indicating the number of events in the array *EventCode
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_ENOEVST The EventSet specified does not exist.
PAPI_EISRUN The EventSet is currently counting events.
PAPI_ECNFLCT The underlying counter hardware can not count this event and other events in the EventSet simultaneously.
PAPI_ENOEVNT The PAPI preset is not available on the underlying hardware.
PAPI_EINVAL One or more of the arguments is invalid.
PAPI_ENOEVST The EventSet specified does not exist.
PAPI_EISRUN The EventSet is currently counting events.
PAPI_ECNFLCT The underlying counter hardware can not count this event and other events in the EventSet simultaneously.
PAPI_ENOEVNT The PAPI preset is not available on the underlying hardware.
Example:
int EventSet = PAPI_NULL; int Events[] = {PAPI_TOT_INS, PAPI_FP_OPS}; int ret;
// Create an empty EventSet ret = PAPI_create_eventset(&EventSet); if (ret != PAPI_OK) handle_error(ret); // Add two events to our EventSet ret = PAPI_add_events(EventSet, Events, 2); if (ret != PAPI_OK) handle_error(ret); // Start counting ret = PAPI_start(EventSet); if (ret != PAPI_OK) handle_error(ret); // Stop counting, ignore values ret = PAPI_stop(EventSet, NULL); if (ret != PAPI_OK) handle_error(ret); // Remove event ret = PAPI_remove_events(EventSet, Events, 2); if (ret != PAPI_OK) handle_error(ret);
See also
PAPI_cleanup_eventset PAPI_destroy_eventset
PAPI_event_name_to_code PAPI_presets PAPI_add_event
PAPI_add_events
Author¶
Generated automatically by Doxygen for PAPI from the source code.
Fri Nov 17 2023 | Version 6.0.0.0 |