PAPI_add_events(3)
π
PAPI_add_events(3) β the PAPI manual, bestie edition π
okay so welcome to the PAPI_add_events(3) page from the PAPI manual. This is the one where you add multiple PAPI presets or native hardware events to an event set. Itβs giving βbatch mode but make it cuteβ β¨.
πΈ NAME πΈ
PAPI_add_events β add multiple PAPI presets or native hardware events to an event set. periodt π.
β¨ SYNOPSIS β¨
π Detailed Description π
π C Interface π
#include <papi.h>
int PAPI_add_events( int EventSet, int * EventCodes, int number );
Lowkey the whole lore: PAPI_add_event adds one event to a PAPI Event Set. PAPI_add_events does the same, but for an array of events. Itβs the group-chat version vs. the solo text, iykyk π«Ά.
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 avail test case 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 native_avail test case in the PAPI distribution. For the encoding of native events, see PAPI_event_name_to_code to learn how to generate native code for the supported native event on the underlying architecture. No cap, thatβs the whole map πΊοΈ.
π Parameters π
EventSetβ An integer handle for a PAPI Event Set as created byPAPI_create_eventset.*EventCodeβ An array of defined events.numberβ An integer indicating the number of events in the array*EventCode. It should be noted thatPAPI_add_eventscan partially succeed, exactly likePAPI_remove_events. bestie, partial success is real, so check that return value π.
π₯ Return values π₯
- Positive-Integer β The number of consecutive elements that succeeded before the error. Slay for the ones that made it, but the number matters.
PAPI_EINVALβ One or more of the arguments is invalid.PAPI_ENOMEMβ Insufficient memory to complete the operation.PAPI_ENOEVSTβ The event set specified does not exist.PAPI_EISRUNβ The event set is currently counting events.PAPI_ECNFLCTβ The underlying counter hardware can not count this event and other events in the event set simultaneously.PAPI_ENOEVNTβ The PAPI preset is not available on the underlying hardware.PAPI_EBUGβ Internal error, please send mail to the developers. yeah, thatβs a βhey devsβ moment π.
π¦ Examples π¦
int 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 );
// Add native event PM_CYC to EventSet
if ( PAPI_event_name_to_code( "PM_CYC", &native ) != PAPI_OK )
handle_error( 1 );
if ( PAPI_add_event( EventSet, native ) != PAPI_OK )
handle_error( 1 );
π See also π
PAPI_cleanup_eventsetPAPI_destroy_eventsetPAPI_event_code_to_namePAPI_remove_eventsPAPI_query_eventPAPI_presetsPAPI_nativePAPI_remove_event
π Author π
Generated automatically by Doxygen for PAPI from the source code. iconic automation behavior π .
Version 7.2.0.0, dated Wed Jun 25 2025 19:30:48 β mwah, catch u in PAPI_add_events(3) π«Άπ
π¦ where this page comes from
- nixos 26.05: papi 7.2.0
- nixpkgs unstable: papi 7.2.0
- opensuse-leap 16.0: papi-devel 7.2.0-160000.2.2 Β· BSD-3-Clause
- opensuse-leap 16.0: papi-devel 7.2.0-160000.2.2 Β· BSD-3-Clause
- opensuse-leap 16.0: papi-devel 7.2.0-160000.2.2 Β· BSD-3-Clause
- ubuntu resolute: libpapi-dev 7.2.0-2 Β· BSD-3-Clause
- ubuntu stonking: libpapi-dev 7.2.0-2 Β· BSD-3-Clause
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms