|
  PAPIC:PAPI remove event.3
| |
ViewsFrom PAPIDocs
NAME
SynopsisC Interface #include <papi.h> int PAPI_remove_event(int EventSet, int EventCode ); int PAPI_remove_events(int EventSet, int * EventCode, int number ); Fortran Interface #include fpapi.h PAPIF_remove_event(C_INT EventSet, C_INT EventCode, C_INT check ) PAPIF_remove_events(C_INT EventSet, C_INT(*) EventCode, C_INT number, C_INT check ) DescriptionPAPI_remove_event() removes a hardware event to a PAPI event set. PAPI_remove_events() does the same, but for an array of hardware event codes. 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 (3) or run the avail test case in the PAPI distribution. PAPI Presets can be passed to PAPI_query_event (3) 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 (3) to learn how to generate native code for the supported native event on the underlying architecture." It should be noted that PAPI_remove_events can partially succeed, exactly like PAPI_add_events. ArgumentsEventSet -- an integer handle for a PAPI event set as created by PAPI_create_eventset (3) EventCode -- a defined event such as PAPI_TOT_INS or a native event. *EventCode -- an array of defined events number -- an integer indicating the number of events in the array *EventCode ErrorsPositive 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. Examplesint 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); /* Start counting */ if (PAPI_start(EventSet) != PAPI_OK) handle_error(1); /* Stop counting, ignore values */ if (PAPI_stop(EventSet, NULL) != PAPI_OK) handle_error(1); /* Remove event */ if (PAPI_remove_event(EventSet, PAPI_TOT_INS) != PAPI_OK) handle_error(1); BugsThe vector function should take a pointer to a length argument so a proper return value can be set upon partial success. See AlsoPAPI_cleanup_eventset(3), PAPI_destroy_eventset(3), PAPI_event_name_to_code(3), PAPI_presets(3), PAPI_add_event(3), PAPI_add_events(3) |