---
name: "PAPI_accum"
section: "3"
platform: "linux"
package: "libpapi-dev"
version: "7.1.0-5+b1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/PAPI_accum"
---

# PAPI\_accum(3)

Accumulate and reset counters in an EventSet.

## NAME

PAPI\_accum - Accumulate and reset counters in an EventSet.

## SYNOPSIS

## Detailed Description

**C Interface:**

\#include \<**papi.h**\> \
 int **PAPI\_accum( int  EventSet, 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.

**Parameters**

*EventSet* 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

**Return values**

*PAPI\_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
```

**See also**

**PAPIF\_accum**

**PAPI\_start**

**PAPI\_set\_opt**

**PAPI\_reset**

## Author

Generated automatically by Doxygen for PAPI from the source code.
