PAPI3:PAPI read counters.3
From PAPIDocs
Jump to: navigation, search


Contents

NAME

  • PAPI_read_counters - PAPI High Level: read and reset counters
  • PAPI_accum_counters - PAPI High Level: accumulate and reset counters

Synopsis

C Interface

#include <papi.h>
int PAPI_read_counters( long long * values, int  array_len );
int PAPI_accum_counters( long long * values, int  array_len );

Fortran Interface

#include "fpapi.h"
PAPIF_read_counters( C_LONG_LONG(*)  values,  C_INT  array_len,  C_INT  check )
PAPIF_accum_counters( C_LONG_LONG(*)  values,  C_INT  array_len,  C_INT  check )

Description

PAPI_read_counters() copies the event counters into the array *values. The counters are reset and left running after the call.

PAPI_accum_counters() adds the event counters into the array *values. The counters are reset and left running after the call.

These calls assume an initialized PAPI library and a properly added event set.

Arguments

*values -- an array to hold the counter values of the counting events

array_len -- the number of items in the *events array

Errors

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.

Examples

do_100events();
if (PAPI_read_counters(values, num_hwcntrs) != PAPI_OK)
handle_error(1);
/* values[0] now equals 100 */
do_100events();
if (PAPI_accum_counters(values, num_hwcntrs) != PAPI_OK)
handle_error(1);
/* values[0] now equals 200 */
values[0] = -100;
do_100events();
if (PAPI_accum_counters(values, num_hwcntrs) != PAPI_OK)
handle_error(1);
/* values[0] now equals 0 */

Bugs

These functions have no known bugs.

See Also

PAPI(3), PAPIF(3), PAPI_set_opt(3), PAPI_start_counters(3)