PAPI_remove_events(3)

πŸ’– NAME πŸ’–

okay so this is PAPI_remove_events(3) from the PAPI manual, and the whole vibe is: remove an array of hardware event codes from a PAPI event set. Periodt. πŸ’…


✨ SYNOPSIS ✨

🌸 Detailed Description 🌸

A hardware event can be either a PAPI Preset or a native hardware event code. No cap.

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 the current platform, run papi_native_avail in the PAPI distribution.

⚠️ important, bestie: it should be noted that PAPI_remove_events can partially succeed, exactly like PAPI_add_events. So don't assume all-or-nothing energy here.

🧚 C Prototype: 🧚

#include <papi.h>
 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 β€” the page lists it here with no extra description, so we're not inventing one πŸ™ˆ.

πŸ“ 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.

πŸ”₯ 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.


okay that's the whole page. This footer energy: PAPI version 7.2.0.0, dated Wed Jun 25 2025 19:30:48. Bye bestie, go remove those events πŸ’œβœ¨