CInterface:
#include <papi.h>
int PAPI_accum(intEventSet,long_long*values);
These calls assume an initialized PAPI library and a properly added event set. PAPI_accum adds the
counters of the indicated event set into the array values. The counters are zeroed and continue counting
after the operation. Note the differences between PAPI_read and PAPI_accum, specifically that PAPI_accum
resets the values array to zero.
ParametersEventSet an integer handle for a PAPI Event Set as created by PAPI_create_eventset*values an array to hold the counter values of the counting events
ReturnvaluesPAPI_EINVAL One or more of the arguments is invalid.
PAPI_ESYS A system or C library call failed inside PAPI, see the errno variable.
PAPI_ENOEVST The event set specified does not exist.
Examples:
do_100events( );
if ( PAPI_read( EventSet, values) != PAPI_OK )
handle_error( 1 );
// values[0] now equals 100
do_100events( );
if (PAPI_accum( EventSet, values ) != PAPI_OK )
handle_error( 1 );
// values[0] now equals 200
values[0] = -100;
do_100events( );
if (PAPI_accum( EventSet, values ) != PAPI_OK )
handle_error( 1 );
// values[0] now equals 0
SeealsoPAPIF_accumPAPI_startPAPI_set_optPAPI_reset